I’m versed enough in SQL and RDBMS that I can put things in the third normal form with relative ease. But the meta seems to be NoSQL. Backends often don’t even provide a SQL interface.

So, as far as I know, NoSQL is essentially a collection of files, usually JSON, paired with some querying capacity.

  1. What problem is it trying to solve?
  2. What advantages over traditional RDBMS?
  3. Where are its weaknesses?
  4. Can I make queries with complex WHERE clauses?
  • bahbah23@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    1 day ago

    Rather than try to relate it to an rdbms, think of it as a distributed hash map/associative array.

    • ColloidalOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      What I’m hearing is that they’re very different beasts for very different applications. A typical web app would likely need both.

      • ramble81@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        23 hours ago

        Yup. And this right here is where I dismiss people that generally say you only need one or the other. Each has a specific advantage and use case and you’ll have the best performance when you choose the “right tool for the job” and don’t just attempt to shoehorn everything into a single solution

        • ColloidalOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          20 hours ago

          Hold a sec. Rolling your own RDBMS out of a NoSQL database is insane. But is the opposite feasible? Wouldn’t it be a simple table with two columns: a key and a JSON blob?

          • ramble81@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            19 hours ago

            Could you do it? Yes, but it’s not something that it’s optimized to do. NoSQL engines are designed to deal with key value pairs much better than an RDBMS. Again, best tool for the job.