• Daerun@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    22 days ago

    OK, I’ll need some explanation because I don’t fully understand what is being explained in the article.

    • addie@feddit.uk
      link
      fedilink
      English
      arrow-up
      11
      ·
      22 days ago

      The ‘traditional’ way of storing a database is on a mainframe or supercomputer, where all the information is stored in tables with the information all uniquely stored, frequently containing id references to other tables. For instance, an ‘orders’ table would have a customer id in it, and the ‘customer’ table would have their name and address. The programming language for databases like that is SQL - PostGres and Oracle are examples. That model gives you a lot of advantages - the data is always consistent, changes are either made completely or not at all - but every query has to go through one machine, so performance can suck, and you waste a lot of time ‘joining’ tables together for certain kinds of query.

      If you’re storing eg. a blog with comments on it, that model doesn’t make sense. Each page has a varied selection of comments, comment will have a username and maybe their icon, which will rarely change, but will need to be evaluated by the database every time. It would make more sense to output the pre-rendered page as a JSON blob, and you could have a hundred machines with a few pages each to share the load. Updating people’s icons and adding new comments would need to be done by telling each machine to make a certain update if they’ve a copy of that page; you’d ‘eventually’ be consistent, but if you don’t care about that then you get a very scalable robust solution quite cheaply. Examples of such ‘NoSQL’ databases are MongoDB, Hadoop and DocumentDB.

      Linux foundation have looked at DocumentDB’s license and said ‘yes, free enough for us’, so they’ll adopt it.

    • Botzo@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      22 days ago

      Mongo DB popularized the “document DB” model which is just storing JSON in a database and offering a way to interact with it roughly like you would data in a traditional relational DB.

      7ish years ago, they got fed up with the major cloud providers offering their free software as a service and changed their license to one that is more restrictive.

      Of course this is sort of the inevitable outcome: a cloud provider builds a competing product and then “open sources” it in a way that will allow them to grab mind share and eventually erode the company that dared to demand compensation for a “free” product.

      Microsoft added a middle finger by announcing it just before mongo released quarterly financials too.

    • h54@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      22 days ago

      DocumentDB is a NoSQL-ish database implementation built on PostgreSQL that has been accepted by the Linux Foundation. It was created by Microsoft (under MIT license) in response to MongoDB’s more restrictive licensing.

      Time will tell what adoption is like or if Mongo will change it’s licensing to be more permissive.

  • Ⓜ3️⃣3️⃣ 🌌@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    21 days ago

    TL;DR « Microsoft began developing DocumentDB in 2024 as a set of PostgreSQL extensions »

    I can’t help but think : what could go wrong ? 🙄