Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Inside the Alteryx Engine: How It All Works

148 views

Published on

Do you want to know what actually goes on behind the scenes when you press that run button? Ever wonder how the magic happens or how Designer communicates with the Alteryx Engine? Learn the answers to all the questions about the Alteryx Engine including how it processes records. Leave this session understanding what makes the Alteryx Engine architecture so efficient at processing data.

Adam Riley - Principal Software Engineer, Alteryx

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Inside the Alteryx Engine: How It All Works

  1. 1. # A L T E R Y X 1 9@ A L T E R Y X A D PRESENTED BY INSIDE THE ALTERYX ENGINE: HOW IT ALL WORKS Adam Riley Principal Software Engineer, Alteryx ariley@alteryx.com
  2. 2. # A L T E R Y X 1 9@ A L T E R Y X A D 2 With Alteryx, I can change the world ADAM RILEY When I use Alteryx, I feel “It's a love story” Love Story, Taylor Swift A L T E R Y X U S E R S I N C E 2 0 0 7 “We were both young when I first saw you”
  3. 3. # A L T E R Y X 1 9@ A L T E R Y X A D FORWARD-LOOKING STATEMENTS This presentation includes “forward-looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995. These forward-looking statements may be identified by the use of terminology such as “believe,” “may,” “will,” “intend,” “expect,” “plan,” “anticipate,” “estimate,” “potential,” or “continue,” or other comparable terminology. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product availability, growth and financial metrics and any statements regarding product roadmaps, strategies, plans or use cases. Although Alteryx believes that the expectations reflected in any of these forward-looking statements are reasonable, these expectations or any of the forward-looking statements could prove to be incorrect, and actual results or outcomes could differ materially from those projected or assumed in the forward-looking statements. Alteryx’s future financial condition and results of operations, as well as any forward-looking statements, are subject to risks and uncertainties, including but not limited to the factors set forth in Alteryx’s press releases, public statements and/or filings with the Securities and Exchange Commission, especially the “Risk Factors” sections of Alteryx’s Quarterly Report on Form 10-Q. These documents and others containing important disclosures are available at www.sec.gov or in the “Investors” section of Alteryx’s website at www.alteryx.com. All forward-looking statements are made as of the date of this presentation and Alteryx assumes no obligation to update any such forward-looking statements. Any unreleased services or features referenced in this or other presentations, press releases or public statements are only intended to outline Alteryx’s general product direction. They are intended for information purposes only, and may not be incorporated into any contract. This is not a commitment to deliver any material, code, or functionality (which may not be released on time or at all) and customers should not rely upon this presentation or any such statements to make purchasing decisions. The development, release, and timing of any features or functionality described for Alteryx’s products remains at the sole discretion of Alteryx.
  4. 4. # A L T E R Y X 1 9@ A L T E R Y X A D 4 TODAY’S AGENDA 1. What is the Engine? 2. What does it do? 3. How does it communicate? 4. How does it process data?
  5. 5. # A L T E R Y X 1 9@ A L T E R Y X A D WHAT IS THE ENGINE?
  6. 6. # A L T E R Y X 1 9@ A L T E R Y X A D 6 FACTS ABOUT ENGINE BUILT BY ALTERYX Not an open source data engine Proprietary IP of Alteryx IN HOUSE KEY PHILOSOPHIES Designer is ease of use Engine is performance PERFORMANCE NO OTHER CHOICE Games developers High frequency traders all use C++ No other language gets you closer to the “metal” C++
  7. 7. # A L T E R Y X 1 9@ A L T E R Y X A D 7 WHAT DOES IT DO?
  8. 8. # A L T E R Y X 1 9@ A L T E R Y X A D WHAT DOES IT DO? RUNS WORKFLOWS PROVIDES METADATA When a user clicks the “Run” button, it is engine that does the work. Runs zero record configuration runs, as a user builds their workflow, to provide field information for downstream tools. When a user edits a formula in any alteryx tool, provides feedback on errors. PARSE FORMULA
  9. 9. # A L T E R Y X 1 9@ A L T E R Y X A D 9 COMMUNICATION XML AND CALLBACKS
  10. 10. # A L T E R Y X 1 9@ A L T E R Y X A D HOW DOES IT COMMUNICATE? 10 AlteryxEngineCmd UserCode XML API Base Library Tool Execution Plugins C++ SDK C# SDK JS SDK Engine MacrosStatus Messages Input Data Settings Sorting Join Select Strings Summarize Formula In DB R Plugin . . . . . . Select Join Charting Salesforce AdobeFormulas Temp Files Internationalization . . . Analytic Apps Browse Everywhere Pi AlteryxRDataX (GPL) R.exe Pipe . . . Public Tools* XML Parser Tool Configuration Plugins C# SDK JS SDK Designer App / Macro Builder (Interface tools) XML Parser Salesforce Marketo Settings Browse Everywhere Input Data Join SelectSummarize Formula . . . Workflow Editor Server Client HTML/JS Front End Front End Controller Worker Mongo
  11. 11. # A L T E R Y X 1 9@ A L T E R Y X A D “JUST” AN XML EDITOR 11
  12. 12. # A L T E R Y X 1 9@ A L T E R Y X A D 12 MOVING THE DATA
  13. 13. # A L T E R Y X 1 9@ A L T E R Y X A D RESOURCES 13
  14. 14. # A L T E R Y X 1 9@ A L T E R Y X A D HOW DOES IT PROCESS DATA? MAYBE? 14 1 2 3 1 2 3 1 2 3 1 2 3
  15. 15. # A L T E R Y X 1 9@ A L T E R Y X A D HOW DOES IT PROCESS DATA? MAYBE? 15 1 2 3 1 2 3
  16. 16. # A L T E R Y X 1 9@ A L T E R Y X A D HOW DOES IT PROCESS DATA? 16 1 2 3 1 2 3 1 2 3 1 2 3
  17. 17. # A L T E R Y X 1 9@ A L T E R Y X A D HOW DOES IT PROCESS DATA? 17 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
  18. 18. # A L T E R Y X 1 9@ A L T E R Y X A D HOW DOES IT PROCESS DATA? 18 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
  19. 19. # A L T E R Y X 1 9@ A L T E R Y X A D HOW DOES IT PROCESS DATA? THREADS 19 1 2 3 1 1 1 1 1 Main Thread Main Thread Main Thread Background Thread Another Background Thread
  20. 20. # A L T E R Y X 1 9@ A L T E R Y X A D 20
  21. 21. # A L T E R Y X 1 9@ A L T E R Y X A D JOINS 21
  22. 22. # A L T E R Y X 1 9@ A L T E R Y X A D 22 EADC CBAD EADC
  23. 23. # A L T E R Y X 1 9@ A L T E R Y X A D 23 CBAD EADC
  24. 24. # A L T E R Y X 1 9@ A L T E R Y X A D 24 CBAD EADC
  25. 25. # A L T E R Y X 1 9@ A L T E R Y X A D 25 CBAD AECD
  26. 26. # A L T E R Y X 1 9@ A L T E R Y X A D 26 CBAD ACDE CBAD
  27. 27. # A L T E R Y X 1 9@ A L T E R Y X A D 27 ACDE ABCD
  28. 28. # A L T E R Y X 1 9@ A L T E R Y X A D 28 A CDE A BCD A A
  29. 29. # A L T E R Y X 1 9@ A L T E R Y X A D 29 CDE BCD A A B
  30. 30. # A L T E R Y X 1 9@ A L T E R Y X A D 30 CDE CD A A B C C
  31. 31. # A L T E R Y X 1 9@ A L T E R Y X A D 31 DE D A A B C C D D
  32. 32. # A L T E R Y X 1 9@ A L T E R Y X A D 32 E A A B C C D D E
  33. 33. # A L T E R Y X 1 9@ A L T E R Y X A D 33 HOW ENGINE WORKS FIVE KEY POINTS Designer is “just” an XML editor The main data pump of the engine is single threaded Keeping the data in RAM makes things much faster Where possible the engine keeps records moving through the workflow Some tools (Sort/Join etc) are blocking but multi-threaded 1 2 4 5 3
  34. 34. # A L T E R Y X 1 9@ A L T E R Y X A D COMPLETE SESSION SURVEYS ATTENTION 34 You were handed a survey as you entered the room. It should take less than 2 minutes to complete Please return your completed surveys B E F O R E YO U L E AV E the room Surveys are anonymous, and we rely on your opinion for improvement
  35. 35. # A L T E R Y X 1 9@ A L T E R Y X A D 35 QUESTIONS
  36. 36. # A L T E R Y X 1 9@ A L T E R Y X A D BEFORE YOU LEAVE ATTENTION 36 B E F O R E YO U L E AV E … please take a moment to complete your evaluation survey. Hand it to the room monitors on your way out.
  37. 37. # A L T E R Y X 1 9@ A L T E R Y X A D THANK YOU ariley@alteryx.com 37 (720) 259-0606 ADAM RILEY

×