Тёмный
Kiki's Bytes
Kiki's Bytes
Kiki's Bytes
Подписаться 23 тыс.
Комментарии
@suttanab1763
@suttanab1763 5 часов назад
What about firestore ? 😮
@mathangik179
@mathangik179 7 часов назад
Can you make a detailed video on rpc?
@djasnive
@djasnive 10 часов назад
And they did all that with zero downtime ?
@hectorcortes92
@hectorcortes92 10 часов назад
I honestly thought Notion used DynamoDB or something similar
@hyltcasper
@hyltcasper 11 часов назад
Postgres or any RDBMS is not right tool for content heavy products such as Notion. No matter what they do, they cannot make it effective and fast.
@bilalillahi6347
@bilalillahi6347 15 часов назад
What a nightmare
@joelachance1721
@joelachance1721 16 часов назад
Great video! Would love more of this
@yusufansari7618
@yusufansari7618 21 час назад
Its amazing!!!!
@iasplay224
@iasplay224 22 часа назад
your videos are very educational, entertaining and really good visualisations. Would you mind creating a discord server where people who watches your content can get together and exchange ideas, I think that would benefits all of the viewers
@atomiccoding
@atomiccoding День назад
Awesome video! How do you make such awesome animations?
@jamalsmith5834
@jamalsmith5834 День назад
this channel is actually so underrated i don’t understand
@siddair
@siddair День назад
Great video!! Loved this level of detail along with the animations. This is a differentiating factor from many other videos on such topics that don't go into detail but cover such topics at a very high level. You could link to explanations of some of the concepts mentioned for understanding but continue keeping this level of detail as that is what makes it great in the first place!
@sujayxaradhya
@sujayxaradhya День назад
Reduces cost but increases cost in AWS😂
@AniketSingh-nx4ds
@AniketSingh-nx4ds День назад
Why didn’t they use sharding and clustering together? Similar to how elasticsearch does
@Dychord
@Dychord День назад
Subscribed!! Hey listen buddy Idk if you'll read this comment but god! I hope you will!! Make videos about optimization, optimization stories of companies and stuff....revolve around it!! And I bet you in no time you'll have a community of amazing developers!!
@kikisbytes
@kikisbytes День назад
Hey thank you so much for letting me know! I definitely will be continuing to make these type of videos. I think that these videos provide values, even for myself and I just want to share it with you guys as well. Definitely stay tuned for more to come!
@shreyashraj
@shreyashraj День назад
Great video. To the point without any zig zag, but the audio do not feel natural.
@kikisbytes
@kikisbytes День назад
Thank you for the feedback. I'm still trying to figuring out audio so please bear with me while I get the right settings :)
@igeoorge3g
@igeoorge3g 2 дня назад
Notion is everything but fast. That's 4 sure. Amazing video anyways🎉 thanks 4 sharing
@kikisbytes
@kikisbytes День назад
Thank you for watching!!
@ghostvar
@ghostvar 2 дня назад
Really?? you just doesn't share that waifu document data in description?
@kikisbytes
@kikisbytes День назад
I'll ask my friend for the link :p
@SPOOKEXE
@SPOOKEXE 2 дня назад
Watched a couple vids and they're wicked! Love the newer videos you've been uploading!
@kikisbytes
@kikisbytes День назад
Thank you!!!
@XiWang-q1i
@XiWang-q1i 2 дня назад
0:40 Oh, the friend you mentioned, did he also make this video?🐶
@kikisbytes
@kikisbytes День назад
maybe... 😛
@dirkschannel5817
@dirkschannel5817 2 дня назад
Amazing proof of what PostgreSQL can do
@aleksandrephatsatsia4530
@aleksandrephatsatsia4530 3 дня назад
Hello, thats a amazing content!!! keep doing and you will become 10ml channel soon!!! what do you use for animations?
@robd003
@robd003 3 дня назад
Wouldn't it be smarter to switch to a distributed database? Why not use something like CockroachDB or YugabyteDB?
@twansrude
@twansrude 3 дня назад
pGeeBouncer
@user-dc9zo7ek5j
@user-dc9zo7ek5j 4 дня назад
It seems to me that they have overengineered their architecture and are solving problems the hard way, because they are smart enough to do it. KISS.
@tejartr
@tejartr 4 дня назад
great make more good vidoes
@shellderp
@shellderp 4 дня назад
Relatively easy to scale when your customers don't interact
@smithwillnot
@smithwillnot 4 дня назад
What do you want to shard? Notion engineers: YES
@googleaccount7252
@googleaccount7252 4 дня назад
Really nice how do you edit your videos?
@_prothegee
@_prothegee 4 дня назад
96 cpu still overwhelmed? w00t?
@jricardoprog
@jricardoprog 4 дня назад
I'm living this dilemma, wtf
@red_amoguss
@red_amoguss 5 дней назад
sharding is stupid lol
@TokuyuuTV
@TokuyuuTV 5 дней назад
so educational and entertaining at the same time!! i know nothing about systems but the video was so well-paced and funny I kept watching
@kikisbytes
@kikisbytes 4 дня назад
Thank you Tokuyuu I'm going to cry now😭 Awaiting your next release!
@srki22
@srki22 5 дней назад
This shows why it was better to use a distributed DB in the first place. Cassandra, DynamoDB...
@bandit8258
@bandit8258 5 дней назад
Is this copying from neetcode video
@dominiksramko
@dominiksramko 5 дней назад
8:30 You should have mentioned that all the downstream layers need to be rebuilt as well. As changing one layer can have an effect on the other layers below it.
@kimfom
@kimfom 5 дней назад
a friend is asking... is that Rem? please ask your friend to share the document 😅
@tanko.reactions176
@tanko.reactions176 5 дней назад
this is over engineered and needlessly complex! a much better approach would have been to have sort of a gateway infront of the entire app, which redirects logins to the correct instance. redirecting does not mean the entire traffic is routed through the gateway, but rather the client gets meta information from the gateway, which instance it needs to talk to. from then on the client directly speaks to its instance. new registrations are only allowed on the latest instance. each instance has a max number of users. much easier to scale. all you gotto do is spin up a new instance (app+db) when the latest instance reaches 90% capacity and declare it as the latest in the gateway. this can be automated. gateway needs to be load balanced. that's it. something that will become necessary at some point is how to deal with a large dataset per user. the strategy is to delete data older than X years (legally usually 7 years). you will still have that data in your backups anyway. stupid people like complexity. because they are stupid and have the need to prove they are not, they cause mayhem.
@wz3xn9os3s
@wz3xn9os3s 5 дней назад
No, it is not fast enough! Obsidian rules!!!
@kittoh_
@kittoh_ 5 дней назад
Awesome content! What did you use for that animation? Very smooth.
@vedangmirashi
@vedangmirashi 5 дней назад
Awesome in-depth video. As stated in some other feedback comment, it might be a bit overwhelming for beginners or people with non-expert level of tech understanding (who are majority of the target audience on RU-vid). You could maybe incorporate some short explainations in about a concept (shard, pgbouncer, etc.). People who are interested in learning that concept can always go to a more detailed in-depth video (you can also route them to your topic related videos if available) More power to you and good luck! Subscribed
@xetera
@xetera 4 дня назад
I disagree, it's nice to see a channel just tell an animated story like an engineering blog without watering everything down to a tutorial like every other channel
@BenHouston3D
@BenHouston3D 5 дней назад
Just continually sharding their DB across more and more machines seems like a linear solution to their exponential user growth. Isn't there something they can change in their architecture to avoid needing 96 separate DB instances? That is sort of ridiculous.
@KenSnyder1
@KenSnyder1 5 дней назад
My thought too. I suspect they could make the application much smarter by putting in-progress work into a non-sql database to avoid frequent writes to postgres. Also, one row for each text block seems over normalized. End armchair analysis.
@user-dc9zo7ek5j
@user-dc9zo7ek5j 4 дня назад
Their team is big (It says that they are around 500 total employees), probably around 200, working on different parts of the app. Most of them probably fall into "this is not my job" or "I don't have enough power to say" type of situation and they keep patching.
@Zuriki09
@Zuriki09 День назад
​@@KenSnyder1 seems like it would just shift the problem to another system. OK, your pgsql isn't getting hammered with writes, but now your redis, mongodb, etc. is and then it's still going to push all that data to pgsql anyway and also you have to pull down from both pgsql for committed data and then reconcile that with uncommitted data in your intermediate store in order to get consistency for the user. For users they also tend to notice read delays more than write delays unless the write delay is substantial or catastrophically fails. Besides which, this video is narrowly focused on how they fixed specifically a database problem. We don't know if they already had other performance solutions in place such as caching unchanged blocks or whole documents to avoid database reads.
@kam1234554321
@kam1234554321 5 дней назад
If only my teammates could understand. I'm trying to explain the same to them and it looks like talking to a wall. I even had 1 person saying (btw. he has 7y of exp) "unit tests are more important than integration tests". Dude, if your graphics card, cpu, ram work separately - it doesn't mean they will work properly joined together. Then another person keeps creating mocks in integration tests or keeps verifying that serviceA was called x times in a unit test. I tried to explain to them multiple times that changing the implementation shouldn't break a unit test because we can't fix/improve the code and we should be able to verify that it still behaves the same. The answer always was "yeah, then in this case you should fix the code" and the entire team is like "yeah, I agree". Man, I'm already sending my resume and can't wait to change my job... I'm just tired of that shit... I feel like I'm working with interns but these people are almost 10 years in the business...
@PostMasterNick
@PostMasterNick 5 дней назад
The things that come to mind when I see this: replication and upgrades. Good luck Notion!
@mr.daniish
@mr.daniish 5 дней назад
how the fuck do you know all this? great video though
@vorandrew
@vorandrew 5 дней назад
how do you do your animations?
@leomysky
@leomysky 5 дней назад
Thanks for the video Amazing job
@LumiLumiLumiLumiLumiLumiLumiL
@LumiLumiLumiLumiLumiLumiLumiL 5 дней назад
I can hear the saliva running down his chin as he speaks...
@kikisbytes
@kikisbytes 5 дней назад
sorry talking about sharding gets me going
@LumiLumiLumiLumiLumiLumiLumiL
@LumiLumiLumiLumiLumiLumiLumiL 5 дней назад
@@kikisbytes nice save, earned you a sub!
@user-dc9zo7ek5j
@user-dc9zo7ek5j 4 дня назад
@@LumiLumiLumiLumiLumiLumiLumiL This is ASMR.
@bobby_tablez
@bobby_tablez 5 дней назад
Incredible video. I can't help but feel like, at some point, humanity will stumble upon the right paradigm of data distribution. There's no way this is the ideal method of scaling, right? It seems to me like much of the effort companies put into scaling is simply undoing flawed assumptions made by the underlying database.
@dmitrychernivetsky5876
@dmitrychernivetsky5876 5 дней назад
I mean, a lot of issues described here are limitation of postgres specifically. For example, the whole pgbouncer nonsense is not needed in something like mysql. The reason it exists is because postgres team took some idiotic philosophical stance on it and instead of including its functionality into postgres itself it now lives on its own. Read scaling is also straightforward with something like percona xtradb or any other galera type cluster in mysql land. Want more performant reads? no problem, just join the new node into the cluster. Heck write scaling there is also pretty trivial, you just setup as many of these clusters as you want and migrate the clients' data to new cluster. It's just postgres that is the problem here.
@chhihihi
@chhihihi 5 дней назад
Brah, they need to start looking into no sql databases like Scylla or Cassandra if their volume is this high.