The Fifth Elephant 2019

The eighth edition of India's best data conference

Participate

Building Robust, Reliable Data Pipelines

Submitted by Agam Jain (@agamjain) on Monday, 15 April 2019


Preview video

Session type: Short talk of 20 mins

View proposal in schedule

Abstract

This talk is about sharing our learnings and some best practices we have built over the years working with massive volume and every changing schema of data.
What we are not going to discuss is specifics of what actually technological choices we made. Or, how we scaled out system 10x year on year. Or, how we brought down the latency in processing of our data to half.
Zapr has profiled millions of users for tv consumption and in part we had to build our data processing pipeline from scratch. Initially, We started off doing it all the wrong way first by adding fields over time. As a results it came to a point where it was impossible to manage or keep track of fields that were present in data. Core concept in this talk is around how we should model the data flowing in the pipelines and the advantages it gives both from a Business as well as a technical perspective.
This talk should help anyone new into building data processing pipelines in their organization to be future proof and vary of pitfalls when dealing with data schemas which are evolving
Folks who are already doing it and have built expertise around it will be able to relate and get another perspective on how to manage data flowing in their pipelines

Outline

The flow would look like this

  • The Need for a Message Bus in building a data processing pipeline
  • For the events generated in the Message Bus, the need for a contract for data control (with examples of showing how we messed up and learnt from it).
    • explain in more detail of what a contract is
    • how it can be implemented
      • starts with hierarchical modeling of data. relations between objects
      • what are tools other there to store this complex relationship between entites
  • Discuss the gains from implementing contract control for any data that flows in the data pipeline

    • from a business perspective of improving business logic, joining with other data sets
    • from a technological ease -
  • Schema extendibility of fields in data,
  • predictability of development,
  • back dated processing - backward and forward compatibility
  • Able to break down pipeline by responsibility - teams can work on different component of the pipeline - Implementing the above for multi step data processing (enrichment)

Additional Advantages * Cost wise * Data cleaning * Data consistency * Linear pipeline

Speaker bio

I work as a Tech Architect at zapr. Working closely with data engineering teams and more specifically drive initiatives to help improve the quality of the data. In my spare time i like to read about how lot of different organizations are solving new type of problems, listen to lot of podcasts and watch football

Slides

https://docs.google.com/presentation/d/1Od3v3QXATHUXRhREIEwjoRhEmuh75P5uVy_8E5_yJgo/edit?usp=sharing

Preview video

https://youtu.be/iGei4StPYro

Comments

  • Zainab Bawa (@zainabbawa) Reviewer a month ago

    Recapping the review points from the rehearsal:

    1. Title is very broad. But the talk covers a very specific problem. Change the title of the talk.
    2. Introduction is good.
    3. Problem statement is good. But the deep dive into solution was shallow. This needs fixing.
    4. Takeaways can be enhanced by giving anecdotes of success and failures in your journey. These needn’t be part of your slides, but they are stories you intersperse between your talk.
    5. The talk has to be converted into a war story in terms of explaining what were the challenges you faced at every stage, how did your team take to the engineering and architecture at every iteration, and how has the system evolved in the way that it has.
    6. Compare the infrastructure you have built with other possible options. Show us nuances such as costs, trade-offs, and why, for instance, you haven’t chosen tools such as RabbitMQ.

    Next steps: incorporate the above feedback to move your talk into a more experience case study – with thick details. Revised slides are due on 23 May. Slides have to be uploaded here.

  • Venkata Pingali (@pingali) 19 days ago

    Hi! Agam,

    The slides look improved. I still think we need to make
    the problem a little more tangible to be absorbed by
    the audience. A few thoughts:

    1. Can you take an event so that you can show the audience, impact each of the issues you mention on Slide 13?
    2. Can you give a sense of flows (how many events? How much is the debugging time if there is a bug?)
    3. What does the system architecture look like? What is at development time and what is at run time? What is the logical flow of the event?
    4. Some points need explanation (e.g., dead letter queue - What happens to this messages in this queue? batch reprocessing - how does that subsystem look?)
    5. There is an underlying “cost model” of message processing. You hint in phrases like ‘do costlier enrichment earlier..’. Can you extract and articulate it?

    Presentation:

    1. Please add slide numbers
    2. Prefer phrases over sentences e.g., slide 32
      “Tagging the thrift IDL file extensively with the systems which do this enrichment can be a simple solution to knowing the lineage” can be rewritten as “Use Thrift IDL tagging to create lineage”
  • Krishnapriya Satagopan (@krishnapriyasatagopan) 19 days ago

    The presentation slides look much better now. The introduction is good. I agree with the above feedback and just have few points to add:
    – The initial slides that talk about pipelines in general can be reduced to just two slides (As the pipelining concept is now more familiar to people) and challenges, solution part can be elaborated more.
    – The challenges can have some examples and also on how challenging it was for you - Story of your experience
    – The solution can have a little more deep dive. If slides 17, 18 and 19 will have more talking, can there be highlights alone in the slides - some strong phrases and visuals may be?
    – Overall there needs to be more specificity.

  • Agam Jain (@agamjain) Proposer 18 days ago

    thanks a lot venkat and krishnapriya for the comments,
    i am planning to update the slides by monday with most of the recommendations
    also, some of the points mentioned can be covered at delivery, meanwhile..i’ll try to add graphic aspect as well

  • Agam Jain (@agamjain) Proposer 16 days ago

    i’ve updated the slides. pls have a look

  • Akash Khandelwal (@akash099) 16 days ago (edited 16 days ago)

    Hi Agam,
    The slides content, illustrations and structure look much better now. Also, sample contract should help users relate better.

    Few comments :
    1. I see that some slides have lot of text. You might want to move that to speaker notes and just keep headings/ infographics in slides, otherwise audience just tends to read those and ignore what you’re saying.
    2. Would like the talk to spend more time on the Solutions section and compress the intro to first few minutes.

    • Agam Jain (@agamjain) Proposer 15 days ago

      sure.. noted

Login with Twitter or Google to leave a comment