- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
I used Mongo and Postgres at my last job, then Postgres and various queues/nonrels for different services at the current one. I really, REALLY like the queryable JSON column type in Postgres. Not as in I use it for everything, but where it is actually called for, it’s extremely useful.
I use Redshift right now and I would LOVE to have something nice and flexible like that. Come to think of it, some halfway reliable documentation would be nice too.
Postgre is still better than MongoDB so I am okay with this.
Every. Every single project. Who could have predicted our data would become relational?
100% accurate.
As somebody reducing mongodb at work: postgres first would have saved so much trouble!
You might have be doing something wrong then. MongoDB handles relationships just fine, just because your data has relations doesn’t mean that it needs to be stored in tables. In fact, a graph database does relationships even better, but we don’t use neo4j for all our apps, do we?
Shoutout to FerretDB doing God’s work.
Putting data from apps that were built for MongoDB into Postgres.
https://github.com/FerretDB/FerretDB
And their lived experience trying to help the MongoDB ecosystem by building an open standard for document databases:
In 2021, we founded FerretDB with a bold vision: to return the document database market to its open source roots by creating the leading open source alternative to MongoDB, built on Postgres.
For years, we tirelessly advocated for an open standard. We built a popular product, collaborated with Microsoft to open source DocumentDB, and held high-level meetings with cloud providers and stakeholders to make the case for a standard that is similar to SQL, but for document databases.
In 2023, a MongoDB VP reached out to me. On a Zoom call, we were threatened with a lawsuit for building a compatible product. Being called a thief by a leader of a (then) $35B company was a moment of stark clarity on MongoDB’s opinion about our work and the need for a standard. At the end of that call, I told them the industry would inevitably come together to create the open standard they refused to provide.
Their response? “They would never do that. They are our trusted partners.”
Today, the market has spoken. The Linux Foundation has announced the adoption of the DocumentDB project [1] to create an open standard with MongoDB compatibility, the exact thing we were sued for earlier this year. [2]
This is a monumental win for developers and enterprises everywhere. It validates the years of work we’ve poured into this mission.
It is also telling that MongoDB’s SSPL license has been abandoned by Elastic or Redis, the two prominent companies who were initially in favor of MongoDB’s attempt to redefine open source. All clear signs that MongoDB’s behavior is not appreciated by developers. […]
“Building for Developers- Not imitators” | MongoDB
At MongoDB we believe in fair competition, open collaboration, and innovation that empowers developers. Our work has popularized the document database and enabled millions of developers to build modern, scalable applications that power some of the world’s leading companies. We welcome competition that drives progress and expands developer choice.
But that only works when everyone plays fair, which, unfortunately, isn’t always the case.
On May 16th, we asked FerretDB to stop engaging in unfair business practices that harm both MongoDB and the broader developer community. We believe that FerretDB has crossed two distinct lines:
…
Saying you are “MongoDB compatible” is IP violation?
Meanwhile they are still actively opposing the creation of an open document database standard, which would make it unnecessary to use their brand name to indicate compatibility.
They also sent Peter a “Cease And Desist” for saying MongoDB is not open source. They themselves retracted the SSPL from the OSI when it became clear it would be rejected because it is not open source.
Wonder how much 💩 is in their heads for not realizing everyone gave up on SSPL, and that Postgres is thriving because of the permissive license: even the tiniest local managed services providers have a Postgresql service, there’s tons of DBA talent available, and due to the competition in managed services, a managed postgres is much cheaper than managed MongoDB.
They’ll keep shooting themselves in the foot until someone else puts a lead shoe on it.
I have been out of the loop for a good long while, I had no idea that Mongo had gone full Oracle. It’s a shame, I really liked the idea of Mongo in the early days.
Not really full oracle. The SSPL is the next step after GPL and AGPL, so basically anti-oracle. Anyone can use, distribute and provide SSPL software… as long as they publish their code as well. Seems fair to me.
That’s how they’re trying to sell it. But why did Elastic and Redis drop SSPL if it was so good, and why did OSI not accept it as open source? The answers are here but the TLDR is that SSPL is vague and, as a consequence, makes it risky to provide a service with the product, unless you are large enough to make a big lucrative deal with the owner of the product.
This stifles competition and innovation.
Case in point: Mongo DBAs are nearly non-existent outside California and managed MongoDB is much more expensive than managed PostgreSQL/MariaDB services, because it is only offered by 3 providers.
Not really full oracle. The SSPL is the next step after GPL and AGPL, so basically anti-oracle. Anyone can use, distribute and provide SSPL software… as long as they publish their code as well. Seems fair to me…
Just to tail on the “Postgres is a better document DB than Mongo” theme, there’s now a QuickJS procedural extension for postgres (in addition to the earlier but clunkier plv8):
https://github.com/plv8/pljs https://bellard.org/quickjs/quickjs.html
The rub is that you can yeet any document data you like into JSONB columns, and mung them efficiently and freely with JS — taking all the upsides of Mongo, yet letting you merge them seamlessly with the full capabilities of PG’s relational model.
This is fantastic.
where is the {} hole?
I think there’s a backslash command that helps you find the hole.
Would you rather Mongo or Excel over Postgres?
Fuck you for making me think about that