How Discord Stores Trillions of Messages | Deep Dive

  Рет қаралды 173,556

Hussein Nasser

Hussein Nasser

Күн бұрын

Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Discord engineering goes into details of how they migrated from Cassandra to ScyllaDB, improved the performance of their reads and writes and rearchitected their backend to support the new load. It is an interesting episode lets get into it
0:00 Intro
1:50 Relational vs Distributed
7:00 The Cassandra Troubles
11:00 SnowFlake vs UUID
14:30 B+Tree
19:20 B+Tree and SSDs
25:30 LSM Trees
31:00 Hot partitions
36:00 Cassandra Garbage Collector Pauses
40:00 Changing the Architecture
45:00 The Data Services
55:00 The Migration
1:02:00 Zoned Named Spaces
1:04:00 Summary
Article here How Discord Stores Trillions of Messages
/ discord
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
backend.husseinnasser.com
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Follow me on Medium
/ membership
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on KZbin
/ @hnasr
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
/ @husseinnasser
🔥 Members Only Content
• Members-only videos
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
• Database Engineering
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/6...
Stay Awesome,
Hussein

Пікірлер: 170
@hnasr
@hnasr Жыл бұрын
Fundamentals of Database Engineering Course database.husseinnasser.com
@harriehausenman8623
@harriehausenman8623 Жыл бұрын
Just one small note: I think you should really like (♥) some comments, old al-Khwarizmi really seems to like that 😉
@HadiAriakia
@HadiAriakia Жыл бұрын
Sorry mate, already purchased 😂 virtually on the release date. I definitely recommend it to anyone interested to be a good data engineer.
@cybermindable
@cybermindable Жыл бұрын
I really like this format of video. You reading complex technical stuff and thinking about it out loud. Learned a lot and looking forward for more content!
@Att4ni
@Att4ni Жыл бұрын
a little difficult to swallow but i agree that it is very beneficial, as long as you have an hour and some patience. love his videos, and he has a great presence too!
@harriehausenman8623
@harriehausenman8623 Жыл бұрын
The material itself is quite complicated and as usual, all the nifty little details count, when it comes down to performance and scaling. The way it is present, this discourse (no pun intended), is very easy to follow for me and it feels like I get more understanding out of it that a lot of these expensive "certification" courses. 😆
@Att4ni
@Att4ni Жыл бұрын
@@harriehausenman8623 Absolutely, I love the conversational nature of his videos. Blows my mind sometimes that people think you need to spend thousands on courses, when most information is online for free. Often times the only thing holding people back is their own will to learn
@D3FKONMusik123
@D3FKONMusik123 Жыл бұрын
The best youtuber to watch at 1.5x speed
@fleap
@fleap Жыл бұрын
🤣
@thedankest1974
@thedankest1974 Жыл бұрын
This guy talks way too slow. Like get to the point bro
@brucewayne2480
@brucewayne2480 Жыл бұрын
​@@thedankest1974 this is my problem with hussein , even though his content is very interesting but I wait a lot to hear something new and his videos are so long 😛
@AbhinavKulshreshtha
@AbhinavKulshreshtha Жыл бұрын
At 1.5x, over 80% of the video felt like a normal speed video. You won't miss anything.
@alexquix6394
@alexquix6394 Жыл бұрын
I really appreciate that he talks slow, I am not native speaker
@TylerTriesTech
@TylerTriesTech Жыл бұрын
This has to be one of my favorite videos on your channel. Your live reactions and excitement about this stuff is fun to watch.
@javaadpatel9097
@javaadpatel9097 Жыл бұрын
The depth of this video and the amount of knowledge shared was amazing. I read the blog post before this and learned a lot, but having you explain things in so much more detail gave me a whole lot more learnings. Thanks for the great content.
@thatguyadarsh
@thatguyadarsh Жыл бұрын
What a great in depth thought provoking awesome analysis! Thanks for all your work Hussein. Much appreciated!!
@dhananjayraut
@dhananjayraut Жыл бұрын
I love how tagging @everyone was resulting in their on-call team getting paged for hot partition issues lol
@HadiAriakia
@HadiAriakia Жыл бұрын
It is virtually impossible to make me switch notifications on for any channel on KZbin but this video left me with no choice 😂. Notifications are switched on. So informative. Love it mate.
@ysldev7960
@ysldev7960 Жыл бұрын
I just love the deep dive videos and discussing advanced software architecture and related topics.We should have more of these on youtube!
@Coding_knight
@Coding_knight Жыл бұрын
Very informative video as usual my lord & people have commented that your video is really slow but I don't think so, many non native English speakers watch your video it's the right speed for them & at the end of the day explain the content in the speed you are comfortable in!
@hitmusicworldwide
@hitmusicworldwide Жыл бұрын
True. Hussein's accent is never a problem, as are other KZbinrs whose native language is not English, and his pace is not zoomed up on mountain dew extra caffeinated speed talk, which is really unusable as way too many native speakers feel compelled to firehose out in their Gatling gun tutorials. My problem is I don't have a lot of people who are deeply into this sort of musing amongst my friends so listening to Hussein work it out with us is intellectually interesting to me and has value. I do know senior software engineers, they tell me they don't want to talk about work. They are basically 15-year-olds in 35-year-old bodies they want to talk about my specialty, international politics, but I tell them I don't want to talk about work when I'm not working as well. I'm interested in Hussein's approach because it often comes from a higher architectural level of looking at how to solve these problems I find that the most interesting thing about engineering re problem solving of all types. People like this are not just doing this to make money they're doing it because it has real value to them as an intellectual pursuit.
@harriehausenman8623
@harriehausenman8623 Жыл бұрын
The faster speeds (1.5 and higher) work MUCH better when the source is slightly slower, instead of slightly faster. A lot of YTbers make that mistake (to try to talk fast) and almost everyone I know watches on faster speeds. But since everyone has their own speed, I think it is better to make the source slow, so even 2x people still get chrystal clear words.
@AleksandarT10
@AleksandarT10 Жыл бұрын
Great Blog Post! That was a great explanation Hussein! Keep up the good work
@harriehausenman8623
@harriehausenman8623 Жыл бұрын
Amazing content! I like the setting, the voice is nice and calm , you take your time to think inbetween sentences (rare skill!! 😆) and the general awareness of speech is crucial for computer science (and handywork). Thanks so much! 🤗 Oh, and the actual content/deep-dive is on-point.
@kooperl
@kooperl Жыл бұрын
Blows my mind that this stuff is just on the internet for free (especially the blog) (especially Hussein's analysis)
@nishantgoel769
@nishantgoel769 11 ай бұрын
Superlike.... Your way of narrating the article makes it like a Nolan Movie. love the way you deliver this article. Thanks Hussein for creating such wonderful videos
@davidtheprogrammer
@davidtheprogrammer Жыл бұрын
This is fantastic! Thanks for the deep dive, learned a lot
@notpublic7149
@notpublic7149 Жыл бұрын
Thank you for going into detail instead of the typical. 5 minutes of a ppt that really gets me no knowledge that's actually useful. You sir are pro providing a public service. TY 👍
@AkashKamal1998
@AkashKamal1998 10 ай бұрын
The discord series of yours taught me alot. Thank you so much.
@SahilP2648
@SahilP2648 Жыл бұрын
Can I just say something? In today's age of disappointingly simplistic and drab logos, Cassandra's logo seems to literally be an eye of a sci-fi goddess which can see the universe or star systems. Really cool. One of my favorites, if not my most favorite logo ever.
@emonymph6911
@emonymph6911 Жыл бұрын
Thanks for that it made me appreciate it more.
@ValentinBaca
@ValentinBaca Жыл бұрын
(If you or others aren't aware) Cassandra was an oracle (ha! get it!) whose curse was to be able to see the future correctly but whose warnings wouldn't never be taken seriously.
@sevdalink6676
@sevdalink6676 Жыл бұрын
Where did you gain such an amount of knowledge and understanding? While you are explaining I can literally see how you imagine the whole micro and macro IT world. I would never be capable to understand the text alone. Thanks.
@rocstar3000
@rocstar3000 Жыл бұрын
Amazing video and analysis. Loved it, please do more.
@devyetii
@devyetii 4 ай бұрын
I think they first moved all the dbs to scylla except for the messages cluster, then started optimizing their scylla cluster alongside working on the data services, which they used for both scylla and Cassandra clusters. Their migration plan includes moving their messages cluster to scylla as well as moving their current scylla clusters to their new optimized scylla deployments. That's what came to mind reading through the article. Thanks for the useful content!
@thirislifelogs
@thirislifelogs Жыл бұрын
This is awesome. i have gained a lot of knowledge from this. Thank you!
@TheNayanava
@TheNayanava Жыл бұрын
Amazing stuff!! I think memtables are stored in the form of RB trees or AVL trees, so they are already sorted, they are then serialized and stored in the form of sorted string tables. Second point additionally on compaction, it is not very efficient to perform compactions because it steals CPU cycles, and would pre-empt serving actual user requests.
@Bertie_Ahern
@Bertie_Ahern Жыл бұрын
No idea about the subject but relaxing voice, good ASMR.
@quintencabo
@quintencabo Жыл бұрын
Love the deep dive!!!!
@sj82516
@sj82516 Жыл бұрын
Awesome deep dive into the article. I learnt a lot more comparing to read the article alone. I bought your courses and look forward to learn more on DB. I got one question I would like to ask. about the data migration, I think the dual writing is quite tricky. It cannot guarantee the data consistency. I am wondering how the make sure the data is exact the same in Cassandra and ScyllaDB, which means how they guarantee the dual write must fail or success all at once.
@woolfel
@woolfel 9 ай бұрын
a common recommendation for Cassandra is date based UUID. This goes back to pre 1.0 release, so it's preferred over random UUID. Using Cassandra as a database for messaging system is a known anti-pattern going back to version 1.x days.
@yxor
@yxor Жыл бұрын
Love the video, keep up the good stuff
@yxor
@yxor Жыл бұрын
I enjoy your pace, perfect to listen to while relaxing
@Erwin_Anderson
@Erwin_Anderson Жыл бұрын
great format) looking forward for more ) Thanks for the content)
@chanep1
@chanep1 Жыл бұрын
Excellent! keep doing more videos like this
@js__k984
@js__k984 Жыл бұрын
great idea! Thank you for sharing
@anuragshah3433
@anuragshah3433 Жыл бұрын
Hi Hussein, loving your videos. I have a doubt and would love to discuss with you, at 51:30 you discuss how they now query the database only once by spinning up a worker node. My question is, we are still making a request to find if there is a worker running, will that not bring us back to the same problem? Or are we saying we'll be storing these worker id and the task it is working on in memory? Please do share your thoughts.
@marcello4258
@marcello4258 11 ай бұрын
Just saw the “old” video moving to Cassandra and saw the hilarious comment about moving to cylliba😂😂
@fernandozago
@fernandozago Жыл бұрын
This is a great use case for testing any actor model systems out there for "caching" and "coalesing" calls... =)
@amarchmike
@amarchmike Жыл бұрын
Thanks for the good information
@RadityoPrasetiantoWibowo
@RadityoPrasetiantoWibowo Жыл бұрын
hi nasser, nice video !
@YasheshBharti
@YasheshBharti Жыл бұрын
Hussein, Love your videos :) can you do one for Vector Databases?
@ebalogun1025
@ebalogun1025 Жыл бұрын
Enjoyed your video 👍
@0xc0ffee_
@0xc0ffee_ Жыл бұрын
Can I pay you for lessons/coaching? You're the most amazing teacher I've ever listened to. :O
@adolfdassler7857
@adolfdassler7857 Жыл бұрын
what's the extension you used to look up 'chagrin'?
@fs811523
@fs811523 Жыл бұрын
Although I had the same question about why not use cache? I think a message can be edited (as quick as in seconds in chatting). That's leading to inconsistency if we cache the original one. How to notify cache servers about the new edition of a message? That's why I think they have to query the DB every time for the latest version of a message (QUORUM).
@never308
@never308 Жыл бұрын
Do you have a discord server? If not, I think it would be great to create one, so we can ask questions and be notified of your work.
@shashankkumar1802
@shashankkumar1802 Жыл бұрын
love it. love it. love it
@harriehausenman8623
@harriehausenman8623 Жыл бұрын
As I understand it, they first moved everything *except* cassandra-messages to ScyllaDB, then did the API/Service thing, and this bought them some time to prepare for the final migration to scylla-messages. I suppose both are "clusters" in a way. /idk confusing wording in the post.
@pollathajeeva23
@pollathajeeva23 Жыл бұрын
So just curious about Document db's what if we store the elastic search (Lucene indexer) with Raft consensus for consistency of data.
@pollathajeeva23
@pollathajeeva23 Жыл бұрын
​@@THEROOT1111 Hmmm, Time Series runs here what do you think about this?
@livingdeathD
@livingdeathD 9 ай бұрын
great video👍
@woolfel
@woolfel 9 ай бұрын
basically discord implemented smart driver to fix the issue. One long standing issue with the original thrift drivers is it wasn't smart. That caused a lot of IO thrashing and especially under load if there are hot partitions. When datastax introduced a newer protocol for non-thrift drivers, it was primarily to fix async read/write issues.
@mystic_monk55
@mystic_monk55 Жыл бұрын
Thanks for the teaching sir 🙏, keep up the good work 🙂
@md-ayaz
@md-ayaz Жыл бұрын
Do we have a similar thing for SQL database, where querying is faster and cheaper where there are billion records?
@Bukalemur
@Bukalemur Жыл бұрын
Does anyone knows what is the equivalent feature/plugin of the lookup feature at 7:29 for Firefox ???
@24milleniums
@24milleniums Жыл бұрын
I have no idea what you're saying but I like your voice, so I watched for an hour.
@harriehausenman8623
@harriehausenman8623 Жыл бұрын
Quality comment! 🤗
@DJpiya1
@DJpiya1 6 ай бұрын
They could have easily rectified this with another first level cache like Redis and without implementing all those bells and whistles, including that unnecessary migration. Cassandra is always good for high throughput writes, but it is hardly recommended to use high concurrent reads by a real-time client while that writing take place. We r handling over multi Gb messages per second write with Cassandra and the problem they have mentioned aren't suprise me. The reason is, their partition key and required access pattern. They r putting all the messages related to certain discution session on a single partition, but when such a session is active all read write goes to that partition creating a hot partition. We resolve similar use cases in past by moving such highly interactive live sessions to first level cache like Redis with a TTL. With Redis we can support that message edit feature as well. This won't need a petabyte level of memory, coz we only keep the live sessions. So I don't think we need to re-invent the wheel at all. Just use the right tool for right requirement. However, may be there is a reason which is not mentioned, not to use this approach.
@PhuongNguyen-gq8yq
@PhuongNguyen-gq8yq Жыл бұрын
Why are then running into one hot problem? Isn't data replicated across multiple node? Can they/cassandra just redirect the request to others??
@abcdef-fo1tf
@abcdef-fo1tf Жыл бұрын
I'm a little confused about the data service serving data with request coalescing. Couldn't they of just added a traditional cache between their servers and DB?
@stunna4498
@stunna4498 Жыл бұрын
if they used a relation database from the start would they still face this scalling problems?
@user-qd3jm9vp4y
@user-qd3jm9vp4y Ай бұрын
why spin-up a worker thread instead of caching in the monolith server ? is there an advantage in doing that ?
@datasleek7950
@datasleek7950 8 ай бұрын
Yeah, not surprise about Caddandra. They should have taken a look at Singlestore DB. They store trillion of record, scale petabytes.
@panixx8289
@panixx8289 Жыл бұрын
What’s the difference between the data service layer and a cache, it’s basically the same thing 😕
@hitmusicworldwide
@hitmusicworldwide Жыл бұрын
Soooo if I want to obfuscate and make more difficult the reconstruction of stored data, I can use random ( or perhaps seemingly random with a pattern ) uuid's. Thanks! A solution to an efficiency problem may provide a methodological attribute or layer to a cryptographic architecture.
@EvileDik
@EvileDik Жыл бұрын
Indeed this is why we use randomised GUIDs for secure personal data , Discord has very low security needs so this is not so much of an issue. A typical case is where storing family data, a sequential ID scheme would add all the family members with similar values, if an attacker wants to enumerate the family members, this makes the task significantly easier, if you have an ID for one family member. As a greybeard, it is quite funny to watch new projects re-invent the wheel ore even undo hard won lessons of the past.
@willi1978
@willi1978 Жыл бұрын
cool video. Cassandra / scylladb sound interesting but it seems a lot more complex than a relational dB. How many of you tried out neondb?
@philheathslegalteam
@philheathslegalteam Жыл бұрын
Neon is good. But it has some timeout issues from S3 scale down logic as it’s in beta. For my case I had to drop it because it breaks Prisma DB pushes. They also don’t have a pricing model yet so be very wary about prod usage.
@kevinb1594
@kevinb1594 Жыл бұрын
Whose realm would all this work/knowledge fall into? I'm a front end dev working to become a full stack dev and the complexity of all this API/backend stuff is just completely overwhelming. Considering the ever changing and wide breadth of front end technologies, I don't see how it's possible to keep up - especially since serverless and some dev ops is being pushed into our domain...
@IvanRandomDude
@IvanRandomDude Жыл бұрын
This is backend, obviously.
@andythedishwasher1117
@andythedishwasher1117 Жыл бұрын
We have specializations for reasons similar to the frustration you're experiencing. The trick is to find an area where you can do a lot with minimal cognitive overhead in relation to the way you personally think. You don't keep up so much as you just listen and learn patiently. And build stuff. That's important. Gotta keep building stuff or nothing will make sense in the future any more than it does now.
@willi1978
@willi1978 Жыл бұрын
I guess they could use Scylla/Cassandra in analogy since Scylla is a rewrite of Cassandra that claims to be 10x faster
@xslvrxslwt
@xslvrxslwt Жыл бұрын
because it is. everything that uses Java is so bad 💀
@tejaswan
@tejaswan Жыл бұрын
Just read the article and you posted the video.
@HowDoYouUseSpaceBar
@HowDoYouUseSpaceBar Жыл бұрын
@@faris2448 ...wat
@nicustroh
@nicustroh Жыл бұрын
cassandra will read from memory if the data is in the memtable (in memory) - otherwise it will need to use the SSTables (disk).
@AlexBrunner94
@AlexBrunner94 Жыл бұрын
Will there be a Video on the recent Datadog outage?
@luciuspertis5672
@luciuspertis5672 Жыл бұрын
I didn't understand how hashing to ds would increase coalescing?? 52:52
@CODFactory
@CODFactory Жыл бұрын
so what did they do with garbage collector in scylla? they are not collecting the garbage and that memory is being unused now?
@hintzod
@hintzod Жыл бұрын
scylla is written in c++. There is no garbage collection in c++, the software developer need to manually delete data in memory that is not needed, or else they will have memory leaks and dangling pointers.
@richie7425
@richie7425 Жыл бұрын
guids can be time based guids can be sorted however which is what Cassandra can use.
@kebman
@kebman Жыл бұрын
Chagrin is a special form of stress. Not really stress as in stress, but more of an annoyance, where you'd make a face.
@VedullaKrishna
@VedullaKrishna Жыл бұрын
TBH, reading the blog post is a better choice than watching this video.
@tahirraza2590
@tahirraza2590 Жыл бұрын
Now I can say I know a thing r two about IOs, SSDs and Cassandra
@iyxan2340
@iyxan2340 Жыл бұрын
I really love the deep dive format of these videos, I just wanted to give a bit of a suggestion: can you talk a bit faster and like get rid of delays? I occassionally get bored being too impatient about what you're going to be explaining. It's a bit of a shame for me that these very interesting content becomes boring just because of the way you talk. Anyways, keep up the good work 👍
@user-qr4jf4tv2x
@user-qr4jf4tv2x Жыл бұрын
redit allowed edit but they achieve it when post becomes idle
@DFPercush
@DFPercush Жыл бұрын
Fascinating! But why on earth can't the database cache its most recently inserted elements on its own? That makes no sense to me. Or at least cache at the OS level. It *has* to read the physical disk every time someone reads a message?! No wonder they were having latency problems. Glad to hear they solved it anyway.
@irvinge4641
@irvinge4641 Жыл бұрын
Doing god's work omg, learned so much from just listening to you
@benlu
@benlu Жыл бұрын
I don't get why reads are reading from the database, the data should be in the memtable and multiple requests at the same time should be reading from the same memtable entry
@kozlovskyi
@kozlovskyi Жыл бұрын
Basically, they replaced Java garbage with same DB, but implemented in C++
@mostafamekawy5425
@mostafamekawy5425 Жыл бұрын
I am confused with their data services choice. Why not just use a cache layer ?
@bluecup25
@bluecup25 Жыл бұрын
I'm wondering that too... I'm guessing the advantage of this approach would be virtually no memory usage apart from probably some buffers and keeping track of subscribers. So no extra writes for caching, just redirect the same response to multiple clients.
@willi1978
@willi1978 Жыл бұрын
Coaching seems simpler than request grouping. I would prefer that too
@bluecup25
@bluecup25 Жыл бұрын
@@willi1978 Yeah, but caching requires memory and performing extra writes / reads.
@erkinalp
@erkinalp Жыл бұрын
They prefer a dumb database, predefined queries architecture.
@aramikm
@aramikm Жыл бұрын
Caching requires invalidating! I assume based on their specific usecase that a lot of requests came at exactly same time (which was causing the hotspots) they preferred a more transient approach.
@SuRFaceGoD
@SuRFaceGoD Жыл бұрын
Also Migration might be due the new AutoMod AI integration
@hashcheel
@hashcheel 11 ай бұрын
Why won't they simply use a distributed cache instead of creating all that infra of data services library, worker node, managing subscriptions, etc? They introduced a bunch of failure points in the system and maintenance overhead with this solution. Isn't a distributed cache the standard obvious solution to all hot partition problems?
@woolfel
@woolfel 9 ай бұрын
The old RDBMS master-slave design doesn't scale well for global distributed platform. Even if you use transactor design like Datomic, you can still overwhelm the cluster. Then there's designs used by data grids like Coherence. Scaling a database to trillions of message is tough. Even oracle RAC would have a tough time scaling for this type of load.
@asifarko5884
@asifarko5884 Жыл бұрын
I think they migrated to scylla except one. The core I think which still was huge was in cassandra. That's where I think we have a confusion.
@hck1bloodday
@hck1bloodday Жыл бұрын
he skipped the part in the article where it says that reverse order queryin was too slow for them, but ScyllaDB people improved that use casae for them and no longer had roadblocks to migrate the mian database, si I believe they migrated everything
@catharsis222
@catharsis222 Жыл бұрын
This video was not to my chagrin
@paligamy93
@paligamy93 Жыл бұрын
Shagrin is spelled with a ch???
@32zim32
@32zim32 Жыл бұрын
Don't understand why they can not distribute requests to unlimited number of replicas. Very strange
@stormsake
@stormsake 11 ай бұрын
why not simply memcached?
@rudzon
@rudzon Жыл бұрын
so they deduplicated and balanced reads
@MarkJones
@MarkJones Жыл бұрын
I wonder how long this video would have been had it recorded without the pauses in speech. Luckily YT has 1.5x playback speed
@chrishabgood8900
@chrishabgood8900 Жыл бұрын
rust is super hard.
@0xpatrakar
@0xpatrakar Жыл бұрын
Chagrin 😂
@ConAim
@ConAim Жыл бұрын
Now let go back to MongoDB... :)
@user-ij5tq6sp2x
@user-ij5tq6sp2x Жыл бұрын
How do you have so much knowledge about vastly different domains when you don't even look middle aged? 😭I really wanna know. Are you so passionate about tech that you're almost always immersed in it? Do you have other hobbies? Do you get time to go out or play? Or you just a really quick learner?
@myronkipa2530
@myronkipa2530 Жыл бұрын
I sharted indeed
@RaZziaN1
@RaZziaN1 Жыл бұрын
Client messaging app ? wtf ? its not
@ihateidiots9484
@ihateidiots9484 Жыл бұрын
The problem exists in entire IT industry. Facebook created React for Facebook needs and lots of stupid developers start to use it because "it's a Facebook way, they can't be wrong". But most of apps have different requirements and are not social network at all. That leads to awful architecture and stupid design. The same problem exists in the backend side. I've seen a lot of stupid decisions in projects just because they are the "Netflix way of making microservices". Facepalm.
@filipsworks
@filipsworks Жыл бұрын
And all of this could be avoided by simply releasing a Self-Hosted version...
@D9ID9I
@D9ID9I Жыл бұрын
Seems they been running for multiple years without having any caching on top of traditional hdd's with improperly working load balancer and still managed to success. Wow, modern technologies are so tolerant to weak decisions. But they still believe that Rust is the cure 😂
@ekadet7882
@ekadet7882 Жыл бұрын
The increase playback speed button has never been so useful.
@laksithakumara
@laksithakumara 9 ай бұрын
Discord using Scylla DB now because Cassandra is suck
@yes-ni1od
@yes-ni1od Жыл бұрын
I arrived at this video from a Twitter post I saw. This video is a lot of talking for very little reason; I feel like you are just blabbering on. I was tempted to purchase your Udemy guide, but after watching this video I feel like your guide content will just be videos of you talking about databases without any practical implementations or demos.
A Deep Dive in How Slow SELECT * is
39:24
Hussein Nasser
Рет қаралды 36 М.
Threads and Connections | The Backend Engineering Show
49:30
Hussein Nasser
Рет қаралды 63 М.
Heartwarming: Stranger Saves Puppy from Hot Car #shorts
00:22
Fabiosa Best Lifehacks
Рет қаралды 17 МЛН
버블티로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 100 МЛН
Василиса наняла личного массажиста 😂 #shorts
00:22
Денис Кукояка
Рет қаралды 10 МЛН
How Discord Stores TRILLIONS of Messages
13:06
Coding with Lewis
Рет қаралды 654 М.
Cassandra vs. ScyllaDB: Evolutionary Differences
43:41
ScyllaDB
Рет қаралды 266
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Рет қаралды 1 МЛН
50 BILLION MESSAGES PER DAY WITH 32 ENGINEERS | Prime Reacts
14:58
ThePrimeTime
Рет қаралды 439 М.
Prime Video Swaps Microservices for Monolith: 90% Cost Reduction
35:10
Hussein Nasser
Рет қаралды 156 М.
What happens before the Backend gets the Request
51:26
Hussein Nasser
Рет қаралды 47 М.
Discord Stores BILLIONS of messages using this database
11:41
Coding with Lewis
Рет қаралды 183 М.
20 System Design Concepts Explained in 10 Minutes
11:41
NeetCode
Рет қаралды 900 М.
All Postgres Locks Explained | A Deep Dive
48:23
Hussein Nasser
Рет қаралды 32 М.
7 Database Paradigms
9:53
Fireship
Рет қаралды 1,5 МЛН
Как слушать музыку с помощью чека?
0:36
Hisense Official Flagship Store Hisense is the champion What is going on?
0:11
Special Effects Funny 44
Рет қаралды 2,6 МЛН
Secret Wireless charger 😱 #shorts
0:28
Mr DegrEE
Рет қаралды 2,5 МЛН
Choose a phone for your mom
0:20
ChooseGift
Рет қаралды 4,7 МЛН