Couchbase Website
  • 製品紹介
        • プラットフォーム

          • Couchbase カペラデータベース・アズ・ア・サービス
        • セルフマネジメント

          • Couchbaseサーバーオンプレ、マルチクラウド、コミュニティ
        • サービス

          • AIサービス AIを活用したエージェント開発と
            展開
          • 検索 フルテキスト、ハイブリッド、地理空間、ベクトル
          • モバイル組み込みNoSQL、クラウドとエッジの同期、オフライン・ファースト
          • アナリティクスリアルタイム、マルチソース分析
        • 能力

          • インメモリーアーキテクチャスピード、スケール、可用性
          • 柔軟なアプリの構築JSON、SQL++、多目的
          • クラウド・オートメーションKubernetes オペレーター
          • 開発ツールSDK、統合、Capella iQ
          • Couchbase Edgeサーバーリソースに制約のある環境
        • なぜCouchbaseなのか?

          開発者や企業は、ミッションクリティカルなアプリケーションのためにCouchbaseを選択します。

          理由を見る

          カペラへの移行

          Server Enterprise EditionからCouchbase Capellaにアップグレードする主な理由

          理由を見る
  • ソリューション
        • ユースケース別

          • 人工知能
          • キャッシュとセッション管理
          • アダプティブ製品カタログ
          • スマート・パーソナライゼーションとプロファイル
          • アダプティブ・フィールド・サービス
          • AIのためのリアルタイム分析
          • すべての使用例を見る
        • 業界別

          • 金融サービス
          • ゲーミング
          • ハイテク
          • エンターテイメント
          • 小売
          • トラベル&ホスピタリティ
          • すべての業種を見る
        • アプリケーションの必要性

          • アプリケーション・パフォーマンス
          • 分散ワークロード
          • アプリケーションの柔軟性
          • モバイル、IoT、エッジ
          • 開発者の生産性
          • 高いオペレーションコスト
          • オフライン・ファーストのウェブ・アプリケーション
          • すべてのアプリケーションのニーズを見る
  • リソース
        • 人気のドキュメント

          • カペラ概要
          • サーバー概要
          • モバイル&エッジの概要
          • 接続アプリ(SDK)
          • チュートリアル&サンプル
          • ホーム
        • 開発者の役割別

          • AI開発者
          • バックエンド
          • フルスタック
          • モバイル
          • オペレーション / DBA
          • 開発者ホーム
        • クイックスタート

          • ブログ
          • ウェブキャスト&イベント
          • ビデオ&プレゼンテーション
          • ホワイトペーパー
          • トレーニングと認定
          • Forums
        • リソースセンター

          すべてのCouchbaseリソースを1つの便利な場所で見る

          見てみよう
  • 会社名
        • について

          • 会社概要
          • リーダーシップ
          • お客様
          • ブログ
          • ニュースルーム
          • 採用情報
        • パートナーシップ

          • パートナーを探す
          • パートナーになる
          • 案件登録
        • サービス

          • プロフェッショナル・サービス
          • エンタープライズ・サポート
        • パートナー案件登録

          Couchbaseとの取引を登録する準備はできていますか?

          あなたのパートナーの詳細と、登録するプロスペクトについてお知らせください。

          ここからスタート
          マリオット

          Marriottは、信頼性の高いパーソナライズされた顧客体験のために、MongoDBやCassandraよりもCouchbaseを選択しました。

          さらに詳しく
  • 価格
  • 無料体験
  • サインイン
  • Japanese
    • Italian
    • German
    • French
    • Portuguese
    • Spanish
    • Korean
    • English
  • search
Couchbase Website

データベース・シャーディングとは?

シャーディングのすべてとCouchbaseのNoSQLクラウドデータベースサービスがどのように役立つかを学ぶ

  • 無料体験
  • データベース比較

データベース・シャーディングの概要

このページで取り上げている:

  • データベース・シャーディングの仕組み
  • シャーディングの利点
  • シャーディングの欠点
  • シャーディングの種類
  • データベース・シャーディングの代替案
  • Couchbase Capella™がデータベースのシャーディングにどのように役立つか
  • 結論

