Database Tuning at Zerodha - India's Largest Stock Broker

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ก.ค. 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
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 100

  • @mzs114
    @mzs114 17 วันที่ผ่านมา +106

    Boring tech is usually better in most cases.

  • @pankajsharma-cb4ok
    @pankajsharma-cb4ok 15 วันที่ผ่านมา +29

    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...

  • @haloboy777
    @haloboy777 17 วันที่ผ่านมา +25

    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 17 วันที่ผ่านมา +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

  • @manishmundra7303
    @manishmundra7303 17 วันที่ผ่านมา +20

    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!!

  • @HardikGajjarTechy
    @HardikGajjarTechy 16 วันที่ผ่านมา +6

    PG always shock engineers with new features and flexibility

  • @arpanmukherjee4625
    @arpanmukherjee4625 16 วันที่ผ่านมา +6

    I love this guy seriously. Very powerful insights.

  • @codingwithsam4992
    @codingwithsam4992 15 วันที่ผ่านมา +10

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

  • @CoppsMusic
    @CoppsMusic 8 วันที่ผ่านมา +3

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

  • @nabhamgupta3626
    @nabhamgupta3626 12 วันที่ผ่านมา +1

    Super interesting :) more such insights tech talks🙌

  • @anantmishra6783
    @anantmishra6783 17 วันที่ผ่านมา +4

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

  • @TesthelloUser2
    @TesthelloUser2 17 วันที่ผ่านมา +1

    Thank you for the video....

  • @TheBrahmadath
    @TheBrahmadath 13 วันที่ผ่านมา +11

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

  • @animalempire5513
    @animalempire5513 17 วันที่ผ่านมา +1

    That's good to know😊

  • @Dipesh_Sol
    @Dipesh_Sol 11 วันที่ผ่านมา

    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 13 วันที่ผ่านมา

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

  • @BhagyashreeJha-h1v
    @BhagyashreeJha-h1v 12 วันที่ผ่านมา

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

  • @velloer
    @velloer 16 วันที่ผ่านมา +1

    Awesome

  • @samannwaysil4412
    @samannwaysil4412 17 วันที่ผ่านมา +1

    so informative

  • @nikhilkartha9373
    @nikhilkartha9373 3 วันที่ผ่านมา

    Understanding this is as exciting as watching paint dry.

  • @WaseemAshraf
    @WaseemAshraf 16 วันที่ผ่านมา +4

    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 15 วันที่ผ่านมา

      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.

  • @parasharp28
    @parasharp28 14 วันที่ผ่านมา +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.....

  • @abhishekbhardwaj563
    @abhishekbhardwaj563 16 วันที่ผ่านมา +1

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

  • @mrpam4672
    @mrpam4672 13 วันที่ผ่านมา

    Great!

  • @itshgirish
    @itshgirish 16 วันที่ผ่านมา +9

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

  • @an_other_world
    @an_other_world 14 วันที่ผ่านมา +2

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

  • @ChristieDsouza
    @ChristieDsouza 13 วันที่ผ่านมา

    this is gold !☺

  • @VIKASJAIN-no5wt
    @VIKASJAIN-no5wt 15 วันที่ผ่านมา +4

    Hope Kamath brothers are paying you well..

  • @sarbajitnandy9291
    @sarbajitnandy9291 12 วันที่ผ่านมา

    Where does this kind of tech conferences happens?

  • @NIKHILVERMA-xr7lc
    @NIKHILVERMA-xr7lc 13 วันที่ผ่านมา

    Good lecture ⭐

  • @godisgreat1000
    @godisgreat1000 13 วันที่ผ่านมา

    why most of the crucial times zerodha app stock responding?

  • @ganeshbabu8263
    @ganeshbabu8263 17 วันที่ผ่านมา +9

    I feel dumb

  • @user-hl6hv3qu9c
    @user-hl6hv3qu9c 2 วันที่ผ่านมา

    Do they implement CQRS ?? not clear ; what kind of postgres scaling ?; Any SOR layer - System of record; what ORM ??; some high level banter about postgres DB tuning with no specifics; Query optimization no specicifs

  • @ans_human
    @ans_human 12 วันที่ผ่านมา

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

  • @gyanpattnaik520
    @gyanpattnaik520 8 วันที่ผ่านมา

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

  • @battletremor
    @battletremor 13 วันที่ผ่านมา

    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?

    • @bangalicoder863
      @bangalicoder863 2 วันที่ผ่านมา

      It means a delta load with a specific start point instead of a full load

  • @Anonymous-im2dy
    @Anonymous-im2dy 16 วันที่ผ่านมา +5

    1:42 why there is small laugh on mongodb 😂

    • @VarunKeshav
      @VarunKeshav 15 วันที่ผ่านมา

      Yeah WTF

    • @VarunKeshav
      @VarunKeshav 15 วันที่ผ่านมา

      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 13 วันที่ผ่านมา +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.

  • @kparag01
    @kparag01 10 วันที่ผ่านมา +1

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

  • @DK-ox7ze
    @DK-ox7ze 15 วันที่ผ่านมา +1

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

  • @phoneix24886
    @phoneix24886 5 วันที่ผ่านมา

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

  • @YugalkishorJha-z2x
    @YugalkishorJha-z2x 2 วันที่ผ่านมา

    Wow

  • @J0Y22
    @J0Y22 17 วันที่ผ่านมา +2

    damnn

  • @gangadharm
    @gangadharm 17 วันที่ผ่านมา +7

    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 17 วันที่ผ่านมา +4

      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 17 วันที่ผ่านมา +1

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

    • @satyamverma
      @satyamverma 16 วันที่ผ่านมา

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

    • @v.rajasekar5044
      @v.rajasekar5044 16 วันที่ผ่านมา +1

      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.

  • @codingwithsam4992
    @codingwithsam4992 15 วันที่ผ่านมา

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

  • @premsaivittal2030
    @premsaivittal2030 15 วันที่ผ่านมา

    What's his name ?

  • @sekhar4033
    @sekhar4033 13 วันที่ผ่านมา

    What is his name

  • @keerthineeraj7937
    @keerthineeraj7937 12 วันที่ผ่านมา

    What is the name of the person speaking?

  • @cringelord511
    @cringelord511 15 วันที่ผ่านมา +1

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

    • @BashDroid
      @BashDroid 14 วันที่ผ่านมา

      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 14 วันที่ผ่านมา

      @@BashDroid was this organized by zerodha or postgres?

    • @BashDroid
      @BashDroid 13 วันที่ผ่านมา +1

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

  • @rishiniranjan1746
    @rishiniranjan1746 17 วันที่ผ่านมา

    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.

  • @Grizzler231
    @Grizzler231 3 วันที่ผ่านมา

    Bruh he laughed when he said mongo

  • @viputdBeast
    @viputdBeast 5 วันที่ผ่านมา

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

  • @chandranshpandey1929
    @chandranshpandey1929 15 วันที่ผ่านมา +2

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

  • @kamleshgorasiya3854
    @kamleshgorasiya3854 15 วันที่ผ่านมา

    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.

    • @Desh-o7b
      @Desh-o7b 14 วันที่ผ่านมา

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

  • @deva8496
    @deva8496 14 วันที่ผ่านมา

    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 14 วันที่ผ่านมา

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

  • @ShaileshGuptaKoolwallost
    @ShaileshGuptaKoolwallost 15 วันที่ผ่านมา

    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 8 วันที่ผ่านมา

    31:19 Postgres Learnings

  • @yashvarshney8651
    @yashvarshney8651 17 วันที่ผ่านมา +9

    gold

    • @go1d
      @go1d 17 วันที่ผ่านมา +2

      ha bhai?

    • @RahulRaj-jc7os
      @RahulRaj-jc7os 17 วันที่ผ่านมา

      @@go1d

  • @MrDasamitkumar
    @MrDasamitkumar 16 วันที่ผ่านมา +3

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

    • @v.rajasekar5044
      @v.rajasekar5044 16 วันที่ผ่านมา +3

      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 5 วันที่ผ่านมา

      When did he say that?

  • @srinivasreddyt9555
    @srinivasreddyt9555 7 วันที่ผ่านมา

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

  • @saralk18
    @saralk18 4 วันที่ผ่านมา

    It works... until it doesn't

  • @randomvideos9541
    @randomvideos9541 16 วันที่ผ่านมา

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

  • @prahladb5019
    @prahladb5019 14 วันที่ผ่านมา

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

  • @krishankanhaya_
    @krishankanhaya_ 11 วันที่ผ่านมา +1

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

    • @tanaygupta2009
      @tanaygupta2009 8 วันที่ผ่านมา

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

    • @krishankanhaya_
      @krishankanhaya_ 8 วันที่ผ่านมา

      @@tanaygupta2009 i may be agree but how

  • @AyushKumar-ij2xd
    @AyushKumar-ij2xd 13 วันที่ผ่านมา

    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

  • @harshpathak8029
    @harshpathak8029 16 วันที่ผ่านมา

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

    • @SirShashanksonusahu
      @SirShashanksonusahu 16 วันที่ผ่านมา +4

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

    • @yuganderkrishansingh3733
      @yuganderkrishansingh3733 15 วันที่ผ่านมา

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

  • @GagandeepSingh-op8mb
    @GagandeepSingh-op8mb 12 วันที่ผ่านมา

    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.

  • @asif-ali
    @asif-ali 13 วันที่ผ่านมา

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

  • @abhijithganesh2064
    @abhijithganesh2064 13 วันที่ผ่านมา

    So much talk yet no stable apps😂

  • @user-hh5vg9st1q
    @user-hh5vg9st1q 15 วันที่ผ่านมา +1

    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.

  • @ravikanth6178
    @ravikanth6178 16 วันที่ผ่านมา +1

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

  • @TheHardikupadhyay87
    @TheHardikupadhyay87 11 วันที่ผ่านมา

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

  • @ravishmahajan9314
    @ravishmahajan9314 15 วันที่ผ่านมา +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 😂

  • @vaibhav-bhavsar
    @vaibhav-bhavsar 12 วันที่ผ่านมา

    What is his name?