7 ms·
Use Postgres, problem solved.
by GiorgioG 8y ago
Use Postgres, problem solved.
- MaxBarraclough 8y agoSolves many more problems than just the licence, too.
- haggy 8y agoPlease take your unhelpful comments elsewhere
- GiorgioG 8y agoUnhelpful how? I'm providing an alternative NoSQL option (Postgres supports JSON - https://www.postgresql.org/docs/10/static/datatype-json.html https://www.postgresql.org/docs/10/static/datatype-json.html) and you don't have to deal with this MongoDB licensing nonsense.
- Thaxll 8y agoNoSQL usually have built in constructs for horizontal Scalling / HA, pg have none of that.
- dang 8y agoPlease review https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and follow the rules when posting here, regardless of how unhelpful another comment is (or feels). Uncivil swipes in particular are not ok.
- _verandaguy 8y agoWhile I like relational data and I _love_ Postgres specifically, there are some tasks and contexts for which non-relational stores are better suited.
- GiorgioG 8y agoI'm guessing you're already aware, but for anyone that isn't - Postgres supports JSON as well https://www.postgresql.org/docs/10/static/datatype-json.html https://www.postgresql.org/docs/10/static/datatype-json.html
- basilgohar 8y agoWhile Postgres definitely has support for document-store like behaviors and can function in that capacity just fine, that's not the same thing as saying you can just substitute it for a document-oriented store like MongoDB. Having said that, for someone who's already using Postgres, it's a great way to introduce some document-related behaviors (as opposed to strictly relational ones) by using the features it already has. Even MariaDB is taking steps in this direction with many non-traditional relational types of storage options now available.
- GiorgioG 8y agoI think you can absolutely do it (and have) using something like: http://jasperfx.github.io/marten/ http://jasperfx.github.io/marten/
- bgdam 8y agoI'm sure that there are tasks for which non-relational stores might be better suited, but pretty much anything MongoDB does, Postgres does it better and in a more performant way (esp after the optimizations to the JSONB data type in the last few major releases).
- Thaxll 8y agoThis is a very bold comment, explain how you scale write, do HA in pg?
- bgdam 8y agoPostgres HA: https://www.postgresql.org/docs/9.5/static/high-availability.html https://www.postgresql.org/docs/9.5/static/high-availability...
- Thaxll 8y agoThis is not what I called HA or horizontal scaling. Have a look at what MongoDB or Cassandra do.
- GiorgioG 8y agoUnless you're operating at Google/FB/Twitter/etc scale, this is not a problem most of us face IRL. We need to stop pretending we have these problems at 99% of the places we work at. Most of us don't. We don't need 1,000 microservices, Kubernetes, Docker, and a terribly unreliable NoSQL database like MongoDb (there are better, more optimal solutions for those companies than MongoDb (Cassandra being one of them.))
- Thaxll 8y agoThe fact that someone has to manually promote a slave as master is a big operational cost. The people that actually use PG at scale have to write a lot of tools / plumbing to overcome those issues, the same "issues" that were solved by most NoSQL solution, horizontal scaling, HA, shards re-balancing ect ...
- village-idiot 8y agoI agree, although I think the use cases for non-relational databases is overstated, but I view MongoDB as one of the most dangerous pieces of software I’ve had to touch. It demos great, but long term usage of MongoDB has been nothing but pain for me. Lost writes, all three nodes deciding the other is primary, crappy performance if you’re just outside of the indices, and extremely painful migrations all come to mind. I really hate MongoDB. I’ve been burned by it consistently for the past half decade or so, across several companies, data sets, ops teams, and underlying hardware. I’ve just decided that fundamentally MongoDB doesn’t work.
- GiorgioG 8y agoLet me echo that sentiment, I also hate MongoDb. I had to setup / manage a MongoDb cluster in 2012-2013. It was a giant shitshow. Maybe things have gotten better, but I have little desire to test the waters with MongoDb again. I'd rather use https://www.rethinkdb.com/ https://www.rethinkdb.com/ if I really needed NoSQL / scalability.
- wvenable 8y ago> there are some tasks and contexts for which non-relational stores are better suited. And if you have one of those tasks I congratulate you on finding a project with particularly unique data needs.
- GiorgioG 8y agoPerformance is pretty damn good too compared to MongoDB: https://www.percona.com/live/e17/sites/default/files/slides/High%20Performance%20JSON%20-%20PostgreSQL%20vs.%20MongoDB%20-%20FileId%20-%20115573.pdf https://www.percona.com/live/e17/sites/default/files/slides/...
- olavgg 8y agoThank you for that presentation, it is pretty cool to see other production systems using FreeBSD + ZFS together with PostgreSQL :-)
- village-idiot 8y agoGiven my personal experience with Mongo, using Postgres will solve far more issues than just the license.
- egeozcan 8y agoThe technical side of it is irrelevant IMHO. I'm pretty sure they wouldn't but what if Postgres people did this too? What if others followed?
- GiorgioG 8y agoI don't think that's even remotely possible given how Postgres is structured: https://wiki.postgresql.org/wiki/FAQ#Who_controls_PostgreSQL.3F https://wiki.postgresql.org/wiki/FAQ#Who_controls_PostgreSQL...
- int_19h 8y agoThis, by the way, is also a good answer to many questions along the lines of, "which NoSQL database should I use". 99% of the time, you're losing a lot from NoSQL, and you're not gaining anything. Most people who talk about NoSQL perf would never actually hit the perf limits of Postgres on their real life workloads.