Redis + MongoDB対Couchbase:パフォーマンスベンチマーク比較
優れたパフォーマンスと管理性
特徴
CouchbaseとRedis + MongoDBの主な機能の比較
何が含まれますか
内蔵キャッシュ
JSONの柔軟性
自動モバイル同期およびピアツーピア同期
マスターレスアーキテクチャ
完全なSQLクエリ
マルチマスター地理的レプリケーション
アナリティクス
自動シャージング/パーティショニング
データベースロジック
組み込みのフルテキスト検索
データ構造(キュー、セットなど)
多次元スケーリング
Couchbase
Redis + MongoDB
お客様
導入事例:MongoDBおよびRedisに対するCouchbaseの優位性

“サーバーの数を半分以下に抑えながら、パフォーマンスを向上させ、さらに拡張性の高いアーキテクチャを実現することができます。”
アミール・イシュ・シャローム, 、Viber オペレーション担当シニアディレクター
15
1日あたり10億件の通話およびメッセージのイベント
60%
総サーバーの削減

"Couchbaseは、LinkedInのキャッシュシステムにおいて重要な役割を果たす、拡張性の高い分散データストアです。"
マイケル・ケーホー, シニアスタッフサイト信頼性エンジニア、LinkedIn
10M+
クエリー/秒
<4ミリ秒
25億以上のアイテムの平均待ち時間

“他のどのソリューションも、Couchbaseの幅広いエンタープライズ機能には遠く及びませんでした。”
アビラム・アグモン, 、CTO、マカビ・ヘルスケア
2.3
1つのアプリに100万人の顧客
0
数千件もの毎日の接続におけるダウンタイム
コードスニペット
CouchbaseのSQL++と単一APIはRedisやMongoDBよりも優れている
- Couchbase キーバリューストア
- Redis キーバリュー
- Couchbase SQL++ クエリ
- MongoDBクエリ言語
- Redis
// scopeとcollectionにより、より柔軟なデータ整理が可能になります
const bucket = cluster.bucket('accounts-receivable');
const scope = bucket.scope('tenant1');
const collection = scope.collection('invoices');
const result = await collection.get('key');
// Redisにはスコープとコレクションの機能がありません
const redisClient = redis.createClient({ ... });
redisClient.connect();
const value = await redisClient.get('key');
/* Mongoの例に相当 */
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++の例と同等
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にはSQLのような複雑なクエリ言語がありません。



