4 ms·
We're in the process of migrating off Neo4j/OngDB to Postgres. Happy with how it's going so far.
by wharfjumper 4y ago
We're in the process of migrating off Neo4j/OngDB to Postgres. Happy with how it's going so far.
- moralestapia 4y agoInteresting, can you share more details? Is your data graph-like or more like tabular but you chose Neo4j anyway? What kind of functions from Postgres are you using to emulate Neo4j features?
- CharlieDigital 4y agoHad the exact opposite experience with N4j. Easy to operate, scale and run. We started in 2014 and in 2018 did a large scale enterprise rollout with a large customer. The performance test we put it through loaded millions of nodes and millions more edges with non trivial data and scaled to 800 concurrent users (could have been even more but for the fact that the web servers we had for this test scenario started to max out since the system was scaled for 200 concurrent and we were basically stress testing it at this point). In the early days, there were a few edge cases of query incompatibility between versions that we caught with unit tests, but otherwise very stable, easy to operate, and easy to use. Cypher is one of my favorite query languages. Very surprised that people had issues with it.
- sum1ren 4y agoCould it because many people are evaluating the community version of the database? The enterprise/Aura (cloud) is definitely designed to be more scalable
- CharlieDigital 4y agoCould be. We only used the community version for dev, but even that could scale quite well for a single node on SSDs. But we also spent a lot of time learning how to map our use case to it.
- busterarm 4y agoThere's no such thing as "scale" with community edition. There's no clustering. There's no monitoring. The only user is admin. But for the low, low, yearly price of half a million dollars you can get the very basics required to run reliable production workloads.
- jitl 4y ago800 concurrent users and millions of nodes sounds quite small. I would expect 800 users to fit on a single Postgres or even SQLite box, if you’re read-heavy. > Very surprised that people had issues with it. They may have several orders of magnitude more data & users than you
- ZephyrBlu 4y agoTLDR: your size is not size
- CharlieDigital 4y agoYou're kind of missing the point. All performance tests are relative to the expected load and infrastructure design to serve that load. No, it's not Twitter because it wasn't a public facing web app. The point being that in an infra designed to serve 200 concurrent in an enterprise scenario, Neo4j could have served multiples of that for the specified infra OR could have been deployed on smaller infra. We found it quite efficient and easy to tune.
- dj_mc_merlin 4y ago> I would expect 800 users to fit on a single Postgres or even SQLite box You can serve thousands of concurrent users on less-than-laptop resources -- we do. If you get a big dedicated server you can serve more concurrent users than you'll likely ever have customers. Modern relational databases are just very good. StackOverflow's stack (https://stackexchange.com/performance https://stackexchange.com/performance) is 4 huge Postgres servers. They probably cost less than our AWS bill for a couple months, which makes me jealous. Postgres scales.
- littlecranky67 4y agoAFAIK they use MSSQL, not postgres. And they only use one (another is a replicated hot spare) for Stackoverflow.
- deleted 4y ago
- davidkuennen 4y agoMy app is serving thousands of concurrent users with tables of billions of rows with postgres powered by just 4 CPUs and 20GB RAM.
- akshayrajp 4y agoWe just got done doing the exact same thing i.e. Neo4j to MySQL a few weeks ago. The whole process took around 5 months.