データベースのシャーディングは、データベースのパフォーマンスとスケーラビリティを最適化するための強力なツールです。複数のサーバーにデータと処理能力を分散させることで、データへのアクセスを高速化し、データベースがより大きなワークロードを処理できるようにする。NoSQLデータベースは分散コンピューティングと自動シャーディングを念頭に設計されているため、シャーディングに最も関連するデータベースであることが多い。しかし、十分な努力をすれば、どんなデータベース技術でもシャーディングを実現できる。

データベースのシャーディングはどのように機能するのか?

データベースのシャーディングは、データセット全体をシャードと呼ばれる複数のグループに分割する。一旦分割されると、各シャードは独立して、通常はクラスターと呼ばれる複数のサーバー上に保存することができる。各シャードは独立してアクセスできるため、データへのアクセスが高速になり、処理、コンピューティング、ストレージに利用できるリソースが増えます。


お使いのブラウザはビデオタグをサポートしていません。

シャーディングはどこで行われるのですか?

データベースにシャーディング機能が組み込まれている場合、開発チームがシャーディングを実現するために必要な作業は少なくなります。シャーディングがオプション機能であったり、コンフィギュレーションが必要であったりする場合は、慎重に計画を立てる必要がありますが、シャーディングのためにコードベースの大幅な変更や追加は必要ないはずです。基礎となるデータベースがシャーディングを行えない場合(多くのリレーショナルデータベースがそうである)、コードベースに大きな変更を加える必要があるかもしれない。

データをシャードする必要がありますか?

シャーディングを使うべきかどうかは、多くの要因に左右される。それらの要因には、データセットのサイズ、システムユーザーの数、実行される操作の数、インフラの制約などが含まれる。

ユーザー数の増加や操作の増加によってアプリケーションのパフォーマンスが著しく低下する場合、水平スケーリング(多くの場合シャーディングを使用)は、データベースで使用可能な計算リソースを増加させる1つの方法です。しかし、パフォーマンスの低下は、最適でないコード、適切なインデックスの欠如、データモデリングの変更の必要性、またはその他の問題を示している可能性もあります。シャーディングは常にパフォーマンス向上のための最初の選択肢であるべきではありませんが、一部のデータベーステクノロジーにとっては、パフォーマンス目標を達成するための摩擦の少ない手段となり得ます。

シャーディングの利点

  • より速いパフォーマンス:入出力を処理できるサーバーの数が増える。
  • 水平スケーリング:クラスタにサーバを迅速に追加できる
  • コスト:水平的なスケーリングは、垂直的なスケーリング(つまり、あるサーバーをより強力な別のサーバーにアップグレードすること)よりも安価であることが多い。
  • 分散/アップタイム:水平方向にスケーリングされた分散データベースは、従来の単一サーバーよりも優れたアップタイムを実現できます。

シャーディングの欠点

  • 複雑さ:データベースシステムによって、シャーディングの複雑さは異なります。分散、水平スケール、シャーディングを含めて設計されているデータベースもある。また、より実践的なDIYアプローチが必要なものもある。
  • リバランシング:クラスタにマシンを追加する場合、データを均等に分散させるためにシャードのバランスを調整する必要があります(例えば、1,000のドキュメントを3つのシャードに均等に分散させる場合、シャードあたりおよそ333のドキュメントになります。4つ目のシャードを追加すれば、1シャードあたり250ドキュメントになります)。データベースにシャーディング機能が組み込まれていない場合、リバランシングは複雑な手作業のDIYプロセスになることが保証されている。

シャーディングの種類

シャーディングには複数のアプローチがある。シャーディング機能が組み込まれているデータベースシステムもあれば、シャーディングを直接サポートしていない(そして多くのカスタムコーディングやDIYプロセスを必要とする)データベースシステムもある。各アプローチのゴールは、データを一貫してシャードに分割し、毎回同じシャードでデータを検索したり、同じシャードに書き込んだりできるようにすることです。

