MongoDB 3.0 WiredTiger compression results
-
@xen It really depends on the size of your forum and what you're willing to pay for. Redis works by storing your data in RAM, so if you have a super huge forum, it can run out of RAM space. Mongo stores data directly to disk, so you get much cheaper storage. As far as performance cost with NodeBB, the difference is negligible as most of the request time is spent parsing templates, not requesting data.
-
@baris said:
This forum started out on redis, then we migrated to mongo. Although it could have still worked on redis, it was using about 150mb of ram when we did the migration.
If the amount of memory consumption redis does not cause problems then why have you decided to migrated to mongo?
-
@xen Mostly to test the redis->mongodb converter, and since we ported our SaaS customers to mongodb as well, we want to use the same here to catch any bugs/errors early.
Redis is still fully supported and not going anywhere though. Actually it's still the default choice in a new install, although we are discussing if we should change it to mongodb as well.
-
MongoDB works SO well, not sure if there is a reason to keep Redis around (at least as the default.) If you are a small site, does the choice matter? And if you are a big one, you would want MongoDB almost certainly. I'd rather see time and effort focused purely on MongoDB than split. I might be biased as we run purely on MongoDB for all of our sites.
-
I use Redis on a quite big installation.
Maybe it is due to DDR4 RAM, but for me it just performs better than MongoDB, even though I would have to compare them again as I got NVMe SSD's now.What would also interest me is how your benchmark results are for Redis.
Otherwise I also agree. Redis is a bit "boring", maybe the focus should be put on SSDB, which is used in very, very, very big installations.
-
It's probably because you have enough RAM to hold your database. Redis is faster... when you have the RAM for it. It's failover mechanisms are not that robust (I ran Redis management for one of the world's largest websites and it is FAST but such a huge pain to deal with Sentinel monitoring and your ring health.)
We would need 4X our current RAM to move from MongoDB back to Redis. We use SSDs in RAID 10 to get our disk speed up rather than going to all RAM like we would do with Redis. And we are growing rapidly so where we are today is just the tip of the iceberg as far as memory requirements. With Redis you really want enough RAM for the entire dataset on each node. That ads up quickly. So for a 4+ GB database you'd be realistically looking at three nodes each with 8GB to handle it.
-
@AOKP said:
Otherwise I also agree. Redis is a bit "boring", maybe the focus should be put on SSDB, which is used in very, very, very big installations.
What are the biggest installations? What size are we talking about?
-
@scottalanmiller I do not know how well you know chinese websites, but if you do here you go:
http://ssdb.io/docs/users.html -
@AOKP said:
@scottalanmiller I do not know how well you know chinese websites, but if you do here you go:
http://ssdb.io/docs/users.htmlAh, not NodeBB sites, you mean. That makes sense.
When I was at one of the world's top sites it was Redis, MongoDB and Cassandra running the show with MongoDB being phased out.
-
@scottalanmiller to be honest. Most sites still use MySQL/MariaDB. Simply because they are more flexible than MongoDB. If you want to run MongoDB properly you need a strong and so expensive system. For me MongoDB caused around 15% CPU load, which is basically unacceptable, especially in productive areas.
However MongoDB is indeed quite good, if you do not know how big you will go and you don't want to think much about how data will be stored.
-
Was that an older version of MongeDB? Since 2.6 (we were on 2.6.5 for a long time, on 2.6.11 now) we don't see CPU loads anything like that, even with a pretty busy site. MongoDB is still less than our NodeBB processing.
-
@scottalanmiller nope. It was MongoDB 3.0.4 or something like that.
-
I'm surprised, MongoDB 3 was supposed to be even faster than 2.
-
@scottalanmiller but not faster than Redis as a matter of fact.
-
@AOKP database afford really isn't that significant in the case of NodeBB anyways. Templates.js is really slow at parsing templates.
-
@pitaj said:
Templates.js is really slow at parsing templates.
#shotsfired
In @psychobunny's defence, he and @baris have been working quite hard to get parsing speed up, especially leading up to v0.9.0... there may be a couple jsfiddles comparing ops/s somewhere...
-
Grabbing popcorn.
-
@AOKP said:
@scottalanmiller but not faster than Redis as a matter of fact.
I wouldn't expect it to be. Redis is all about speed at any cost. MongoDB is more about scaling and stability.