Database Tuning at Zerodha - India's Largest Stock Broker

Поделиться
HTML-код
  • Опубликовано: 20 июл 2024
  • Speaker : Satyajit Sarangi @ Zerodha
    Step into the world of Zerodha, India's largest stock broker, and uncover the secrets behind their database tuning and optimization techniques. In this exclusive video, we'll take you through:
    Advanced Database Optimization Techniques: Learn how Zerodha keeps their databases running at peak performance.
    Performance Tuning Insights: Discover real-world strategies and best practices from the experts at Zerodha.
    Scalability Solutions: See how Zerodha handles massive data loads and ensures reliability for millions of users.
    Whether you're a tech enthusiast, database professional, or just curious about the technology driving the stock market, this video is packed with valuable insights and practical tips to help you optimize your own databases.
    Video Credit : ‪@pgconfin‬
    🔔 Subscribe to our channel for more tech tips and tutorials:
    👍 Like us on Facebook : / perfology
    👍 Add us on Instagram: / perfologys
    👍 Follow us on Linkedin: / perfology
    #DatabaseTuning #Zerodha #StockBroker #DatabaseOptimization #TechTutorial #PerformanceTuning #SQL #DatabaseManagement #techinnovation
    Chapters
    00:00 Introduction
    02:59 History Of Postgres usage
    07:54 Managing Big Data
    14:40 Understanding your query planner
    20:38 Replica Master Slave
    29:10 Postgres DB Rights
    31:18 Postgres Learnings
    39:16 Problems with Postgres
  • НаукаНаука

