#FerretDB 1.0 has been announced
Ferret is a proxy that sits between your #mongodb drivers & a #postgres db converting mongo queries into postgres SQL and using PG for the persistence.
I am finding myself at a complete loss as to any practical reason why someone would want to use this. The ONLY case i can make for it is that it satisfies people who are zealous about open source licenses and aren't happy with Mongo's.
What am i missing?
@masukomi
portability? stable API?
SQL access to data?
specialized backend db indexes? like #postgres #vectors or #postgis or #postgrest
@hobs this make take a couple toots. Please know that i'm honestly trying to work through the problem to understanding. I'm not trying to say "you're wrong". Going step by step through your points.
1. portability
How is this portable? You couldn't swap out PG for something else. I guess it'd let you port a Mongo centric codebase to PG but ...why would you want to?
2. stable api
the "stable api" is mongo's API so... switching to not-mongo is either no change or introducing risk
1/?
3. SQL access to data.
Valid, but if that was a priority mongo was a bad choice. BUT maybe mongo WAS a bad choice & we're in "dig ourselves out of a ditch" mode & trying to avoid a rewrite.
If SQL access is important it seems a bad choice to use this for anything new.
4. specializations
4a. vectors: MongoDB atlas has vector similarity search
4b. postgrest: mongo has Rest API
4c. gis: mongo has geospacial indexing
2/?
@hobs To be clear, I'm _not_ a mongodb fanboy, and SQL is my favorite DSL ever. That being said MongoDB has come a long way since it's start and there are lots of great features available.
To me the only plausible use case for ferret is "shit we shouldn't have chosen mongo for our task and really don't want a rewrite"
that being said bad mongo results are almost always "we didn't take the time to learn what it means to use a document db and treated it like a relational one"
3/3
@hobs Ferret would make SO much more sense if they'd just pitch it that way, but they're pitching it as "hey this is a great choice to develop apps with" and... I just don't buy that.
as a very focused niche "help me escape mongo with minimal work" tool it looks _incredibly_ valuable.
@masukomi
+100
I guess they know that people who want to switch will find #PG and Ferret on their own. So they are marketing to small new app developers that don't know how to use anything other than a graph db or doc store "catch all". Relational DBs are tough for some people. #Ferret might be the gateway drug for new developers.