範囲ベースのシャーディング

範囲ベースのシャーディングでは、データ値を選択し、それが特定の範囲内にあるかどうかに基づいてシャードに割り当てます。例えば、年齢を含むユーザーデータがある場合、あるシャードには0~10歳のユーザーを格納し、別のシャードには11~20歳のユーザーを格納するといった具合です。

1つのシャードが他よりも多くのユーザーを保存してしまう可能性があるため、このアプローチには問題がある。また、不釣り合いに多くのデータを保存するシャードは、パフォーマンスに影響を与えるホットスポットになる可能性がある。

キーベースのシャーディング

キーベースのシャーディングは、より独立したアプローチをとる。データ内の値(NoSQLドキュメント・データベースでは通常ドキュメントID)がハッシュにかけられ、そのハッシュによってデータがどのシャードに格納されるべきかが決定される。

なぜなら、データベースにアクセスするすべてのアプリケーションがハッシュを構築できなければならないからである。また、この方法ではハッシュに使用するデータ値が不変である必要があります。これは通常問題にはなりませんが、まれにエッジケースで問題になることがあります。

Couchbase は以下を使用します。 自動キーベース・シャーディング を使用してクラスタ内でデータを均等に分散し、自動リバランシングと自動レプリケーションも提供します。これらの自動化により、重要なプロセスを簡素化し、開発チームの貴重な時間を解放することができます。

ディレクトリベースのシャーディング

ディレクトリベース・シャーディングは、ルックアップテーブルまたはルックアップ構成における値に基づいて、データのある値を特定のシャードにマッピングするアプローチである。これは範囲アプローチに似ているが、単純なルックアップを伴うこともある。例えば、オハイオ州に住所を持つユーザーは "Ohio "シャードに格納され、カリフォルニア州のユーザーは "California "シャードに格納されるといった具合だ。

ルックアップ・テーブルやコンフィギュレーションが利用できなくなったり、ダウンしたり、破損したりする可能性があるため、このアプローチには問題がある。このような場合、アプリケーションは読み取りや書き込みを実行できなくなる。

ジオ・シャーディング

ジオ・シャーディングは、他のシャーディング・オプションと組み合わせることも、その代わりに使用することもできる。ジオ・シャーディングの背景にある考え方は、データが最も頻繁にアクセスされる場所に物理的に近い場所に保存することである。例えば、オハイオ州の住所を持つユーザーはオハイオ州のサーバーに保存され、カリフォルニア州の住所を持つユーザーはカリフォルニア州のサーバーに保存される。

このアプローチは、より高速なアクセスを提供できるが、ホットスポットや十分に利用されていないサーバーを生む可能性もある。また、ジオ・シャーディングは、特定のアプリケーションや管轄区域の法的要件を満たせない可能性もある。

自動シャーディングの提供に加えて、Couchbaseは以下の方法でジオ・シャーディングをサポートします。 クロスデータセンターレプリケーション(XDCR).

エンティティベースのシャーディング

エンティティベースのシャーディングとは、別個の、しかし密接に関連するデータを同じシャードに一緒に保存することを意味する。例えば、アプリケーションのロジック内ではユーザーを1つのエンティティと見なしますが、ユーザーの買い物履歴は別のシャードに別々に保存することができます。関連するデータを同じシャードに保存することで、同時に検索するために必要な計算量を減らすことができます。

このアプローチの欠点は複雑さである。どのデータがどこに行くかを設定するのは複雑なプロセスになる可能性があり、特にあるデータが複数のエンティティによって使用されている場合はなおさらだ。

データベース・シャーディングの代替案

水平方向のスケーリングは、常に何らかのレベルでシャーディングを伴いますが、次のような多くのオプションがあります。 どのように をシャーディングする。1つの方法は、マイクロサービス・アーキテクチャや物理ディスク・シャーディングのような、ユーザーには不透明なアーキテクチャ・シャーディングだ。シャーディングは、以下のような方法で隠したり抽象化することもできる。 クラウドデータベース

