FEATURES
Die wichtigsten Merkmale von Couchbase im Vergleich zu Redis und MongoDB
- Was ist inbegriffen?
- Eingebauter Cache
- JSON-Flexibilität
- Automatische mobile Synchronisierung und Peer-to-Peer-Synchronisierung
- Masterlose Architektur
- Vollständige SQL-Abfrage
- Geografische Multi-Master-Replikation
- Analytik
- Automatische Splittung/Partitionierung
- Datenbank-Logik
- Integrierte Volltextsuche
- Datenstrukturen (Warteschlange, Menge, usw.)
- Mehrdimensionale Skalierung
- Couchbase
- Eventing, UDFs
- Redis + MongoDB
- Nur Redis
- Erfordert das RedisJSON-Modul
- Nur MongoDB
- Redis ist nur in Lua verfügbar
KUNDEN
Erfolgsgeschichten: Couchbase über MongoDB und Redis
-
"Mit weniger als der Hälfte der Server können wir die Leistung steigern und erhalten eine wesentlich besser skalierbare Architektur."
Amir Ish-Shalom, Leitender Direktor für Betrieb, Viber15 Milliarden Anruf- und Nachrichtenereignisse/Tag60% 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, LinkedIn10M+ Abfragen pro Sekunde<4ms durchschnittliche Latenzzeit für 2,5+ Milliarden Artikel -
"Keine der anderen Lösungen kam auch nur annähernd an die umfassenden Unternehmensfunktionen von Couchbase heran."
Aviram Agmon, CTO, Maccabi Health Care2.3 2,3 Millionen Kunden auf einer einzigen App0 Ausfallzeiten für Tausende von täglichen Verbindungen
CODE SNIPPET
Couchbase's SQL++ und Single API übertrifft Redis/MongoDB
> SQL
// 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');
> SQL
// Redis lacks scope and collection capability
const redisClient = redis.createClient({ ... });
redisClient.connect();
const value = await redisClient.get('key');
> SQL
/* equivalent to the Mongo example */
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
> SQL
// equivalent to the SQL++ example
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 }}]})
> SQL
// Redis lacks a complex query language like SQL