Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Wins in Data Engineering

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Wins in Data Engineering

Avatar for Juhi Singh

Juhi Singh

June 06, 2018

More Decks by Juhi Singh

Other Decks in Technology

Transcript

  1. We envision a world where anyone, anywhere can transform their

    life by accessing the world’s best learning experience.
  2. 15 User Activity Collect Curate Capitalize Extract, Load Transform In-Platform

    Dashboards User Recommendations Research Exports Coursera Data Flow Third Party Tools Event Feeds Amazon S3 Cassandra DW - Redshift
  3. 16 User Activity Collect Curate Capitalize Transform In-Platform Dashboards User

    Recommendations Research Exports Coursera Data Flow Third Party Tools Event Feeds Amazon S3 Cassandra DW - Redshift DW - Redshift Extract, Load
  4. 17 User Activity Collect Curate Capitalize Transform In-Platform Dashboards User

    Recommendations Research Exports Coursera Data Flow Third Party Tools Event Feeds Amazon S3 Cassandra DW - Redshift DW - Redshift Extract, Load
  5. 20 User Activity Collect Curate Capitalize Transform In-Platform Dashboards User

    Recommendations Research Exports Coursera Data Flow Third Party Tools Event Feeds Amazon S3 Cassandra DW - Redshift DW - Redshift Extract, Load
  6. 23 User Activity Collect Curate Capitalize Transform In-Platform Dashboards User

    Recommendations Research Exports One and Only One Third Party Tools Event Feeds Amazon S3 Cassandra DW - Redshift DW - Redshift Extract, Load
  7. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 Level-0 Level-1 Level-2 Level-3 Table-10 Schema Hierarchy
  8. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 staging prod core reporting Table-10 Schema Hierarchy
  9. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events staging.s3_degrees staging.gsheet_deadlines staging.mega_users staging staging.* schema - Get data into EDW - Table name implied source - staging.mysql_* - staging.s3_* - No PK, FK constraints - Managed by - Product Engineers - Data Infra Engineers - Data Engineers - Data Scientists Schema Hierarchy
  10. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 prod.users prod.courses prod.course_domains Table-1 prod.transactions prod.course_branches staging prod prod.* schema - Sensible Data - 3NF - PK, FK constrained - Globally unique column names - Strict naming conventions - Managed by - Data Engineers - Product Engineers Schema Hierarchy
  11. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 core.courses Table-1 Table-6 Table-7 staging prod core core.course_enrollments core.* schema - Standardized - Aggregated - Denormalized* - PK constrained - Documented - Grain-specific - User Friendly - Managed by - Data Engineers Schema Hierarchy core.user_course_items
  12. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum reporting.daily_enrollments reporting.recruitment_metrics reporting.app_leads reporting.course_drops reporting reporting.* schema - External - Super-fat - Super-efficient - “No Join” - Use-case specific - Only powered through core - Managed by - Data Engineers Schema Hierarchy
  13. There should be one, and only one obvious way to

    do it One obvious way of Transforming your data Structuring your data Labeling your data
  14. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM 7:00 AM 8:00 AM 9:00 AM Table-10 staging prod core reporting Scheduled Workflow
  15. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM 7:00 AM 8:00 AM 9:00 AM Table-10 Scheduled Workflow
  16. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM 7:00 AM 8:00 AM 9:00 AM Table-10 Scheduled Workflow
  17. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM 7:00 AM 8:00 AM 9:00 AM Table-10 Scheduled Workflow ?
  18. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM 8:05 AM Table-10 staging prod core reporting User Events Dependent Workflow
  19. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM Table-10 Dependent Workflow
  20. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM Table-10 Dependent Workflow
  21. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM Table-10 Dependent Workflow
  22. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM Table-10 Dependent Workflow
  23. Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum

    Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum User Events Table-2 Table-3 Table-4 Table-5 Table-8 Table-9 Table-11 Table-1 Table-12 Table-13 Table-14 Table-15 Table-6 Table-7 6:00 AM Table-10 Dependent Workflow
  24. 1. Root Jobs a. Jobs without upstream dependencies b. Invoked

    at certain scheduled time Workflow Management Scheduled Jobs a. Jobs with upstream dependencies b. Invoked only if upstream have finished running
  25. 1. Root Jobs a. Jobs without upstream dependencies b. Invoked

    at certain scheduled time Workflow Management 2. Dependent Jobs a. Jobs with upstream dependencies b. Invoked only if upstream have finished running
  26. 1. You will “own” a table if you a. Create

    a table b. Modify a table c. Schedule its job 2. Notified when a. Health Check Fails b. Dropped c. Stale d. Not documented Table Ownerships
  27. Errors should never pass silently Workflow Management is your friend

    Assign Table Owners Automate Table Health Checks Integrate Notifications
  28. 1. There should be only ???, and preferably only ???

    way of doing it Fill in the Blanks!
  29. Fill in the Blanks! 1. There should be only one,

    and preferably only one way of doing it Standardize Schema Hierarchy → Transform your Data Enforce Schema Modeling Principles → Structure your Data Field Naming Conventions → Label your Data Fill in the Blanks!
  30. 2. Errors should never pass silently Workflow Management Assign Table

    Owners Automate Table Health Checks Integrate Notifications Fill in the Blanks! Fill in the Blanks!