Live data from Hacker News

FerretDB: open-source MongoDB alternative

blog.ferretdb.io

61–70 of 130 posts

Re: FerretDB: open-source MongoDB alternative

#61
post #52

Earlier quoted context omitted.

Yes and custom network software for routers, switches, firewalls, and custom OSes etc.

Those aren’t listed are they? The idea you need to release code for the os, file system, network routers, etc is absurd.

SSPL license text doesn't set any limits on the scope for source release. Verbatim quote:

> “Service Source Code” means the Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available.

Basically it is saying you need to release the source of every tiny bit in your stack and then some.

Re: FerretDB: open-source MongoDB alternative

#62
I applaud this effort.

Many years ago I founded a project called ToroDB [1]. ToroDB had a vision very similar to that of FerretDB's: help MongoDB users feel at home on Postgres. This has far reaching implications, like allowing MongoDB applications to run without MongoDB (this is what FerretDB is essentially and what "ToroDB Server" was meant to be) or to replicate data from MongoDB to Postgres to improve the performance of analytical queries by several orders of magnitude (that was "ToroDB Stampede").

ToroDB ended up being discontinued. Timing was not right. At the time, NoSQL was exploding, and users "didn't want to look back to SQL" --until they learned the notable advantages, but it was a time consuming and hard job. Today, there's a much higher acceptance of SQL and most recognize that data querying in many cases goes through, or is significantly helped, by SQL.

I wish FerretDB a successful road and reach to where ToroDB didn't reach at the time. Good luck and congratulations on the 1.0 launch!

[1]: https://torodb.com

Re: FerretDB: open-source MongoDB alternative

#63
post #42

Ok, old man yelling at clouds moment finally coming for me. Now that we've been through the document-database heyday and are out the other end, what have we learned about where document databases are a good fit? At the time I looked at them like a fad. "These script kiddies want to write javascript and ignore schemas. Let's see how well that works out for them." As expected, most of what I ever hear is regret. Today,…

> Question is, what applications is a document-first database good for, outside of prototyping?

Some criteria I’d use: * Data is already naturally segregated and won’t be shared/joined much during normal usage * App already has transactions modeled in the application layer (or I guess if consistency really doesn’t matter) * App would benefit from being geographically distributed. * App is written in a language with a strong type system, has high code quality, test coverage, etc.

In my case, my company makes a distributed project management application. All changes to projects are canonically ordered and applied in the application layer.

Data is stored in Cloudflare Durable Objects and R2. Hard to classify DOs but they’re a lot closer to a document store than an SQL Db.

There are some nice benefits that would be hard to replicate with a traditional SQL Db setup.

Re: FerretDB: open-source MongoDB alternative

#64
post #52

Earlier quoted context omitted.

Yes and custom network software for routers, switches, firewalls, and custom OSes etc.

Those aren’t listed are they? The idea you need to release code for the os, file system, network routers, etc is absurd.

No, full list is in the license, but it’s only those components that they provide MongoDB as a service to end users. Doesn’t penetrate OS abstractions AFAICT, but I’d check the license and/or consult an expert if starting a relevant business!

FWIW, just realized it doesn’t even apply if deployed internally (within an organization and/or subsidiaries)…

Re: FerretDB: open-source MongoDB alternative

#65

Earlier quoted context omitted.

Please state in what way they don’t? This is what I’m confused about. Apgl is open source but a sspl isn’t? They seem to be aimed at solving the same thing, which is cloud/server based code modifications.

SSPL goes way beyond AGPL as it contains an additional clause called "Offering the Program as a Service". It is not defined at all what constitutes providing MongoDB as a service. How many layers are needed to abstract MongoDB in a way that it doesn't trigger this clause? There are no answers for that in the SSPL. It comes with an enormous amount of risk compared to AGPL. There is a good article from Dor Laor at Scyl…

AGPL is basically the same thing, except far more reaching. AGPL, to my understanding, makes it a requirement if you allow people to use the software via network levels. “Program as a Service” seems a lot more limited in scope.

All new licenses come with risk since the decisions can only be made via court decisions.

Re: FerretDB: open-source MongoDB alternative

#66
post #42

Ok, old man yelling at clouds moment finally coming for me. Now that we've been through the document-database heyday and are out the other end, what have we learned about where document databases are a good fit? At the time I looked at them like a fad. "These script kiddies want to write javascript and ignore schemas. Let's see how well that works out for them." As expected, most of what I ever hear is regret. Today,…

Yes, FerretDB is a layer which implements the MongoDB wire protocol on top of Postgres. Right now we are using JSONB, but this affects performance and we need to depart from this strategy in the long run. We have an article which explains the concept [1]. I wouldn't go into the document vs. relational argument, all arguments for and against would have merit. There are valid use cases for document databases (take e-co…

I'm curious about what makes document databases a good fit for e-commerce. I've never worked in that industry.

Re: FerretDB: open-source MongoDB alternative

#67
This sounds like an interesting hybrid implementation, and I understand its motivation. However, if distributed writes at low latency with the highest consistency guarantees are essential, combining those two layers (Mongo and PostgreSQL) isn't worth the complexity. It looks like you can administer it with both Mongo and PostgreSQL tools, but do you want to? Clusters, partitioning, replication? That's a lot of heavy lifting.

To fully disclose, I have a biased view on this given that I work for a (closed source) serverless, no-ops DB provider (Fauna) that implements a distributed transaction engine that is natively document-relational and doesn't compromise on relational (ACID, transactional) guarantees. Although not directly comparable to an OSS DB, The market expects software and services to abstract as much complexity as possible. It is hard to imagine how such a Mongo/Postgres hybrid could handle hyper-scale apps that require highly consistent distributed writes.

Re: FerretDB: open-source MongoDB alternative

#68

Does ferret support transactions and document write locking?

Our development roadmap [1] is based on the needs of the users and the software we are focusing on building compatibility with.

Interestingly, transactions are not commonly used and therefore it is not high on our priority list, it may take months until we get to it. Nevertheless, if enough users would request it, we would reconsider. The same goes for any other item on the roadmap, please check it out.

[1]: https://github.com/orgs/FerretDB/projects/2

Re: FerretDB: open-source MongoDB alternative

#69

I applaud this effort. Many years ago I founded a project called ToroDB [1]. ToroDB had a vision very similar to that of FerretDB's: help MongoDB users feel at home on Postgres. This has far reaching implications, like allowing MongoDB applications to run without MongoDB (this is what FerretDB is essentially and what "ToroDB Server" was meant to be) or to replicate data from MongoDB to Postgres to improve the perform…

Looks like they mentioned your DB in a (probably SEO-bait) blog post here:

https://blog.ferretdb.io/5-database-alternatives-mongodb-202...

Re: FerretDB: open-source MongoDB alternative

#70

I applaud this effort. Many years ago I founded a project called ToroDB [1]. ToroDB had a vision very similar to that of FerretDB's: help MongoDB users feel at home on Postgres. This has far reaching implications, like allowing MongoDB applications to run without MongoDB (this is what FerretDB is essentially and what "ToroDB Server" was meant to be) or to replicate data from MongoDB to Postgres to improve the perform…

As well, Postgres now has great support for jsonb and querying that data, so you can effectively use Postgres as if it were NoSQL, if you really wanted to.
Post reply on HN