Quick Note: Relational Databases are not called "Relational" because data in one table is related to data in another table. Even if the database doesn't have any foreign key, it is still relational. Relational Databases are called "Relational" because the whole database is based on Relational Algebra that Edgar Codd created. That algebra provides operations like projection and join. Relation here means a set of tuples. You can actually check the book "The relational model for database management" by Codd. If you have a grasp of first order logic and basic set theory, it is a fascinating read.
@georgejonsson48194 жыл бұрын
I was going to comment on this as well. Otherwise great video, as far as I can tell.
@neildutoit51774 жыл бұрын
It's not a small point. It's probably the biggest misunderstanding in databases our there and it's about as fundamental of a misunderstanding as they come.
@R_V_4 жыл бұрын
Indeed. Relational databases are called so because each table represents a relationship between elements of a certain (departure, primary key...) set and another (arrival, attributes...) set, in a mathematical sense, which is a subset of the Cartesian product between these two sets. The fact that tables are joinable is due to the arrival set of a certain relationship being the departure set of another one. Mathematically, these relationships can be composed.
@Duiker364 жыл бұрын
I feel like neither of these two explanations adequately captures why the model is called "relational": it's because the data is presented as a "relation". A relation is a set of tuples that have the same schema. The most obvious way to present a relation is as a table, because the relation's schema provides the columns, and the tuples can be presented as rows. The consistency of the schema's definition makes it possible to do mathematical operations, i.e. "tuple calculus" and "relational algebra", which leads to why denormalization is important and how two relations can be joined together. Unfortunately, this understanding doesn't really help someone figure out trade-offs between different database paradigms, whereas the misunderstanding given by the video does, because there's nothing terribly non-relational about (for example) a key-value store; the difference is in the tooling, optimization biases, and infrastructure choices made.
@neildutoit51774 жыл бұрын
@@Duiker36 What about maintainability, adaptability, and scalability? When your boss comes in on a Monday morning and asks you for a report of all customers with recently opened accounts who were contacted by a sales rep who lives in 4th street, what matters is not your infrastructure or tooling or optimisation. What matters is your schema. You can only understand that if you understand why it's called relational. key value stores don't have that capability.
@surendramaran57784 жыл бұрын
I must agree, this is one of the best database defining video on the internet.
@DevsLikeUs4 жыл бұрын
I agree
@RasmusSchultz4 жыл бұрын
It's also a concealed ad for FaunaDB. How come no other competitors in the same space were mentioned, like it was for the other DB types? "Best for everything", oh, please - other database types, and other databases in that same space, are thriving quite well.
@exactzero4 жыл бұрын
@@RasmusSchultz So what. Are you also not going to mention how many times he mentions Firebase? Or how it's basically his brand?
@RasmusSchultz4 жыл бұрын
@@exactzero huh? Firebase is a Google product - pretty sure this has nothing to do with Fireship? Not sure what your point is.
@exactzero4 жыл бұрын
@@RasmusSchultz Many of his tutorials and courses tackle Firebase services. The channel's color scheme and branding is similar to Firebase. Even the channel name's half of Firebase. If you don't see that, you shouldn't complain of a FaunaDB ad.
@aleksandarstevanovic58544 жыл бұрын
You know why frontend devs have lunch alone? They don't know how to join tables
@KangJangkrik4 жыл бұрын
Why backend devs can't draw? Uhh... I dunno, my brain is undefined
@rajesh-royal4 жыл бұрын
lol 😅
@app111204 жыл бұрын
amateur
@michaelstollairetbarceo32874 жыл бұрын
Microsoft devs wear glasses because they need to C sharp.
@aleksandarstevanovic58544 жыл бұрын
@@michaelstollairetbarceo3287 hahah, that one is gold
@locobob7 ай бұрын
You didn’t cover Excel tables.
@kobbimensah5477 ай бұрын
Funny
@ping_th4 ай бұрын
it’s same as sql
@Ziggler-e9f4 ай бұрын
😂
@IM-pt4vr4 жыл бұрын
THIS VIDEO IS JUST WHAT I ALWAYS WANTED simple and elegant description for DBs THANK YOU YOU ARE A KING
@vuelancer4 жыл бұрын
One of the best videos by fireship!
@wiz79034 жыл бұрын
No, they are all the best
@vuelancer4 жыл бұрын
@@wiz7903 Every subscriber will watch fireship bcz of the good quality content...
@sharank4 жыл бұрын
5:57 I like how you edited acid effect while discussing ACID property
@jackdumanat494 жыл бұрын
lol yeah it's a tame impala's album cover for Innerspeaker... and tame impala makes psychedelic music.
@dblaze2310 ай бұрын
Also his voice
@LabGecko Жыл бұрын
4:52 to 5:52 Best explanation of relational databases I've ever seen. 60 seconds very well spent!
@InglesPilipino4 жыл бұрын
No joke, I'm learning more from these videos than I ever did in 6 years of college and grad school
@jgabt3 жыл бұрын
jokes on you, i use notepad
@lhard123l7 ай бұрын
I suggest to use postgres to run Django inside it using extension and store data in txt files like expert Masters store files as png and ocr then
@work_with_Kin20 күн бұрын
I use Google sheets, jokes on you
@imransefat87704 жыл бұрын
This is the best detailed explanation of databases I've ever seen. I'm in 3rd year of CS (undergraduate) but didn't have a chance to know about all of this massive yet beautifully explained information about databases. Thanks a lot Jeff.
@aliimrankazan32942 жыл бұрын
Ohhh we have the same name!
@TuringTested012 жыл бұрын
@@aliimrankazan3294 both are chutiya
@aliimrankazan32942 жыл бұрын
@@TuringTested01 ???
@DanielosCompaneros4 жыл бұрын
Dude! You're a salesman of knowledge! It's so interesting!!! LOVE IT 😊
@madhavanand7563 жыл бұрын
1. Key-Value Database - Redis, Memcached, etcd #Like JSON, SET(to add value), GET(to retrieve), data held in machine memory not on hard disk. Thus, Superfast and mainly used for cache, PUB/SUB etc. 2. Wide Column Database - Cassandra, Hbase # Handles unstructured data, uses CQL(Contextual Query Language), mainly for storing history etc. 3. Document Oriented Database - MongoDB, Firestore etc. # JSON unstructured document 4. Relational Database - MySQL, PostgreSQL etc. # Uses SQL and also ACID compliant Cockroach Labs - More optimized for scalability 5. Graph - Neo4j, Dgraph # Uses Cypher for querying, often used in building knowledge base, recommendation engine etc. 6. Search Engine - elastic, Solr(Most of them are on the top of Apache lucene project) Cloud Based - Algolia, MeiliSearch # These are Full Text database. An index like in the back of the book is created. On search, an index is searched on the object. 7. Multi-Model Database - FaunaDB Uses GraphQL # Just define how want to consume data, and it will automatically figure out how to take the best advantage of all paradigms. The best. Other data warehouse, time-series
@theblacktechexperience4 жыл бұрын
I bet you learn so much from teaching this stuff. I’m so envious.
@piemaster65124 жыл бұрын
When I was in college I was an impromptu tutor for my friends, because I was a year ahead of most of them. I learned more than when I took the classes, because I was teaching it to them. Really helped me in the long run!
@user729744 жыл бұрын
@@piemaster6512 Tutoring is the best life hack ever as a student. Get paid more than shit minimum wage jobs to study and end up graduating top of your class? Yes plz. Also, you develop communication skills so you end up ready to go for job interviews and stuff by the time you graduate.
@gerooq4 жыл бұрын
@@user72974 what do you teach?
@mitch7w4 жыл бұрын
Studying 3rd year computer engineering and your videos are educating me in so many awesome ways. Especially your cloud computing in 2020 video. Have watched it three times now! Are you going to make more cloud computing overview videos soon? Your knowledge about how they work, their economics and how it affects the end user are so enthralling! :)
@benzflynn4 жыл бұрын
0:49 _and points to some value_ In fact the key can point to a list, set or map, hyperloglog, stream or even geospatial data via geohash. In short it can point to either a single value or a 1-D collection. 1:50 _Wide column adds another dimension_ . This means that each value in the row opposite each key can be a 1-D collection in itself. So each key links to a 2-D collection of data. 2:58 _each document is a container for key-value pairs_ Each cell within each document is a location for a 1-D collection, key-value collection or sub-document.
@akshattamrakar90714 жыл бұрын
It's definitely the flagship video of fireship, so many new things I learned that I didn't even knew about.
@kzrfaisal4 жыл бұрын
7:58 Man that indexing example cleared everything regarding index in elastic search for me.......Respect .
@mihir71264 жыл бұрын
This is the most detailed and crisp introduction to databases I've ever seen after my 4 years of engineering. Thanks man!
@2yaya1234 жыл бұрын
One of the best videos about databases ive ever seen if not the best.
@RobertBrunhage4 жыл бұрын
Woh that paper effect was amazing 0:29, did you use After Effects for it?
@Fireship4 жыл бұрын
Yup
@gradientO4 жыл бұрын
Wow! You just summarised books in 10min video! For videos of these qualities, we can wait for months! Thanks
@magellan1244 жыл бұрын
Why has youtube never recommended this channel until today?! This guy is awesome
@larshelmin3 жыл бұрын
Wondering the same thing 8 months later..
@darshangowda3094 жыл бұрын
This is the first time I’ve ever heard of multi-model. It sounds almost like fiction, lol! Definitely gonna give it a try 😋 Thanks for the amazing video as always!
@Fireship4 жыл бұрын
I've very impressed with Fauna so far. Cosmos DB and ArangoDb are also popular choices.
@darshangowda3094 жыл бұрын
Fireship amazing! Need to find an use case now to try em all :P
@Lanarri4 жыл бұрын
...and then you recieve “request is too large”, and failure to recieve data if you don’t scale up to unnecessary 50k request units... Bad experience with CosmosDB so far.
@LuLeBe2 жыл бұрын
@@Lanarri yeah these really sound like a great way to lock your entire codebase into a company's ecosystem. Honestly I wouldn't trust that at all, and it's not that hard to use an ORM and a relational DB, yet you're completely flexible regarding hosting and even have multiple interchangable Systems to choose from.
@podraig4 жыл бұрын
FaunaDB looks amazing. I've been waiting for something like this for a long time! Thx.
@elaadt4 жыл бұрын
This is a great quick overview of the database landscape. I do have a couple of points to add: 1. redis is more than just a simple in-memory key-value store.The values can be of different commonly used types, such as strings, lists, hashes, sets and bitfields. This enables simplifying app code by doing some of the querying logic in the db itself. Plugins enable extending the usefulness to additional use cases. 2. With the exception of RDBMSs (relational dbs) the other db solutions enable utilizing multiple servers by sharding the data and replicating it. This makes them highly scaleable while providing great performance.
@deathx0r Жыл бұрын
Also, little know fact: redis is persistent by default. It saves snapshots of the data in a binary file on disk.
@abuDA-bt6ei3 ай бұрын
I guess relational dbs can’t be sharded now
@trungthinh4 жыл бұрын
You know what ? This masterpiece need tons of research ! Mad respect 🙌🙌
@CodingWithLewis4 жыл бұрын
I'm a simple man. I see Fireship, I click video.
@Fireship4 жыл бұрын
I'm a simple man. I see "Coding with" in your name, I subscribe.
@CodingWithLewis4 жыл бұрын
@@Fireship You're a king 🙏🙏🙏
@itsnmntanez76434 жыл бұрын
@@Fireship haha lol
@nsptech97734 жыл бұрын
@@Fireship That was totally unexpected.
@pauldorman4 жыл бұрын
Another interesting database, similar in some ways to Fauna, is Datomic. It uses Datalog as a query language, which also enables you to specify the shape of your query results. Datomic was created by Rich Hickey, the creator of the Clojure programming language. There are a number of really interesting talks on the philosophy behind the design of Datomic (by Rich Hickey, David Nolen, and others), which are well worth your time if you are interested in not just databases, but in how we approach storage, retrieval, and manipulation of data in our work. Datomic also has the benefit of being something you can run on-prem, and has two free options to suit solo developers/small businesses, and open source projects.
@sin421702 жыл бұрын
This is by fat the best video explaining the different database options I've seen so far. Great content, thanks a lot !
@StrangeIndeed4 жыл бұрын
Great video. I've found a minor mistake, at 8:27 you put number 6 instead of 7
@chinarut4 жыл бұрын
yeah I was all ready for paradigm #7 and the video concluded! then I realized the mistake too :)
@HunterBitcoin4 жыл бұрын
There are three hard problems in database design: CAP theorem, and off-by-one errors.
@MiguelReyesDeveloper3 жыл бұрын
It's an array.
@matiascoco19994 жыл бұрын
4:50 This is the best explenation of Relational DataBases i ever heard. I think it took me like 1 week to understand what it really means foreign keys.
@russelfernandes84834 жыл бұрын
Nice video. Reading E.F. Codd's paper on things relational, no matter how much or little you understand of it, should be considered a rite of passage mandatory read, similar to reading Satoshi's original bitcoin paper before delving into bitcoin to truly appreciate the genius behind these concepts.
@aykutsarbyk21283 жыл бұрын
The best Content I had come up with so far. Well done!
@donnhussey5682 жыл бұрын
I am a few years late to be leaving a comment really, but if you are reading this, note that your best option most of the time is a relational database. Document DB's are brilliant, but without the ability to join and search, developing business intelligence around a product or process is very difficult, and migrating data out of a DDB and into a relational database is challenging. You have to be 100% sure you are OK with losing those features because getting them back is going to be extremely challenging.
@ivanmorales7786 Жыл бұрын
You got me with the acid background at 6:00! Great video!
@laybunzz4 жыл бұрын
This is an absurdly good video. Excellent production values, great script, great content. I literally work at Google and I learn stuff from your channel all the time.
@shirounurimba68984 жыл бұрын
I surely needed this video. Thanks so much. There aren't a lot of videos about this so I am so grateful that you're making one.
@praventz2 жыл бұрын
I watched this video in preparation for a job interview and it really helped! I was able to explain the differences and use cases for a cache and relational database very eloquently. Thanks Jeff
@Mvrck443 жыл бұрын
My brain just melted... Thank you for clarification, great material!
@RonDLite4 жыл бұрын
The best teacher on the internet, par none.
@shubhamsehgal23364 жыл бұрын
My learning stack fireship + 3blue1brown + stackoverflow
@watchocho26604 жыл бұрын
Dude, You read my mind I was seriously looking for a detailed information about databases. And here you are. Thanks A Lot.
@doesitreallymatterthough-n4t4 жыл бұрын
It's incredible how much knowledge you pack into such short videos. And it is unbelievable that all of this knowledge "sticks". Thanks you very much for these!
@isurujn3 жыл бұрын
I'n not even a web dev bit I watch videos on this channel simply because they are very well produced and look appealing. As a result, I grow my knowledge as well even though I might not (if ever) use it in my job. But it does inspire me to experiment with them on my own.
@awwesomemoment4149 Жыл бұрын
Awesome!
@cedric_ds4 жыл бұрын
I was so convinced that I had to use a relational db for one of my projects, and while watching this video, I just figured out a way to do my backend with a document db, which might be even simpler. And you also got me interested to learn about the other db paradigms, thanks :)
@odiverso44072 жыл бұрын
You're welcome
@vc70573 жыл бұрын
The best explanation ever. Just enough for beginners. For more info there are tons of info on the Web. Pictures are nice as well !!!
@RossRawlins4 жыл бұрын
You needs to add more than just a LIKE button where is the AWESOME button!
@chrishightop87893 жыл бұрын
Love button needed
@chris-hayes3 жыл бұрын
🔥 button
@vaitesh3 жыл бұрын
This video literally creates a spark to explore more. Thanks for your efforts. Highly appreciated.
@jaysonconcepcion83374 жыл бұрын
lol what a timely video for me, I was in the process of searching for the use cases of Redis and Elasticsearch and here he is uploading a video that explains the general concept of those two and MORE.
@Fireship4 жыл бұрын
Sounds like fun!
@Ali-kl3ql3 жыл бұрын
This channel proves itself to be the best informative channel. Thank you!
@quentin73432 жыл бұрын
Just a note to say that Redis is now also multimodel like Fauna.
@psic-protosysintegratedcyb24223 жыл бұрын
Underrated video. This needs millions of views.
@pxnx4 жыл бұрын
Shoutout to his dad for talking a lot🐣
@omarsherif61983 жыл бұрын
Man I have learnt a lot from your videos more than I learnt in my 3 years of work...
@Tenly20093 жыл бұрын
Well done and thank you! This video is fantastic and should serve as the gold standard for this type of video. It uses a model that all other informational videos should strive to emulate! It was clear, concise, informative and it covered an important topic. I rarely leave positive comments on KZbin videos. Videos are either okay - or there’s something wrong with them that I call attention to. But this one is so much better than the rest - that I felt compelled to say thank you and to leave positive feedback.
@salimdellali18144 жыл бұрын
Understanding Databases 101, very structured video, you got my like
@GreenDave1134 жыл бұрын
I'm in 4th year of IT high school and mostly can't get this video haha. Shows how well we got taught databases, great. I guess time to start learning it myself.
@lostboycmd4 жыл бұрын
A lot of my programming knowledge has come from reading and watching things that I didn't understand, and then looking things up later. It's worked pretty well for me so far
@GreenDave1134 жыл бұрын
@@lostboycmd I understand what you mean. But my notunderstandingness was so high, I was baffled by it. I didn't know most of the words there.
@MM-vr8rj4 жыл бұрын
High school? You mean college right?
@GreenDave1134 жыл бұрын
@@MM-vr8rj No. I'm not sure where you're from, but I've found out some countries have a very different school system. Here in the Czech Republic, you have 9 years of universal, mandatory education. After that, you usually choose a 'high school', that is either 3 years or 4 (with diploma). That school can either be more general like business school, or specific like IT. After that, you can go to work, but if you want a good job, you'll go to 'College', that is highly specialized.
@DanielosCompaneros4 жыл бұрын
@@MM-vr8rj I'm guessing he's in some special sort of computer science high school
@ambinintsoahasina4 жыл бұрын
Jesus! that is easily among my top ten most valuable videos on youtube so far. Great content as it unveiled so much new things to check out! thank you
@mrlarry92194 жыл бұрын
Great video! One minor suggestion, though, is to lower the background speed, as it gets distracting. Besides that, it's perfect
@Fireship4 жыл бұрын
Good call, thanks 🍻
@dazelmann65894 жыл бұрын
Jeff you are an asset to the community, glad to have you :)
@k2theboss474 жыл бұрын
Exceptional!!!! Thank you so much. Can you do a video on ETL solutions?
@flynnwatson74582 жыл бұрын
This guy is a content creator BOSS! Just watched his video on the 2022 Tech Bubble bursting ... amazing insight in short snippets!
@eyrewiut4114 жыл бұрын
I personally also like ArangoDB as a multi-model database, it has a really nice query language and some cool features (although it isn't as hassle-free as fauna)
@derekh17972 жыл бұрын
This is the best video explaining all flavor of DB. Very inspiring.
@gid3onm8914 жыл бұрын
4:30 "and most of it goes way over my head" Me: Well then...no use reading that.
@whenlifegivesyouLSD4 жыл бұрын
Same 😂
@Herrerinsky3 жыл бұрын
Love your content, very high quality. I must add tho, that mongodb has acid transactions. Regards!
@Nimirium4 жыл бұрын
About DynamoDB, it's a key-value document database. I would say it's more similar to redis than to mongo.
@Kevin-jc1fx3 жыл бұрын
So much pertinent information in such a short timeframe. This is epic. Thanks for your passionate work.
@rictr74214 жыл бұрын
One the most “important” decisions after the most important one: Arquitecture.
@XuleXd4 жыл бұрын
(Uncle Bob deeply disagree)
@jerrygreenest4 жыл бұрын
Of course, right after another, more important decision: decision to learn language (like, English)
@crowdozer2 жыл бұрын
these days, if I'm looking for an explanation on something, I always look for your channel first lol
@paramsingh41043 жыл бұрын
What kind of sorcery FaunaDb is!
@Labergemusic4 жыл бұрын
You and that guy that does PS/ID videos are the best at it. You know the guy.
@klutch41984 жыл бұрын
Welcome to Fireship, where its always Friday! 🕶
@TheKingAskdoof4 жыл бұрын
Thanks for presenting me MeiliSearch, I've been looking for an alternative to Elastic for so long!
@GreyDeathVaccine2 жыл бұрын
What is wrong with Elastic or Solr?
@kylejordan244 жыл бұрын
Incredible video , the production value is amazing 😁 Just have one question regarding database choices for apps. I just started out using firebase in my flutter app but I'am already getting confused as to what the best practice would be for a typical SQL join between tables . For example let's say a medical app; would you have invoices in a sub collection under a users collection or would it be best to still have separate collections and then do a stream join with RXdart or would it be best to just go with another database choice entirely 😅
@ShubhamGhuleCodes4 жыл бұрын
Cleared all the concepts in just 10 mins....hats off 🙌🙌🙌
@alexmak30044 жыл бұрын
I thought Database are all very similar to SQL. Thank you so much for making this video. Databases now doesn't sound as scary and frustrating as before to me. I believe there are more undergraduate students like me in Computer Science who have the same misunderstanding.
@UmanPC4 жыл бұрын
1. Thanx 2. You should check Couchbase. It is Document based, with Full text Search, N1QL language (SQL for JSON), Crazy Indexing capabilities. Very easy Scaling, Very reliable, Blazingly fast... etc.
@TheGitGuild4 жыл бұрын
I haven't heard about Fauna and the concept behind it is super interesting. Also it would be amazing if you make video on database normalization, it is one of the cs topics that clear explanation is heavily required :)
@makaalu52164 жыл бұрын
This video brilliantly sums up various DBs, hats off!
@fire_boat4 жыл бұрын
hasura is similar to faunadb
@nowyouknow-sortof Жыл бұрын
Wow🙌 Thanks for creating this index of databases out there!
@GhamzaJd4 жыл бұрын
When you see a video by fireship.io that is longer than 100 seconds, then grab a pen and paper and start writing notes
@buhitman5454 Жыл бұрын
After watching 10 videos in a row and not getting bored, I think I can no longer not hit the subscribe button. 🙏
@cevxj Жыл бұрын
Never once described wtf a join is
@businessorientedprogrammin49174 жыл бұрын
Your channel genuinely inspired me to start my own!
@prashantdahiya7113 жыл бұрын
Lol cockroach is a database 😂😂😂
@zain549610 ай бұрын
Fireship can talk about anything and I'd watch it but it's good for my career that he occasionally makes useful videos.
@DanishShakeel4 жыл бұрын
The best channel out there. To the point.
@benzflynn4 жыл бұрын
4:24 In fact this "seminal paper" is very readable. 50 years on we may say it's written a bit quaintly. Yet shyness is more appealing than bombast. The relational equations with Greek letter operators are well-explained and he only deals with the common operations. It's written for an audience working in the industry rather than academics. So it won't go over the head of those with Databases 101 down, who usually learn SQL basics concurrent with databases. Reading this paper I was asking myself how come database system designers didn't think of this idea earlier. But of course, every good solution is "obvious" after it's presented and it efficacy proven. A more pressing question might be why did Codd not leave IBM when his idea was rejected . . . But I guess the man had his own circumstances and IBM was a well-paid job. Software-savvy angel investors weren't around in those days!
@MA-zo6tb2 жыл бұрын
Thanks for quick snapshot.. very helpful.... and your dad is a smart guy.
@dougw6883 Жыл бұрын
So glad i found your channel! Keep up the great work!
@thanosbaba1 Жыл бұрын
Best video on DB's and their use cases.... thank you.
@kyawzin-kz4 жыл бұрын
I like this video very much. The way of your explanation is simple, straight forward and explicit. Not too short nor too long. Looking forward more videos from you
@stuckinforloop4 жыл бұрын
Honestly the best video so far
@lubazlatoluba7366Күн бұрын
Fantastic video. Very useful. Looking for something like this for a while
@laithr.73073 жыл бұрын
It took me long time to reach all info in this video , this video is one of the best videos to put all dbs I ever watched
@webdevnoob4 жыл бұрын
No one does quick comparison videos better than Fireship videos.
@shyams90534 жыл бұрын
Wow! , This is watching DB history in 10 years and learning in instant . Thank you for making and uploading such useful video.
@chehinbenothmen64184 жыл бұрын
I have to admit that this video is the best database explanation i have seen ❤️ 🧡