SQL vs NoSQL Explained

Поділитися
Вставка
  • Опубліковано 29 чер 2024
  • In this video, I talk about the difference between SQL and NoSQL. I talk about the main features of both technologies categorized by Structure, Storage, Scale, and Accessibility. I provide some tips on how to decide between them when starting a project, and example use cases on when to use SQL over NoSQL and vice-versa.
    Looking to get hands on experience building on AWS with a REAL project? Check out my course - The AWS Learning Accelerator! courses.beabetterdev.com/cour...
    Should you Learn SQL in 2020? - • Should you learn SQL?
    AWS Aurora vs DynamoDB - • AWS Aurora VS DynamoDB
    00:19 What is SQL?
    04:58 What is NoSQL?
    07:38 When to use SQL vs NoSQL
    09:47 Example Scenarios
    🎉SUPPORT BE A BETTER DEV🎉
    Become a Patron: / beabetterdev
    📚 MY RECOMMENDED READING LIST FOR SOFTWARE DEVELOPERS📚
    Clean Code - amzn.to/37T7xdP
    Clean Architecture - amzn.to/3sCEGCe
    Head First Design Patterns - amzn.to/37WXAMy
    Domain Driver Design - amzn.to/3aWSW2W
    Code Complete - amzn.to/3ksQDrB
    The Pragmatic Programmer - amzn.to/3uH4kaQ
    Algorithms - amzn.to/3syvyP5
    Working Effectively with Legacy Code - amzn.to/3kvMza7
    Refactoring - amzn.to/3r6FQ8U
    🎙 MY RECORDING EQUIPMENT 🎙
    Shure SM58 Microphone - amzn.to/3r5Hrf9
    Behringer UM2 Audio Interface - amzn.to/2MuEllM
    XLR Cable - amzn.to/3uGyZFx
    Acoustic Sound Absorbing Foam Panels - amzn.to/3ktIrY6
    Desk Microphone Mount - amzn.to/3qXMVIO
    Logitech C920s Webcam - amzn.to/303zGu9
    Fujilm XS10 Camera - amzn.to/3uGa30E
    Fujifilm XF 35mm F2 Lens - amzn.to/3rentPe
    Neewer 2 Piece Studio Lights - amzn.to/3uyoa8p
    💻 MY DESKTOP EQUIPMENT 💻
    Dell 34 inch Ultrawide Monitor - amzn.to/2NJwph6
    Autonomous ErgoChair 2 - bit.ly/2YzomEm
    Autonomous SmartDesk 2 Standing Desk - bit.ly/2YzomEm
    MX Master 3 Productivity Mouse - amzn.to/3aYwKVZ
    Das Keyboard Prime 13 MX Brown Mechanical - amzn.to/3uH6VBF
    Veikk A15 Drawing Tablet - amzn.to/3uBRWsN
    📚 References:
    MongoDB Crash Course for 2020 - • The ULTIMATE MongoDB T...
    S3 Beginner Guide - • AWS S3 Tutorial for Be...
    Use SQL to query S3 - • How to use SQL to quer...
    Getting Started with Amazon Web Services - • Introduction to AWS | ...
    DynamoDB Playlist - • AWS DynamoDB Guides - ...
    ☁Topics covered include:
    What is SQL
    What is NoSQL
    SQL vs NoSQL
    How to pick between SQL and NoSQL
    Example use cases
    🌎 Find me here:
    Twitter - / beabetterdevv
    Instagram - / beabetterdevv
    Patreon - Donations help fund additional content - / beabetterdev
    #AWS
    #SQL
    #NoSQL
    #Serverless

