Redis + MongoDB vs. Couchbase: Performance Benchmark Comparison
Superior performance and manageability
EIGENSCHAFTEN
Key features of Couchbase vs. Redis + MongoDB
Was ist enthalten
Built-in cache
JSON-Flexibilität
Automatic mobile sync and peer-to-peer sync
Masterless architecture
Full SQL querying
Multi-master geographic replication
Analytik
Automatic sharding/partitioning
Datenbanklogik
Built-in full-text search
Data structures (queue, set, etc.)
Mehrdimensionale Skalierung
Couchbase
Redis + MongoDB
KUNDEN
Success stories: Couchbase over MongoDB and Redis

“With less than half the servers, we can increase performance and gain a much better scalable architecture.”
Amir Ish-Shalom, Sr. Direktor für Betriebsabläufe, Viber
15
Milliarden Anruf- und Nachrichtenereignisse/Tag
60%
Reduzierung der Gesamtzahl der Server

"Couchbase ist ein hoch skalierbarer, verteilter Datenspeicher, der eine entscheidende Rolle in den Caching-Systemen von LinkedIn spielt."
Michael Kehoe, Senior Staff Site Reliability Engineer, LinkedIn
10M+
Abfragen pro Sekunde
<4ms
durchschnittliche Latenzzeit für 2,5+ Milliarden Artikel

“None of the other solutions came even close to Couchbase’s broad enterprise capabilities.”
Aviram Agmon, CTO, Maccabi Health Care
2.3
million customers on a single app
0
downtime for thousands of daily connections
Code-Schnipsel
Couchbase’s SQL++ and single API excels over Redis/MongoDB
- Couchbase key-value
- Redis key-value
- Couchbase SQL++ query
- MongoDB query language
- Redis
// scope/collection allow for more flexible data organization
const bucket = cluster.bucket('accounts-receivable');
const scope = bucket.scope('tenant1');
const collection = scope.collection('invoices');
const result = await collection.get('key');
// Redis lacks scope and collection capability
const redisClient = redis.createClient({ ... });
redisClient.connect();
const value = await redisClient.get('key');
/* Entspricht dem Mongo-Beispiel */
SELECT SUM(value * volume) AS val, symbol
FROM db.stocks
WHERE symbol IN ( "AAPL", "GOOG" ) AND value > 0
GROUP BY symbol
ORDER BY val DESC, symbol ASC
// entspricht dem SQL++-Beispiel
db.stocks.aggregate([
{ "$match": {
"$and": [
{"symbol": {
"$in": [
"AAPL",
"GOOG"]}},
{ "value": {
"$gt": 0 }}]}},
{ "$group": {
"_id": {
"symbol": "$symbol" },
"sum(value * volume)": {
"$sum": {
"$multiply": [
"$value",
"$volume"]}}}},
{ "$project": {
"_id": 0,
"sum(value * volume)": "$sum(value * volume)",
"symbol": "$_id.symbol"}}
{ "$sort": {
"sum(value * volume)": -1,
"symbol": 1 }}]})
// Redis lacks a complex query language like SQL



