SQL vs. NoSQL: What's the difference?

Поділитися
Вставка
  • Опубліковано 26 чер 2024
  • Learn more about NoSQL → ibm.biz/nosql-guide
    Check out IBM Cloud Databases for PostgreSQL → ibm.biz/dbs-for-postgresql
    Check out Cloud Databases on IBM Cloud → ibm.biz/cloud-dbs-on-ibm-cloud
    There are many databases available in the market, and knowing which one to choose can be extremely difficult.
    In this lightboard video, Jamil Spain with IBM, breaks down the top 5 differences between SQL and NoSQL databases to help you make a better informed decision when selecting a database to use.
    Get started on IBM Cloud at no cost → ibm.biz/cloud-free
    Subscribe to see more videos like this in the future → ibm.biz/subscribe-now
    #SQL #NoSQL #CloudDBs
  • Наука та технологія

КОМЕНТАРІ • 73

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

    WOAH! I've been thinking so hard trying to figure out which one I should implement when I completely forgot that there is the option of both....Thank you for helping me see that.

  • @sndselecta
    @sndselecta 2 роки тому +7

    The example at the end for me was a great explanation. Finally understand a simplistic implication. To further on this: a user is logged in, the cart is all products being purchased or a favourites section ,which will all be persisted to storage (HD). The transient (or constantly changing) data could be the session data (login duration day, week, month stats), product browsing history, of that user, but wouldn't this be also stored at a later point? The cart and favourites data is used by both user and supplier, but the session data is usually only used by supplier for analytics, targeted promotions, predictive data modelling (other product suggestions etc) etc...From the users POV might not be large but from a Product POV could be huge.

  • @JanacMeena
    @JanacMeena 2 роки тому +16

    SQL
    - More pre-planning required
    - Vertical scaling
    - Better for multi-row transactions
    NoSQL
    - Horizontal scaling
    - Unstructured

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

      JSON it and worry about it later

    • @mbk0mbk
      @mbk0mbk 9 місяців тому

      ​@@fallinginthed33pyou build db data storage plan so you don't have to worry about later , you got to solve new problems that comes not stuck in old mistakes too long

  • @Flankymanga
    @Flankymanga 2 роки тому +8

    Each has its strengths and weaknesses and smart decision would be to employ both systems together with knowing where to store what....

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

    Thank you! this is the perfect video for explaining the difference to me

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

    Nice video with great notes

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

    good job on these explainer videos IBM!

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

    Well explained, thanks ❤

  • @chillbro2275
    @chillbro2275 2 роки тому +7

    Wow interesting last point! I remember facing dev situations and feeling like a limitation of some sort, but perhaps taking a NoSQL approach would have lifted that. Quite exciting. There's a couple of teasers in here that i'd like more information on. Like what is vertical scaling, what is horizontal scaling? And what accessing NoSQL looks like? But i definitely feel certain of the mode of SQL and the mode of NoSQL enough to experiment with NoSQL.

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

      Thank you for your comment and your suggestions! 🙂 We'll see what we can do to incorporate that info into future videos. Stay tuned!

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

    Thanks for the clear clarifications

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

    well explained, thank you!!

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

    Great explanation!

  • @ranjanadissanayaka5390
    @ranjanadissanayaka5390 5 місяців тому

    excellent explanation...thank you very much.

  • @VivekYadav-vk2lh
    @VivekYadav-vk2lh 2 роки тому +39

    I got lost in the thoughts about - how did you make this video ? how are you writing !!

    • @racc1337
      @racc1337 Рік тому +10

      Probably a glass pane and the image is mirrored in post

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

      Mild blacklight, glass and some post when he makes mistakes(like the numbers coming in without him writing) black also helps make post work easier.

    • @the.flying.machine
      @the.flying.machine 7 місяців тому

      Notice he is writing with the left hand. That’s your answer probably

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

      As ​@racc1337 mentioned... You shoot him writing thru a transparent surface and then mirror the video before posting... So he's actually right-handed (it doesn't help that he's wearing his watch on his writing hand just to mess with your head further :) and the write hand is the right hand 😆

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

    Excellent explanation sir! Thank you very much! Cheers!

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

    very good explanation of the key differences thank you

  • @prashantkumar6342
    @prashantkumar6342 Рік тому +3

    I appreciate your writing skills more

  • @SohviHaukkala
    @SohviHaukkala 2 місяці тому

    Very clear! Thank you👌

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

    SQL requiring more memory & computing power is making me lean more toward NoSQL because that means hosting is cheaper for NoSQL apps.

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

    A lot of people think NOSQL is a new concept. NOSQL predates Relational Databases by decades (1960s) and was called Hierarchical Databases. When Edgar F. Codd invented Relational Databases (early 1970s), computers weren't powerful enough to support them and it wasn't until 1979 the Oracle truly commercialized Relational Databases. Just like today Relational Databases need more computing power than the simpler NOSQL Database. This is because the main drawcard of RDBMs needs it, "Data Relationships". Without the relationships that SQL provides, one has to write the joins into their own code whether it be Python, Ruby, C++ , Go etc or rely on the same or similar SQL syntax to do perform joins (Hadoop, Splunk come to mind). SQL reduced the proliferation of code needed to do joins. Imagine having downstream systems using multiple programming languages, each one having to munge their own joins. RDBMs also provide other things such as ACID, which ensures your data is in a consistent state even if there are conflicts. Frankly once the data is normalised it easier to work with SQL plus ORMs.

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

    I think addressing performance of a query should be a major factor. I'm SQL trained and do not know how one performs extraction of data from a no-sql data pool other than perhaps by the Linux commands "awk" and "grep". Is there a performance savings by mapping everything into SQL vs. leaving stuff in a blob?

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

    Thank you!

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

    can we use NoSQL in Customer relationship management systems

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

    Very good video.

  • @RU-qv3jl
    @RU-qv3jl 2 роки тому

    The problem I see with your explanation is that SQL is just a language. There are an ever increasing number of options to scale out RDBMS systems. Also it’s not like, for instance, Postgres is bad at handling JSON data with JSONB. There are some attributes that you are likely to always want to have, and some that may change per instance. So something like a table with a JSONB column is a nice approach. However, I wouldn’t go around installing Postgres on loads of mobile phones for kicks. It’s just not reasonable to use that amount of storage space.
    Just a thought.

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

    how do they write the things in front of them? It means they are writing the other way around right? or what? I have been trying to watch the tutorial but my head is stuck at that

  • @jorge-hernandez-ramirez
    @jorge-hernandez-ramirez 2 роки тому +2

    Good!

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

    The way he wrote is even more impressive 😮

  • @w0406400
    @w0406400 Рік тому +6

    I am curious about "Vertical vs. Horizontal Scaling"
    1. Why can I not scale SQL Databases Horizontally? You *could* use sharding and read replicas improve scaling needs - sure, it requires work, but SQL is constantly improving - isn't that right?
    2. What I can see is - you can easily make changes in NoSQL e.g. unstructured - which is quite costly in SQL

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

      The issue with relational and horizontal scaling is yes you could spread it via sharding but the issue comes in how you can keep the read and writes consistent across them all. You can split a database into multiple smaller databases but then that just leads to higher maintenance costs. You could also have one just for writes and several others as read only databases but again this would need managing with the services accessing the databases.
      With non relational yes you can throw into them what you want but unless you “lock down” a schema for the data then you can’t get consistent results as each insert is a new entry rather than an “upsert”.
      I guess each have their pros and cons but you would choose whichever is best for your end system which you would know once you’ve done the correct analysis

  • @dovasd
    @dovasd 2 роки тому +14

    Good effort, but needs some more depth. The way is explained, makes a classic Oracle DB qualifying as NoSQP DB :)

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

      can discuss performance issues, and the types of non-SQL DBs

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

      But for me, it looked like NOSql seems to have upper hand here.

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

      @@firstcommenter202 That sounds like an excellent follow up video. I will take note of this great suggestion the next time we produce more videos on this topic.

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

      @dovasd Thanks for your comments. Yes we intended to "scratch" the surface with this video and dig a little deeper on other topics. There are certainly many options nowadays for either NoSQL & SQL Databases. We will have some profiles coming up soon on different types.

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

    how can you compare "non sql" without proper definition? Time series dbs are no-sql nd they do not follow your observations?

  • @jtaylor8606
    @jtaylor8606 Рік тому +4

    This could have been easier to follow - in some parts you are using IT buzzwords to describe an IT buzzword concept - which is even more confusing. It would be a lot simpler to understand if you could use plain English and examples - so, for example, what does horizontal and vertical scaling actually mean, what does 'dynamic' as point 4 on the No SQL side of your diagram actually mean.
    In the first few sentences of the presentation you mention that it might be surprising that people ask questions about these differences between technologies, or that there is confusion about the differences, but in my mind it's not surprising at all when the meaning of the buzzwords/language used to actually explain the differences are unclear.

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

      Yeah, I already read the quick list of differences and I was hoping, like you have said, that this video would explain those differences. I got nothing out of this video.

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

    every time I watch these videos I get distracted wondering "how tf did they write backwards?!"

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

      He's writing normally, they just flip the video

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

    As a coder..
    Code itself can be referred as a jungle that its own writer can navigate..
    That is why convention is created, manual is needed, etc
    With unstructured nature of nosql, we can double that.
    Did wrong in here??

  • @nk-thn
    @nk-thn 2 роки тому +1

    I don't get what you mean by NoSQL is all in memory, isn't it also have to persist data on disk, like MongoDB...

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

      It works by giving you fast access to the data through memory access. There may be some files that are written to disk but that is not its main access method. It is more a function of how the software application works. Let me know if I helped answer your question or have more questions.

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

    I'm distracted wondering how this video was made, was the video flipped?

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

      You've got the idea. You can see some of our backstage "secrets" on our Community page, you can check it out here 👉 ibm.co/3pT41d5

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

      @@IBMTechnology Thanks for the BTS picture, there was no way I was going to be able to pay attention to the video until I saw the setup.

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

    Multiple questions come to my mind after looking at this very good video: thank you for that.
    - To come back to your illustration with an e-commerce website: don’t you need a structured DB (SQL) to identify the products hosted in a Non-SQL DB that you will present to the consumer?
    - Another comment: as No-SQL is in memory it limits its size where with SQL you can have huge size of DB. Correct?
    - Also I’m curious about performances: is there a kind of index with No-SQL DB?
    As I see it and you mention it at the end of the video, the combination of the 2 technologies is the key.

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

      To come back to your illustration with an e-commerce website: don’t you need a structured DB (SQL) to identify the products hosted in a Non-SQL DB that you will present to the consumer? [ Possibly, but I have run complete backends off a NoSQL DB like MongoDB.. of course I had to make accomodations to ensure the data was in tact and standard ]

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

      as No-SQL is in memory it limits its size where with SQL you can have huge size of DB. Correct? [ Correct, for SQL DB it will persist to disk. You are dependent on loading in memory for NoSQL DBs. This principle could also guide your balance of usage in your architecture. I could potentially host MYSQL on a VM Image, but something like MongoDB in the cloud is charged by the amount of memory used. The larger your JSON Docs, the more they consume. ]

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

      is there a kind of index with No-SQL DB? [ Yes, you can create indexes in a No SQL DBs. There are so many options to choose from so if that is your guiding principle, you can let that guide which one you decide to go for. I know CouchDB has some great features that help with indexes and has some great abilities to facilitate offline sync use cases through it's native architecture with revisions of Documents just as an example of when you might let features guide you down a path of which DB in the category to use ]

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

      @@jamilspain7532 Thank you for all the answers. I really appreciate and highly valuable to me who's not an expert of DB.

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

      @@janekovr4722 your welcome anytime

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

    Another "ancient" computing technology has been resurrected with a new name !
    Ack in the 1960s, IBM invented "indexed sequential access method" (ISAM) of accessing data (not 100% certain of the name IBM used or the timing). By the late 1970s, Digital Equipment Corporation (DEC) had duplicated the technology. I am not familiar with IBMs implementation so the rest of my comments will apply to DEC.
    It is important to understand that the underlying storage technology is one aspect and HOW THE DATA WAS ACCESSES is totally another ! On DEC machines, there as an extra "layer" added between the data and the application such that the data could be accessed via the primary or SECONDARY keys or sequentially ! While the primary key had to be unique, secondary keys did NOT have to be unique !! The biggest problem was that no "high level languages" (Fortran, COBOL, C) supported this concept. "Extensions" were added to each to support look up by primary or secondary keys.
    As mentioned, there was no "standard" query language. DEC invented Datatrieve. It was a bit quirky but it included a "report writer" similar in concept to IBM RPG which was immensely popular at the time. The basic query could be written in Datatrieve and that could be linked into another custom application.
    Sadly for DEC, ISAM never caught on in large volume. It also could not scale horizontally without a lot of additional programming. This was probably because it required proprietary language extensions. Building "forms" for data entry was a sperate product or required a lot of programming. As the world moved to "windows" based applications, DEC stayed in "character cell" interfaces as did IBM for much too long. Microsoft Access was one of the biggest "nails in the coffin" for ISAM. IBM and DEC had proprietary relational databases, but it was too Little to late.

  • @JG-sg7yy
    @JG-sg7yy 3 місяці тому

    Love it but the sound on this one was not good. Needs to be louder.

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

    This guy's pretending to write backwards for the sake of the video.
    Entertaining.

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

      he's not pretending, he is really writing, but he isn't really writing backwards.

    • @seabus.2003
      @seabus.2003 Рік тому

      You don't even know how to flip a video, yet you came to see the difference between SQL and NoSQL

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

    NOSQL was developed after SQL because of the lackings of SQL. I would always prefer NoSql

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

      Not always, it really depends on the needs of your application and the data will be queried. For example, if you are working with interconnected data, SQL will be acceptable, but Graph models are better. Another case, if you have to use many-to-many queries, then a relation model (read SQL is better). However, for certain applications, e.g., retrieving document for a web-site, a NoSQL database is better and if affords good locality of data.

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

      Someone ignored the PRO/CONS and decided NoSQL-databases are better than SQL-databases (Which are tested and proven to be good enough for the most situations the past 30, 40+ years?). Poor company, who got a dev at the end, who chooses a database which are not good enough for the current problem. By the way good luck when your application is heavly relationed based, NoSQL would be a overkill.

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

    Wow it took me way too long to figure out how he was writing backwards lol.

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

    not explained thoroughly

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

    Pretty poorly explained. You don't really seem to fully grasp what it is that you are talking about. As some of the other comments point out, you use buzzwords to explain buzzwords.