Database Tuning at Zerodha - India's Largest Stock Broker

Ғылым және технология

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

Пікірлер: 104

  • @mzs114
    @mzs11426 күн бұрын

    Boring tech is usually better in most cases.

  • @pankajsharma-cb4ok
    @pankajsharma-cb4ok24 күн бұрын

    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
    @haloboy77726 күн бұрын

    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

    26 күн бұрын

    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

  • @CoppsMusic
    @CoppsMusic17 күн бұрын

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

  • @arpanmukherjee4625
    @arpanmukherjee462525 күн бұрын

    I love this guy seriously. Very powerful insights.

  • @HardikGajjarTechy
    @HardikGajjarTechy26 күн бұрын

    PG always shock engineers with new features and flexibility

  • @codingwithsam4992
    @codingwithsam499224 күн бұрын

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

  • @manishmundra7303
    @manishmundra730326 күн бұрын

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

  • @nabhamgupta3626
    @nabhamgupta362621 күн бұрын

    Super interesting :) more such insights tech talks🙌

  • @TheBrahmadath
    @TheBrahmadath22 күн бұрын

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

  • @anantmishra6783
    @anantmishra678326 күн бұрын

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

  • @Dipesh_Sol
    @Dipesh_Sol20 күн бұрын

    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.

  • @TesthelloUser2
    @TesthelloUser226 күн бұрын

    Thank you for the video....

  • @animalempire5513
    @animalempire551326 күн бұрын

    That's good to know😊

  • @samannwaysil4412
    @samannwaysil441226 күн бұрын

    so informative

  • @minimilitiapro6528
    @minimilitiapro652822 күн бұрын

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

  • @ChristieDsouza
    @ChristieDsouza22 күн бұрын

    this is gold !☺

  • @velloer
    @velloer25 күн бұрын

    Awesome

  • @mrpam4672
    @mrpam467222 күн бұрын

    Great!

  • @NIKHILVERMA-xr7lc
    @NIKHILVERMA-xr7lc22 күн бұрын

    Good lecture ⭐

  • @BhagyashreeJha-h1v
    @BhagyashreeJha-h1v21 күн бұрын

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

  • @WaseemAshraf
    @WaseemAshraf25 күн бұрын

    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

    24 күн бұрын

    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
    @parasharp2823 күн бұрын

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

  • @VIKASJAIN-no5wt
    @VIKASJAIN-no5wt24 күн бұрын

    Hope Kamath brothers are paying you well..

  • @an_other_world
    @an_other_world23 күн бұрын

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

  • @nikhilkartha9373
    @nikhilkartha937312 күн бұрын

    Understanding this is as exciting as watching paint dry.

  • @itshgirish
    @itshgirish25 күн бұрын

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

  • @abhirajsingh8138

    @abhirajsingh8138

    23 күн бұрын

    yes he said that

  • @teluguinfofacts4600

    @teluguinfofacts4600

    23 күн бұрын

    Is it true

  • @abhirajsingh8138

    @abhirajsingh8138

    23 күн бұрын

    @@teluguinfofacts4600 no idea

  • @VinayKumarcs127

    @VinayKumarcs127

    5 күн бұрын

    I mean how

  • @zheeshut5498
    @zheeshut54985 күн бұрын

    The way he laughed at MongoDB😂

  • @sarbajitnandy9291
    @sarbajitnandy929121 күн бұрын

    Where does this kind of tech conferences happens?

  • @YugalkishorJha-z2x
    @YugalkishorJha-z2x11 күн бұрын

    Wow

  • @kparag01
    @kparag0119 күн бұрын

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

  • @ganeshbabu8263
    @ganeshbabu826326 күн бұрын

    I feel dumb

  • @ans_human
    @ans_human21 күн бұрын

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

  • @nikunjmmistry
    @nikunjmmistry7 күн бұрын

    This is good, are these conferences invite only?

  • @abhishekbhardwaj563
    @abhishekbhardwaj56325 күн бұрын

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

  • @Anonymous-im2dy
    @Anonymous-im2dy25 күн бұрын

    1:42 why there is small laugh on mongodb 😂

  • @VarunKeshav

    @VarunKeshav

    24 күн бұрын

    Yeah WTF

  • @VarunKeshav

    @VarunKeshav

    24 күн бұрын

    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

    22 күн бұрын

    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.

  • @VinayKumarcs127

    @VinayKumarcs127

    5 күн бұрын

    Hahaha same feeling

  • @godisgreat1000
    @godisgreat100022 күн бұрын

    why most of the crucial times zerodha app stock responding?

  • @J0Y22
    @J0Y2227 күн бұрын

    damnn

  • @user-hl6hv3qu9c
    @user-hl6hv3qu9c11 күн бұрын

    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

  • @Grizzler231
    @Grizzler23112 күн бұрын

    Bruh he laughed when he said mongo

  • @cringelord511
    @cringelord51124 күн бұрын

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

  • @BashDroid

    @BashDroid

    24 күн бұрын

    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

    23 күн бұрын

    @@BashDroid was this organized by zerodha or postgres?

  • @BashDroid

    @BashDroid

    22 күн бұрын

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

  • @premsaivittal2030
    @premsaivittal203024 күн бұрын

    What's his name ?

  • @sekhar4033
    @sekhar403322 күн бұрын

    What is his name

  • @keerthineeraj7937
    @keerthineeraj793721 күн бұрын

    What is the name of the person speaking?

  • @viputdBeast
    @viputdBeast14 күн бұрын

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

  • @TeluguAbbi
    @TeluguAbbi17 күн бұрын

    31:19 Postgres Learnings

  • @codingwithsam4992
    @codingwithsam499224 күн бұрын

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

  • @gangadharm
    @gangadharm26 күн бұрын

    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

    26 күн бұрын

    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

    26 күн бұрын

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

  • @satyamverma

    @satyamverma

    25 күн бұрын

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

  • @v.rajasekar5044

    @v.rajasekar5044

    25 күн бұрын

    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.

  • @battletremor
    @battletremor22 күн бұрын

    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

    11 күн бұрын

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

  • @kamleshgorasiya3854
    @kamleshgorasiya385424 күн бұрын

    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

    23 күн бұрын

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

  • @rishiniranjan1746
    @rishiniranjan174626 күн бұрын

    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.

  • @chandranshpandey1929
    @chandranshpandey192925 күн бұрын

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

  • @yashvarshney8651
    @yashvarshney865127 күн бұрын

    gold

  • @go1d

    @go1d

    26 күн бұрын

    ha bhai?

  • @RahulRaj-jc7os

    @RahulRaj-jc7os

    26 күн бұрын

    @@go1d

  • @srinivasreddyt9555
    @srinivasreddyt955516 күн бұрын

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

  • @deva8496
    @deva849623 күн бұрын

    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

    23 күн бұрын

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

  • @krishankanhaya_
    @krishankanhaya_20 күн бұрын

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

  • @tanaygupta2009

    @tanaygupta2009

    17 күн бұрын

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

  • @krishankanhaya_

    @krishankanhaya_

    17 күн бұрын

    @@tanaygupta2009 i may be agree but how

  • @MrDasamitkumar
    @MrDasamitkumar25 күн бұрын

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

  • @v.rajasekar5044

    @v.rajasekar5044

    25 күн бұрын

    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

    14 күн бұрын

    When did he say that?

  • @ShaileshGuptaKoolwallost
    @ShaileshGuptaKoolwallost24 күн бұрын

    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.

  • @DK-ox7ze
    @DK-ox7ze24 күн бұрын

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

  • @ShaileshGuptaKoolwallost

    @ShaileshGuptaKoolwallost

    24 күн бұрын

    time to switch to another broker ? :P

  • @saralk18
    @saralk1813 күн бұрын

    It works... until it doesn't

  • @randomvideos9541
    @randomvideos954125 күн бұрын

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

  • @AyushKumar-ij2xd
    @AyushKumar-ij2xd22 күн бұрын

    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-op8mb21 күн бұрын

    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.

  • @abhijithganesh2064
    @abhijithganesh206422 күн бұрын

    So much talk yet no stable apps😂

  • @prahladb5019
    @prahladb501923 күн бұрын

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

  • @gyanpattnaik520
    @gyanpattnaik52017 күн бұрын

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

  • @asif-ali
    @asif-ali22 күн бұрын

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

  • @user-hh5vg9st1q
    @user-hh5vg9st1q24 күн бұрын

    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.

  • @phoneix24886
    @phoneix2488614 күн бұрын

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

  • @TheHardikupadhyay87
    @TheHardikupadhyay8720 күн бұрын

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

  • @harshpathak8029
    @harshpathak802925 күн бұрын

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

  • @SirShashanksonusahu

    @SirShashanksonusahu

    25 күн бұрын

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

  • @yuganderkrishansingh3733

    @yuganderkrishansingh3733

    24 күн бұрын

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

  • @ravishmahajan9314
    @ravishmahajan931424 күн бұрын

    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 😂

  • @ravikanth6178
    @ravikanth617825 күн бұрын

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

  • @vaibhav-bhavsar
    @vaibhav-bhavsar21 күн бұрын

    What is his name?

Келесі