データベースシステムを検討する際、シャーディングをどのように実現するかを理解することは極めて重要である。完全に抽象化され隠蔽されることもあれば、自動化されることもあり、複雑なコンフィギュレーション・オプションがサポートされることもあれば、サポートされずDIYのアプローチが必要になることもある。

Couchbase Capellaがデータベースのシャーディングにどのように役立つか

Couchbase カペラ は、デジタル企業のためのクラウドデータベースプラットフォームです。

CapellaはCouchbase Serverと同じシャーディングシステムを使用しており、キーベースの自動シャーディングである。ユーザーや開発者の視点から見ると、Couchbaseとのシャーディングは追加の設定やメンテナンスを必要としない。CRC32アルゴリズムをvBucketsと併用することで、Capellaはお客様のシステムにホットスポットが発生しないことを保証します。

Capellaはレプリケーションを自動化します。必要なレプリカの数を選択するだけで、あとはCapellaが処理します。

Capellaはリバランシングも自動化します。サーバを追加したりクラスタから削除したりすると、Capellaはダウンタイムを発生させることなく自動的にリバランスを行います。

最後に、CapellaはXDCR機能によってジオ・シャーディングを実現できる。XDCRはデータセンター間でリアルタイムにデータを複製します。XDCRレプリケーションは、ローカルレイテンシーを改善するため、またはデータロケーションの要件を満たすために、ユーザー定義のフィルターに基づいてデータを包含または除外することができます。

結論

シャーディングは、より多くのオペレーションを処理するためにデータベースをスケーリングする場合に理解すべき重要なコンセプトだ。そして、NoSQLデータベースは、リレーショナルデータベースによって課される制約の多くを排除するため、シャーディングが特に得意です。とはいえ、Couchbase Capellaはリレーショナルデータベースの最高の機能のいくつか(SQL構文と、JOINと ACIDトランザクション)を自動シャーディングの分散データベースに変換する。

Couchbaseのシャーディングの詳細については、こちらをご覧ください:

  • バケット
  • レプリケーション
  • リバランシング

データベースの拡張方法を検討するためのその他の重要なリソース:

  • 多次元スケーリング
  • データセンター間のレプリケーション
  • マルチクラウドの展開
  • なぜNoSQLなのか?
  • スケールアウトと高可用性を実現するCouchbaseとMongoDB™の比較
建設開始

当社の開発者ポータルをチェックして、NoSQLを探求し、リソースを閲覧し、チュートリアルから始めましょう。

今すぐ開発する
カペラ無料体験

わずか数クリックでCouchbaseをハンズオン。Capella DBaaSは、最も簡単かつ迅速に始めることができます。

無料
ISVのためのCouchbase

複雑さとコストを抑えてパワフルなアプリを構築。

さらに詳しく
Popup Image
Couchbase

3155 Olsen Drive, Suite 150, San Jose, CA 95117, United States

会社

  • について
  • リーダーシップ
  • ニュース&プレス
  • 採用情報
  • イベント
  • リーガル
  • お問い合わせ

サポート

  • 開発者ポータル
  • ドキュメンテーション
  • フォーラム
  • プロフェッショナル・サービス
  • サポートログイン
  • サポートポリシー
  • トレーニング

クイックリンク

  • ブログ
  • ダウンロード
  • オンライン・トレーニング
  • リソース
  • なぜNoSQLなのか
  • 価格
  • トラストセンター

フォローする

  • ツイッター
  • LinkedIn
  • ユーチューブ
  • フェイスブック
  • ギットハブ
  • スタック・オーバーフロー
  • ディスコード
© 2026 Couchbase, Inc. Couchbase and the Couchbase logo are registered trademarks of Couchbase, Inc. All third party trademarks (including logos and icons) referenced by Couchbase, Inc. remain the property of their respective owners.
  • 利用規約
  • プライバシーポリシー
  • クッキーポリシー
  • サポートポリシー
  • 私の個人情報を販売しないでください
  • マーケティング・プリファレンス・センター
  • トラストセンター