КОМЕНТАРІ • 191

  • @elenaperez6327
    @elenaperez6327 2 роки тому +38

    The' when to use what' section was really helpful and just when I thought it couldn't get any better, you included a 'how to pick' section. Good job! Thank you.

    • @BeABetterDev
      @BeABetterDev  2 роки тому +1

      Thanks so much Elena! Glad you found that last bit useful :)

  • @haldur86
    @haldur86 3 роки тому +86

    Looked at another walkthrough, had no Idea what NoSql was afterwards. Looks at this video with pictures and examples, gets it in 2 minutes.

  • @GRIEFify
    @GRIEFify 4 роки тому +19

    No clutters only content. Well articulated and explained. Thanks.

  • @LadyPixyCompany
    @LadyPixyCompany 4 роки тому +4

    Finally I find what I looked for. It is quick and simple and clear explanation and I looked for this short and complete answer it for my aws interview. Thanks thousands

  • @Larryjazzy271
    @Larryjazzy271 2 роки тому +4

    Finally!!! I've been looking for a straight to the point video on relational vs non-relational database and this video explains it succinctly and even more. Thanks a bunch

  • @pravinupadhyay2987
    @pravinupadhyay2987 3 роки тому +18

    I had to login to youtube just to subscribe to your videos. I really like them, easy to follow and very relevant. Thank you for these wonderful videos.

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Thank you so much pravin, I really enjoy the the kind words of support. I will continue making videos just like this one!

  • @princeofgonville
    @princeofgonville 4 роки тому +62

    Great summary. The main motivation for development of non-relational databases is around scaling. A relational database scales out reasonably well for reads (there is a clue in the name "Read Replicas"), but there is still a single master, hence a bottleneck for writes. The design of KV stores was largely to get around this problem. Some of the constraints of a relational DB are relaxed to provide scalability (see CAP theorem).

    • @BeABetterDev
      @BeABetterDev  4 роки тому +5

      Very good point justin. I would pin this comment if I could as I forgot to mention it in the video!

    • @TheJustinDray89
      @TheJustinDray89 4 роки тому +6

      Also costs. If you have a low usage but multi-AZ redundant SQL setup, you will be paying for a minimum of 2-3 servers running 24/7; and for your 1 TPS website that's not really efficient to be paying so much. Managed NoSQL like Dynamo means you can pay a few cents instead of hundreds per month for the same setup.

    • @azeeztaiwo2802
      @azeeztaiwo2802 4 роки тому

      But are you suggesting you have multiple write nodes for nosql ?

    • @princeofgonville
      @princeofgonville 4 роки тому +3

      @@azeeztaiwo2802 Yes. That's how they are able to achieve massive scale. HBase, DynamoDB, Cassandra etc. They have been fundamentally re-designed from the ground up to scale horizontally for writes as well as reads.

    • @amitgupta3532
      @amitgupta3532 3 роки тому

      @@princeofgonville So does it mean that NoSql databases are designed as a distributed system or are distributed in nature?

  • @rickrackleyjr.4886
    @rickrackleyjr.4886 Місяць тому

    Great example! Information was presented very clear and easy to understand.

  • @AtomkeySinclair
    @AtomkeySinclair 4 роки тому +2

    Excellent to the point content sir. Thanks for the time you spent composing it.

    • @BeABetterDev
      @BeABetterDev  4 роки тому +2

      You are very welcome! Glad you enjoyed.

  • @farzadb
    @farzadb 4 роки тому +1

    Great Summary, well done!

  • @husseineldeeb
    @husseineldeeb Рік тому

    Amazing explanation, thanks for your efforts!

  • @cubbybear8322
    @cubbybear8322 3 роки тому +6

    This was amazing,thank you so much!

  • @mahesh23343
    @mahesh23343 4 роки тому +2

    Great to the point wholesome content! Thank you.

  • @yashsolanki069
    @yashsolanki069 3 роки тому +1

    This is by far the best explanation I have come across🙌Your channel is a gem

  • @hunterwei
    @hunterwei 2 роки тому +1

    One of the best explanation for SQL vs NoSQL on UA-cam!

    • @BeABetterDev
      @BeABetterDev  2 роки тому

      Thanks so much Hunter glad you enjoyed

  • @Princesalas
    @Princesalas 3 роки тому +3

    This was really helpful and well explained. Thanks a lot!

  • @harikrishna3258
    @harikrishna3258 2 роки тому +1

    Very helpful. Thank you for your time creating this

    • @BeABetterDev
      @BeABetterDev  2 роки тому

      You're very welcome Hari! Glad you enjoyed.

  • @andrest.1874
    @andrest.1874 3 роки тому +5

    your videos are incredible. I am from another background (electronic engineering) and I am trying to move into the cloud computing field. So I find your videos really useful. Thanks!

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Thank you so much Andres! I'm glad you find these helpful and good luck on your studies! If you have an idea for a topic please feel free to suggest it :)

  • @samjones4327
    @samjones4327 Рік тому +2

    Thank you so much for explaining these two topics so well and concise. I now have a much clearer understanding of how to distinguish between DynamoDB and Aurora when it comes to my AWS studies. I'm just starting out in AWS cloud but your video has certainly given me a better understanding of databases. I appreciate you very much sir! Be well, Be safe and Cheers!

  • @anandahs6078
    @anandahs6078 4 роки тому +1

    very useful and well explained. Thanks for it. i was looking for good content. this is it

    • @BeABetterDev
      @BeABetterDev  4 роки тому

      Thank you Anada! Glad you enjoyed and welcome to the channel!

  • @dinkarjain7489
    @dinkarjain7489 3 роки тому

    Great video!! A quick and to the point explanation.

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

      Thanks Dinkar! Glad you found it helpful :)

  • @cjsport1254
    @cjsport1254 3 роки тому +1

    Very well done! Thank you for the awesome information.

  • @kino-xw4xg
    @kino-xw4xg Рік тому +1

    thank you so much for this video, I have been struggling to understand what NoSQL is but this video really helped

  • @nagatouzumaki8750
    @nagatouzumaki8750 2 роки тому +4

    You really clearly explained in a lucid way!

  • @olgaplxina2304
    @olgaplxina2304 3 роки тому +1

    The BEST explanation! Thanks!

  • @altayezekariyas9243
    @altayezekariyas9243 2 роки тому

    The best explanation i found on internet

  • @janstrakos969
    @janstrakos969 Рік тому

    Great explanation, thanks

  • @kelzeu8005
    @kelzeu8005 3 роки тому

    I'm planning to learn more stuff abt back end development. Thanks for this video!!

  • @Nakapeesh
    @Nakapeesh 2 роки тому +1

    this channel is a goldmine good lord

  • @marcello4258
    @marcello4258 2 роки тому +12

    missing out one important scenario .. transaction actions where integrity and atomic writes are key.. but rest of the video was quite good to understand thanks!

  • @cosplay-in-a-nutshell
    @cosplay-in-a-nutshell 2 роки тому +1

    Wow, that's well explained!

  • @worddoc4322
    @worddoc4322 2 роки тому

    Awesome review!

  • @gulsimsek7988
    @gulsimsek7988 3 роки тому

    it was so helpful Thank you

  • @go_better
    @go_better 3 роки тому +1

    Thanks! Very clear explanation.

  • @kaansametguler6258
    @kaansametguler6258 Рік тому +1

    Great video, thanks!

  • @chriszhang8365
    @chriszhang8365 Рік тому +2

    Great video! Flexible access patterns is definitely a big Pro for choosing a database like postgres.

  • @fancylad2006
    @fancylad2006 4 роки тому +1

    Nice video! Thank you.

  • @sansce1
    @sansce1 3 роки тому +1

    Good simple explanation!

  • @muhammadyaqoob9777
    @muhammadyaqoob9777 4 роки тому +2

    thanks for sharing!

  • @jinsupark66
    @jinsupark66 2 роки тому +1

    Great summary.

  • @moazelsawaf2000
    @moazelsawaf2000 Рік тому

    Thanks a lot ❤️

  • @mightye6669
    @mightye6669 Рік тому +1

    Great video man

  • @GevorgVardanyan
    @GevorgVardanyan Рік тому +2

    Hi, thank you for video.

  • @drizztyang9502
    @drizztyang9502 Рік тому +1

    My experience is that NOSQL can also fit you if the data models is small and the primary key is natural. It is easy to change the data structure or add new attributes.

  • @zeallavacube6357
    @zeallavacube6357 4 роки тому +1

    Thanks a lot!

  • @hakank.560
    @hakank.560 2 роки тому +1

    i think this is the best summary

  • @paulofernandoee
    @paulofernandoee 2 роки тому +1

    great vídeo, thanks

  • @ahlyclub9504
    @ahlyclub9504 4 роки тому +1

    very good summary

  • @re4388
    @re4388 3 роки тому

    Great video!

  • @aqibejaz7253
    @aqibejaz7253 3 роки тому +16

    2:22 Relation ≠ Relationship. "Relation" in relational databases refers to the concept of finitary relations in mathematics. In mathematics, a relation is a subset of the Cartesian product of multiiple sets. In database world this translates to a table. So, Relation = Table.

  • @DavidRussellM
    @DavidRussellM Рік тому

    Thanks!

  • @deannabanana636
    @deannabanana636 Рік тому

    thank you!

  • @danielcoetzee7795
    @danielcoetzee7795 Рік тому +1

    Thank you!

  • @mvs69
    @mvs69 2 роки тому

    nice video, i was in a hurry

  • @heshananupama3409
    @heshananupama3409 3 роки тому

    Thanks, a good video. I just wanted to add that mongodb in AWS world is not DocumentDB. It just offer you the mongo compatibility. Still, most of the mongo API's are not compatible with documentDB and it does take higher querying times when it comes to aggregation queries.

  • @tombouie
    @tombouie 7 місяців тому

    Well-Done

  • @AkshayGhadi01
    @AkshayGhadi01 3 роки тому +1

    Fantastic video

  • @MouradMourad1000
    @MouradMourad1000 3 роки тому +15

    Very good, thanks a lot. However I am not sure to understand how SQL can be better when access patterns are not well defined ? To me SQL is to used when data model and schema is strictly defined, when it is predictable and not going to change a lot ...

    • @liuculiu8366
      @liuculiu8366 3 роки тому +11

      Access pattern means the way you query the data. If you only want to get the data according to its primary key, then it is well defined. If you want to get all the records with some properties(age>30, salary>10000,...etc), then it is not well defined. I think 'data model' you mentioned in your comment means the properties(age, salary, name...).

    • @AlvinC-sz3li
      @AlvinC-sz3li 3 роки тому +3

      In general, NoSQL can only be queried by primary key. No filter or condition, you have to provide the exact key value.

    • @akin242002
      @akin242002 2 роки тому

      Agreed. No wild data.
      NoSQL is best when the data is wild and fast moving. Especially for large scale data.

    • @nonamespls3468
      @nonamespls3468 2 роки тому

      @@liuculiu8366 now i get it, it really confused me when it was just casually stated in the video

  • @PatrickGalbraith
    @PatrickGalbraith 4 місяці тому

    note that with Vitess, you can scale SQL (what they call NewSQL)

  • @ausiecu
    @ausiecu 3 роки тому +2

    thank you

  • @JohnSmall314
    @JohnSmall314 2 роки тому +1

    Great summary.
    Before SQL all databases were no-SQL, and when SQL to came along to solve the problems people had querying the data people really worried about how slow SQL databases were compared to non-SQL databases. But the convenience of being able to do ad-hoc queries joining data from different tables won people over and advances in CPU speed alleviated people's concerns about how slow SQL databases are compared with non-SQL databases. So I guess we've come full circle and now people are rediscovering pre-SQL database technology when they need the speed.

  • @shubhamchandra9258
    @shubhamchandra9258 2 роки тому +2

    One important point missed out is SQL provides ACID properties and transactional guarantees, NoSQL doesn't.

    • @BeABetterDev
      @BeABetterDev  Рік тому +1

      This was a really bad omission of mine. Thanks for pointing this out Shubham!

  • @saim8561
    @saim8561 2 роки тому

    short and sweet

  • @hellowill
    @hellowill 3 роки тому +4

    8:50 i'd rather say its beneficial to not be tied to a specific vendor
    I.e. I can change Postgres to MySQL quite easily

  • @user-xr2zo9um1l
    @user-xr2zo9um1l 3 місяці тому

    مبدع استمر

  • @zameerfouzan
    @zameerfouzan 3 роки тому

    On point and informational.
    I come mainly from SQL world and have questions,
    1. Can we have relations like SQL in nosql? Table/entity Relation etc. If so, are joins available?
    2. If it's a document based, how do i segregate data and identify on code level?

    • @BeABetterDev
      @BeABetterDev  3 роки тому +2

      Hi Zameer.
      Regarding #1 - This is implementation dependent. For example, in DynamoDB, you cannot perform joins, but you CAN perform transactions that retrieve values from multiple different tables at once. This is kind of a pseudo-join but not quite identical to the traditional SQL join.
      Regarding #2 - I don't really understand your question - perhaps you can re-phrase?

  • @amitgupta3532
    @amitgupta3532 3 роки тому

    The Read Replicas are handled and added from/by DBMS system or are handled from the application level ?? And Does Sharding(Application level sharding) helps to scale SQL databases horizontally ??

  • @noobkiller100
    @noobkiller100 4 місяці тому

    Brilliant

  • @scottlim5597
    @scottlim5597 2 роки тому

    can you explain about required known primary key for NoSQL ? I though the DB can just auto assign one when not given unless you want to control which partition the data is going ?

  • @m_t_t_
    @m_t_t_ 2 роки тому

    what would you do if you needed relational data storage on a large project that needs to store lots of data, more data than each replica db can handle.

  • @FaisalAkhtar
    @FaisalAkhtar 3 роки тому

    You my friend, get a subscriber for this video.

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Thanks Faisal, and welcome to the channel!

  • @PaulusIsHere
    @PaulusIsHere 3 роки тому

    Great video dude.
    Can I respectively request you limit ads to the beginning and end of the video?
    Whatever you've got setup means I can't skip ahead to the sections I'm interested in without the video crashing. I've had to install an AdBlock in order to make it work.

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Hi Paulus,
      Thanks for bringing this to my attention. I believe this is an issue with the UA-cam ad system itself. I will look into it and get back to you.
      Thanks

  • @RealEyes24
    @RealEyes24 3 роки тому

    what if f(x) equals a previous hash? what happens? will it create a new node on the same partition? -> 6:32

  • @Dausuul
    @Dausuul Рік тому

    Your comparison of SQL to NoSQL is on point for key-value and document DBs, but it's way off-base when it comes to graph databases. Graph databases handle relationships *better* than SQL databases--it's what they are specifically designed to do; a graph can smoothly handle a query spanning many relationships which would bring a SQL database to its knees--and allow queries just as flexible as with SQL. (On the other hand, graphs don't scale horizontally any better or worse than SQL as far as I know.)

  • @Yornero
    @Yornero 2 роки тому +2

    Good video

  • @2412_Sujoy_Das
    @2412_Sujoy_Das 11 місяців тому

    Sir, could you please elaborate what do you mean by "unknown access patterns in SQL"?

  • @yani1307
    @yani1307 3 роки тому +1

    About the storage of NoSQL, when using hashing function, as an example, when the data increase and the storage and partitions become many and large, will there be any issues when users try to get data from partiion 1, or when updating will it cause delay? what are the side effects of having multiple thousands of partition in one NoSQL database? thank you in advance

    • @BeABetterDev
      @BeABetterDev  3 роки тому +1

      Hi Yani,
      The beauty of NoSQL is that many partitions should have little if any performance impact by having many partitions. There is typically a routing component that is built into the engine's access layer that delegates the requests to the right partition - from there, its fetching the data like normal.

  • @jesusmercado1283
    @jesusmercado1283 4 роки тому

    By NoSQL side you do not even have the necessity to use hashes as primaries keys. In Mongo you have the opportunity to use raw data as document key. Data as string or numbers or even indexes. So, you do not need to know the key to structure some query.
    By the way, this is an excellent video.

    • @BeABetterDev
      @BeABetterDev  4 роки тому

      Hi Jesus,
      Thanks for sharing your thoughts on Mongo!

  • @rezamonang
    @rezamonang 3 роки тому +2

    what does it mean in term of "unknown access pattern"? can you guys give me an example?

    • @justinsexton6315
      @justinsexton6315 3 роки тому

      Access patterns are just various different ways the data will be queried for a particular type of application.
      Heres a link to a great talk about NoSQL by Rick Houlihan ua-cam.com/video/HaEPXoXVf2k/v-deo.html. I would recommend watching the whole thing, but if you're only interested in exploring what access patterns are with examples, here is a timestamp where he explains what access patterns are ua-cam.com/video/HaEPXoXVf2k/v-deo.html

  • @clearthinking5441
    @clearthinking5441 Рік тому

    I want to store news articles' text and allow for efficient/dynamic text search. SQL seems like the go to?

    • @BeABetterDev
      @BeABetterDev  Рік тому

      I would actually look at a more specialized nosql database like elasticsearch/opensearch.

  • @badis6862
    @badis6862 Рік тому

    I took my no sql course 2 years ago, O didn't even know Sql existed

  • @drealfemo
    @drealfemo 3 роки тому

    Which one would you recommend for an e-learning website?

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      I think Udemy is a popular choice. Coursera also comes to mind. Cheers.

  • @blackbriarmead1966
    @blackbriarmead1966 Рік тому

    While it is true that nosql shouldn't be used for small projects, surely there is still value in making a project that uses nosql if not purely for learning purposes?

  • @SalehBakhit
    @SalehBakhit 3 роки тому

    Thanks for the video. What I am not sure about is your statement of using SQL "When your access patterns are not defined". From what I understand, it is exactly the opposite. NoSQL is great if you don't know what your data look like exactly because it is generally schema-less whereas SQL require a strict schema??

    • @BeABetterDev
      @BeABetterDev  3 роки тому +2

      Hi Saleh,
      What I meant was that when using NoSQL, it generally relies on the user to have a good handle on what he or she will be querying on. This is because a poor NoSQL schema design (especially with products such as DynamoDB) can severely affect an application's ability to scale.
      That being said, if a user is not sure what they will be querying on as their primary access pattern, it would make more sense to go with SQL because it is more flexible.

  • @novavolex5568
    @novavolex5568 Рік тому

    The correct naming It's relational and non relational DBs, not SQL and NoSQL.

  • @sujitdsouza
    @sujitdsouza 2 роки тому

    SQL is inevitable now !

  • @johnwang176
    @johnwang176 3 роки тому

    So how do you define a large project? 1TB data? or 100TB data?

    • @valour.se47
      @valour.se47 3 роки тому

      It depends on your the data structure, if you know the hirarchy of it you will have easy time to choose. no sql is fast because the stored data pattern is consistent.

  • @bds-yb4mh
    @bds-yb4mh 2 роки тому +2

    NoSQL is not non-relational. In other words, NoSQL is not “No-SQL”. It is more of “not-only SQL”. Hope this video doesn’t propagate wrong info to others.

  • @vpezzano
    @vpezzano 3 роки тому

    For SQL, what do you mean when you say "your access patterns aren't defined"? And also, when you talk of flexible queries, what do you mean, and why aren't queries in NoSQL not flexible?

    • @ChumX100
      @ChumX100 3 роки тому +3

      SQL DBs are designed to support ad-hoc queries across multiple tables, thus you can access your data in very flexible ways and don't necessarily need to plan the way you'll access the data ahead of time.
      NoSQL DBs, on the other hand, (usually) don't allow that much flexibility when querying your data, so you usually design your data structure to specifically support some access pattern.
      The cost of the power you get with SQL is payed for in poor read performance and difficulties with horizontal scaling. As with anything, there are ways around these limitations.

    • @user-eq4oy6bk5p
      @user-eq4oy6bk5p 2 роки тому

      @@ChumX100 "don't necessarily nee to plan the way you'll access the data ahead of time". Isn't it more complicated to change data schema when it comes to relational database? NoSQL is naturally schema-less and if you want to add more column you can just add it without breaking the data integrity.

    • @ChumX100
      @ChumX100 2 роки тому

      @석상주 Yes, it is more difficult to change the schema in relational DBs, they are not as flexible as NoSQL DBs. But even if your schema does not support your current access patterns perfectly, you can usually get around it by leveraging the powerful query engine without needing to change your schema. With SQL you push complexity to your queries, whereas with NoSQL you usually work harder on getting your data in the right shape and then the queries are trivial and efficient.

  • @tonyme7426
    @tonyme7426 3 роки тому

    You forgot Schema with RDMS

  • @PedroMartins-ux7mv
    @PedroMartins-ux7mv Рік тому

    There are projects who require both sql and nosql

  • @ThugLifeModafocah
    @ThugLifeModafocah Рік тому

    The high performance part was not enough. High performance of what? Read, Write? what?

  • @SIBUK
    @SIBUK 11 місяців тому

    I watched this entire video and I still have no idea why I would want to use NoSQL. What good is a database that isn't relational? And if you need to know the key for each item then where are you supposed to store the key? In an SQL database?! It sounds completely useless.

  • @sarveshhon3507
    @sarveshhon3507 3 роки тому +2

    For E-Commerce App or Website which Database should i use

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Hi there, I think it is generally a good idea to start with SQL such as Postgres or MySQL. If you need extra performance that NoSQL databases support, you can always switch later. Hope this helps.

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Make sure you put your database behind an interface though so that you can easily change later!

    • @meetrajpopat2348
      @meetrajpopat2348 3 роки тому

      ​@@BeABetterDev behind the interface means what?

  • @anythgofnthg154
    @anythgofnthg154 3 роки тому

    I still don’t understand why NoSQL is said to be ‘non relational ‘ Objects in nosql databases have foreign ids referencing other objects. What am I not understanding?

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Hi there,
      You are correct that NoSQL can have foreign ids referencing other objects. The important bit is that the the entities corresponding to these objects is not stored within the same database. This limits relational style queries where users can pull, in one query, all the rows of one table and the objects that correspond to the foreign key ids. in relational DBMS systems, it would be possible to do so. But in NoSQL, you would need to make multiple independent queries.
      Hope this clears it up

    • @anythgofnthg154
      @anythgofnthg154 3 роки тому +1

      @@BeABetterDev Well thanks for responding to _my_ query haha ; ) I'm still a little confused as to why this distinction is always made as if its an insurmountable problem with NoSQL? There are libraries like Mongoose which allow you to easily pool multiple resources with one request. Is the distinction made more out of being a performance issue?
      I built a backend using Mongoose and a MongoDB database and built middleware that uses Mongoose's 'populate'. Here's an example of a query:
      Query string: /vendors?business_name=Jim's Cookies&select=business_name&populate=products&popselect=name&nest=images&nestselect=format,url
      Results: vendor : business_name: "Jims' Cookies", products: [{ name: 'Butter Pecan', images: [ {'url': 'www.as;fwsj;lsf', format: jpg}...] }, ...]

  • @mr.RAND5584
    @mr.RAND5584 2 роки тому

    Sad mongodb has no auto increment.

  • @dolmon4244
    @dolmon4244 2 роки тому

    It’s not sequel, it’s ES QUE EL!!!!

  • @andylinkOFFICIAL
    @andylinkOFFICIAL 2 роки тому +1

    atlas mongo over documentDB. documentDB is always behind when it comes to features.

  • @pobat73pobat90
    @pobat73pobat90 2 роки тому

    I thought you use NoSql when your a access pattern is not predefined??? Kinda of confusing

    • @patricksayao9528
      @patricksayao9528 2 роки тому

      Same, even the flexible one is supposed to be NoSQL not the other one.

  • @Michael_Franke
    @Michael_Franke 3 роки тому

    I watched several clips with that subject. They all explain the way SQLDBs store information with a tangible example (customer - order - item). They show the way how information is stored in tables, explain what a key is and so on. But when it comes to explain how Non SQLDBS work, they remain abstract, do not show any example and switch to advantages and disadvantages or use cases at once. Shit. :-)

    • @BeABetterDev
      @BeABetterDev  3 роки тому

      Hi Michael, I think this comment is a compliment - if so, thank you! If not, I appreciate feedback in how I can improve. Cheers.

    • @Michael_Franke
      @Michael_Franke 3 роки тому

      ​@@BeABetterDev I am sorry, but in fact, it wasn't. I was interested *how* information is stored and accessed to in comparison to NonSQL DB and I did not find and answer. Nearly all clips I found up to now when explaining SQL show tables and entries and columns with the PK, but when they switch to NonSQL they say: 'Well, NonSQL DB do that differently and therefore they are much more performant and suitable for this and that. Even facebook uses it, so it must be great. Thanks for watching'. You as well start to chat about the different types and the infrastructure instead of explainig the core question. And I am as clever as before. :-)