Комментарии • 96

  • @mzs114
    @mzs114 13 дней назад +101

    Boring tech is usually better in most cases.

  • @pankajsharma-cb4ok
    @pankajsharma-cb4ok 12 дней назад +26

    By listening to it, I got to know that I also faced similar issues and worked on similar set of solutions except materialised views and redis. Happy to see myself on same path...

  • @manishmundra7303
    @manishmundra7303 14 дней назад +17

    No doubt this is a gem talk..
    Though I feel slides could be done much better with the kind of content talk had.. Still learned a lot & cheers to this great talk!!

  • @haloboy777
    @haloboy777 13 дней назад +24

    Sensible defaults go a long way, but they only work in certain scenarios. I commend their choice of sticking to the basics.
    To be honest, their main engineering efforts are focused on rewriting their codebase, and I believe that is their core competency. I wish more companies allowed frequent rewrites [where needed].

    • @gokukakarot6323
      @gokukakarot6323 13 дней назад +2

      The rewrites are not unwarranted, they hit scaling requirements and then improve. Their PDF sending blog is a great example. Some engineers would probably start at that, but that's not how things work in real life. Most startups face this problem as well. Starts with java or rails and then splits into microservicrs to scale independently

  • @TheBrahmadath
    @TheBrahmadath 9 дней назад +11

    So finally found the responsible guy for the recent backend glitch..

  • @HardikGajjarTechy
    @HardikGajjarTechy 13 дней назад +6

    PG always shock engineers with new features and flexibility

  • @codingwithsam4992
    @codingwithsam4992 11 дней назад +10

    These are the guys and their content which people should be consuming and not those of LinkedIn didis

  • @arpanmukherjee4625
    @arpanmukherjee4625 12 дней назад +6

    I love this guy seriously. Very powerful insights.

  • @CoppsMusic
    @CoppsMusic 5 дней назад +2

    Zerodha sits on top of SEBI's tech APIs. God, One has to listen from SEBI on how their orchestration is.

  • @nabhamgupta3626
    @nabhamgupta3626 8 дней назад +1

    Super interesting :) more such insights tech talks🙌

  • @anantmishra6783
    @anantmishra6783 14 дней назад +4

    hahaha ..good one! Very valid points were made!! x)

  • @nikhilkartha9373
    @nikhilkartha9373 4 часа назад

    Understanding this is as exciting as watching paint dry.

  • @TesthelloUser2
    @TesthelloUser2 13 дней назад +1

    Thank you for the video....

  • @battletremor
    @battletremor 10 дней назад

    What does he mean by checkpoints of data backup? As in they dont take entire backup from the start to current? Just a fixed period of time like a month?

  • @animalempire5513
    @animalempire5513 13 дней назад +1

    That's good to know😊

  • @Dipesh_Sol
    @Dipesh_Sol 7 дней назад

    At 37:27, not just the speed of computation, but also the egress cost of transferring all that unnecessary data over the wire to your server from database to perform reduce type computations which can simply be done on the database layer itself.
    And if you find yourself querying such data frequently, then you can have materialised views for it, making it even faster. Finally, if your use case doesn't require the most latest data and is fine with eventual consistency, then you can add a caching layer in front of it, making it blazing fast.

  • @minimilitiapro6528
    @minimilitiapro6528 9 дней назад

    Great talk , got to learn a lot from this video 😍

  • @samannwaysil4412
    @samannwaysil4412 14 дней назад +1

    so informative

  • @an_other_world
    @an_other_world 10 дней назад +2

    frequent code rewrites === frequent down times (if the code changes do not have sufficient coverage and are not properly tested by QA)

  • @parasharp28
    @parasharp28 10 дней назад +1

    It all felt like an interesting discussion, but I couldn't understand (won't say I couldn't digest) a few things he mentioned such as - copying terabytes of data and restarting the server under 1 min, letting the database do most of the calculative work, no replica sets (how about contingency planning) and in a way portraying Postgres as an 'all weather database'......seems like a wake up call for myself.....

  • @ChristieDsouza
    @ChristieDsouza 9 дней назад

    this is gold !☺

  • @BhagyashreeJha-h1v
    @BhagyashreeJha-h1v 9 дней назад

    Boring is good for you. Thanks for sharing the knowledge.

  • @velloer
    @velloer 12 дней назад +1

    Awesome

  • @mrpam4672
    @mrpam4672 10 дней назад

    Great!

  • @itshgirish
    @itshgirish 12 дней назад +8

    am i missing something here? Able to bring up db 15-20 TB of fresh copy from S3 in < 2 mins!

  • @WaseemAshraf
    @WaseemAshraf 12 дней назад +3

    I don't agree with offloading all of the computations to the database. Yes some computations are good on the database side, but if you are doing some heavy computation that should be on the app side. The benefit of that is you can have multiple backend machines and single database. Using loadbalancer and multiple workers is very easy for backend as compared to having multiple databases.

    • @srikanth1281
      @srikanth1281 12 дней назад

      Agree, suffered a lot with my analytics platform (mongo) only because we offloaded queries to db. This is even after good amount of denormalisation, huge data means aggregation are consume all the resources.

  • @NIKHILVERMA-xr7lc
    @NIKHILVERMA-xr7lc 10 дней назад

    Good lecture ⭐

  • @VIKASJAIN-no5wt
    @VIKASJAIN-no5wt 11 дней назад +4

    Hope Kamath brothers are paying you well..

  • @phoneix24886
    @phoneix24886 День назад

    A little bit over provisioning when serving 2 million requests with an sla is better than being conservative.

  • @kparag01
    @kparag01 6 дней назад +1

    He wants to keep talking light but the audience is damn serious

  • @sarbajitnandy9291
    @sarbajitnandy9291 9 дней назад

    Where does this kind of tech conferences happens?

  • @ganeshbabu8263
    @ganeshbabu8263 14 дней назад +9

    I feel dumb

  • @abhishekbhardwaj563
    @abhishekbhardwaj563 12 дней назад +1

    I have always found simple dumb solutions to be the best solution that lasts long without any crash.

  • @godisgreat1000
    @godisgreat1000 10 дней назад

    why most of the crucial times zerodha app stock responding?

  • @gyanpattnaik520
    @gyanpattnaik520 4 дня назад

    Better if you can move to the cloud. AWS or Azure both provide great support.

  • @ans_human
    @ans_human 8 дней назад

    Can you share the RCAs on recent failures on the kite platform

  • @gangadharm
    @gangadharm 13 дней назад +6

    Terabytes of data copied to a server and starting in less than a minute? Are you joking? Copying the data from S3 to your local server itself will take the time for terabytes of data. May be I am missing something here.

    • @Vikasptl07
      @Vikasptl07 13 дней назад +3

      Now you know reason why zerodha is down every now and then. Haha.. but on lighter note i think for trading broker they should have robust backup mechanism in place, s3 to db in minute is a dream scenario but that works for them so who knows

    • @haloboy777
      @haloboy777 13 дней назад +1

      I think they're not compressing the data. But that is way too wasteful.

    • @satyamverma
      @satyamverma 13 дней назад

      they must be loading that 500 GB of cache data or max 1TB.

    • @v.rajasekar5044
      @v.rajasekar5044 12 дней назад

      100% not possible even with newer instances with more than 100Gb of network speed. The ones with more than 200Gb of network speed requires special drivers and interfaces. Either he was bluffing or misremembering details. As they were partitioning by month, it could be possible that he is referring to restoring each DB hosting a month/s worth of data in under 2 minutes as that is possible. But data in that single server would be in the range of 1 or 2 TB and even then only with compression it is possible to do it under a minute.

  • @DK-ox7ze
    @DK-ox7ze 11 дней назад

    No replica? So what happens if the DB crashes and data gets corrupted? You loose customer data!

  • @Anonymous-im2dy
    @Anonymous-im2dy 13 дней назад +4

    1:42 why there is small laugh on mongodb 😂

    • @VarunKeshav
      @VarunKeshav 11 дней назад

      Yeah WTF

    • @VarunKeshav
      @VarunKeshav 11 дней назад

      That one slide of how do we manage big data pretty much throws light on points where MongoDB shines. Maybe they had a poor experience and wrote it off.

    • @shantanukulkarni8883
      @shantanukulkarni8883 10 дней назад +1

      I guess nosql ism't really suited for a very structured thing like a stock broker database. Others he mentioned like Mysql, Cockroachdb are SQL. It's kind of just like an experimental thing. But maybe he just remembered something funny about it.

  • @J0Y22
    @J0Y22 14 дней назад +2

    damnn

  • @rishiniranjan1746
    @rishiniranjan1746 13 дней назад

    People say c++ is retarded/obsolete. I dont agree. How you can achieve super-performace, responsiveness, better synchronous result without using a natively driven code.

  • @cringelord511
    @cringelord511 12 дней назад +1

    is it okay to share your applications db architecture like this?

    • @BashDroid
      @BashDroid 11 дней назад

      yes, because he mentioned that they had made this changes by looking on the specific data that are dealing with and anybody else doing the same thing with there data won't work the same

    • @cringelord511
      @cringelord511 11 дней назад

      @@BashDroid was this organized by zerodha or postgres?

    • @BashDroid
      @BashDroid 10 дней назад

      none, it's done by the postgres community in india.. pgconf

  • @premsaivittal2030
    @premsaivittal2030 11 дней назад

    What's his name ?

  • @sekhar4033
    @sekhar4033 10 дней назад

    What is his name

  • @kamleshgorasiya3854
    @kamleshgorasiya3854 11 дней назад

    Can share RCA for Issue we are facing since last two months. I am Software engineer and also Customer of Zerodha. I want to know why other broker are runing fine and zerodha not.

    • @imperfect_banda
      @imperfect_banda 10 дней назад

      no you are not, because if you were you would've asked this question from your team.

  • @viputdBeast
    @viputdBeast День назад

    Atleast mention the speaker name in video title or in the description

  • @codingwithsam4992
    @codingwithsam4992 11 дней назад

    I want to connect with you? What is your name?

  • @deva8496
    @deva8496 11 дней назад

    Sorry you are not Robinhood of India in trading. Robinhood offers research and lot of reasearch and recommendations with lot of features. But you are one of best discount broker to save money of swing traders

    • @thiccboi6211
      @thiccboi6211 10 дней назад

      It was a simple comparison for understanding the product and its domain. Its not an official statement of the company

  • @keerthineeraj7937
    @keerthineeraj7937 8 дней назад

    What is the name of the person speaking?

  • @srinivasreddyt9555
    @srinivasreddyt9555 3 дня назад

    at 26:08, you realize that it is a mallu asking questions.

  • @ShaileshGuptaKoolwallost
    @ShaileshGuptaKoolwallost 11 дней назад

    DB backup, restoring everyday. postgres as caching layer - it seems like they just want to rely on one thing only which is absurd. Seems like they are trying to find solution to problem which shouldn't have been problem as such. Totally absurd, they are ok with everything running, donot want to do things at higher scale. How can you be ok with such kind of system.

  • @TeluguAbbi
    @TeluguAbbi 4 дня назад

    31:19 Postgres Learnings

  • @chandranshpandey1929
    @chandranshpandey1929 12 дней назад +1

    too much tuning these guys are doing that their app having lot of glitches every now and then

  • @yashvarshney8651
    @yashvarshney8651 14 дней назад +7

    gold

  • @saralk18
    @saralk18 День назад

    It works... until it doesn't

  • @randomvideos9541
    @randomvideos9541 12 дней назад

    Ku6 bhi?? Pehle jo loss karwaye ho uske bare me video nikalo.

  • @MrDasamitkumar
    @MrDasamitkumar 13 дней назад +2

    15tb in 2 mins !!! Really?? How ??

    • @v.rajasekar5044
      @v.rajasekar5044 12 дней назад +2

      100% not possible even with newer instances with more than 100Gb of network speed. either he was bluffing or misremembering details. As they were partitioning by month, it could be possible that he is referring to restoring each DB hosting a month/s worth of data in under 2 minutes as that is possible. But data in that single server would be in the range of 1 or 2 TB only.

    • @phoneix24886
      @phoneix24886 День назад

      When did he say that?

  • @AyushKumar-ij2xd
    @AyushKumar-ij2xd 10 дней назад

    overloading postgres is not helpful and dont do it specially when you have no concept of nodes . postgres servers are not free even. if you are not able to write code for sum/avg for close to same speed as postgres service then you need better engineering. Architectures become complicated when you have distribution/SOA . Either this is half knowledge served or this platform is running on hopes and dreams. And also S3 is not that fast

  • @GagandeepSingh-op8mb
    @GagandeepSingh-op8mb 8 дней назад

    Zerodha doesn't have replicas and doesn't have slaves. All they have is a sorry when they server or db crashes. People lose money, and they think replicas are not important.

  • @harshpathak8029
    @harshpathak8029 12 дней назад

    I think it is no longer the largest stock broker. Groww over took it since oct 2023

    • @SirShashanksonusahu
      @SirShashanksonusahu 12 дней назад +3

      Groww is stupid, just because of marketing it is gaining market share

    • @yuganderkrishansingh3733
      @yuganderkrishansingh3733 12 дней назад

      @@SirShashanksonusahu But that doesn't change the fact that they are the largest at present.

  • @krishankanhaya_
    @krishankanhaya_ 7 дней назад +1

    Caching is the answer to all of your questions in this talk 😂😂

    • @tanaygupta2009
      @tanaygupta2009 5 дней назад

      Caching might be a very bad idea in case of Trading apps.

    • @krishankanhaya_
      @krishankanhaya_ 5 дней назад

      @@tanaygupta2009 i may be agree but how

  • @asif-ali
    @asif-ali 9 дней назад

    Aaaaa.....aaaaaa.....aaaaaa......aaaaaaa..
    Amm emmm aaaaaa aaaaaa... What that.... Silly

  • @ravikanth6178
    @ravikanth6178 12 дней назад +1

    Just out of ignorance.. I think snow flake willl be a good choice? Can anyone comment

  • @ravishmahajan9314
    @ravishmahajan9314 12 дней назад +2

    Only hardcore techies or IT professionals will find this video a Gem💎 .
    Well in the era of the Graph database, MongoDB, NOSQL etc. the legend in the video is talking basically about SQL database.😂 ❤
    Yes he is definitely correct. With Oracle as an enterprise paid database, we have the king of open source database called Postgres, a boon for startups.
    I am really surprised, zerodha with millions of customers uses Postgres..... ❤
    I thought they were using some high tech AWS virtual nosql databases 😂

  • @prahladb5019
    @prahladb5019 10 дней назад

    now we understood why glitches are happening frequently in Zerodha..

  • @abhijithganesh2064
    @abhijithganesh2064 9 дней назад

    So much talk yet no stable apps😂

  • @TheHardikupadhyay87
    @TheHardikupadhyay87 8 дней назад

    i watched this video in 1.5x still felt slow and boring.

  • @user-hh5vg9st1q
    @user-hh5vg9st1q 11 дней назад

    This is feels like a 3rd year B-tech class, not a techie presentation. The presented points can be found across multiple b-tech computer science books. May be he is not a tech person thats why he didnt gave the examples on tuning.

  • @vaibhav-bhavsar
    @vaibhav-bhavsar 9 дней назад

    What is his name?