データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Couchbaseとは?世界初のエンゲージメントデータベースの概要と特徴を解説

本記事では、Apache® 2.0ライセンスで公開されているオープンソースの分散型NoSQLドキュメント・キーバリューデータベース「Couchbase®」について詳しく解説します。

はじめに

Couchbaseは、大規模なインタラクティブなオンラインアプリケーション向けに低レイテンシのデータ管理を提供します。こうしたアプリケーションは、データの追加、削除、取得、表示、操作といったユーザーリクエストを処理します。これらを支えるためには、データがスケールしやすく、かつアクセスしやすい形式で保存されている必要があります。この要件から生まれたのがCouchbase Server®であり、2つの人気NoSQL技術であるMembase®とCouchDB®の合併によって誕生しました。

MembaseはNorthScale社によってmemcachedプロジェクトのもとで開発され、memcachedのシンプルさ、高速性、スケーラビリティに加え、データベースとしてのストレージ、永続化、クエリ機能を備えたキーバリューストアとして設計されました。

一方、CouchDBはJSONによるデータ表現と組み込みレプリケーションを採用しており、Erlang™で実装されています。CouchDBは2005年にDamien Katz氏によって開発され、2008年にはApacheプロジェクトとなりました。

2011年、Membase, Inc.とCouchDBプロジェクトを運営するCouchoneが合併を発表し、合併後の会社はCouchbase, Inc.と名付けられました。

データベースの3つのタイプ

ここでは、トランザクション型データベース、分析型データベース、エンゲージメントデータベースという3種類のデータベースの違いについて説明します。

Couchbaseとは?世界初のエンゲージメントデータベースの概要と特徴を解説

画像出典: https://resources.couchbase.com/c/engagement-database-whitepaper?x=49kQ7H

トランザクション型データベース

トランザクション型データベースは、高度に構造化されたデータを行と列で構成されるテーブル形式で格納します。主に組織の経理、人事、営業、購買部門などで利用されています。トランザクション型データベースでは、ユーザーとのインタラクションやサポート、エンゲージメントは一般的に対象外となるため、数百万規模のユーザーが同時に何十億もの写真、動画、テキストをアップロード、閲覧、共有することはできません。

コストの高さに加え、大量の非構造化データや半構造化データを扱えないため、これらのリレーショナルデータベースでは満足のいく顧客エンゲージメントを実現できません。

さらに、モバイル技術、ソーシャルプラットフォーム、IoT(モノのインターネット)アプリケーションの急速な成長も、こうしたデータベースに大きな課題をもたらしています。

アーキテクチャ上および構造上の制約により、トランザクション型データベースはデジタルディスラプションの時代に必ずしも適合せず、デジタルトランスフォーメーション(DX)の足かせになっている可能性があります。

分析型データベース

Hadoop®やApache Sparkなどの分析技術は、組織が保有する膨大な顧客インタラクションデータセットに対して、過去志向の分析を行うために使用されます。

分析技術は常に過去のデータを扱うものであり、リアルタイムデータには対応していません。リアルタイムまたは予測的な運用データを扱うことを想定して設計されていないため、顧客エンゲージメントの構築には不向きです。

例えば、ECサイトで顧客の閲覧履歴やSNSでの体験といったインタラクションに基づいて、リアルタイムでパーソナライズされた提案を行いたいとしましょう。分析型データベースでは、そのような機能やパフォーマンスは実現できません。

つまり、分析型データベースでは顧客へのエンゲージメントを提供できないのです。

エンゲージメントデータベース

エンゲージメントデータベースは、あらゆる規模において、あらゆるチャネルやデバイスを横断してデータの潜在能力を最大限に引き出し、活用することで、多様な顧客インタラクションと体験を提供し、顧客とのより意味のある深い関係を築きます。エンゲージメントデータベースには、以下のような主要な定義特性があります。

  • あらゆる規模での変化に対応できる設計(スケーラビリティ)
  • 高速性
  • 堅牢なセキュリティ
  • クラウドネイティブ
  • シームレスなモバイル対応
  • 組み込みインテリジェンス

Couchbase Server

世界初のエンゲージメントデータベースであるCouchbaseは、比類のない俊敏性、スケーラビリティ、高速性、セキュリティ、可用性、管理容易性を提供します。今日のビジネスでは、変化し続ける顧客の期待と体験に応え続け、適応力のある競争優位性を得るために、これらの品質が不可欠です。Couchbase Serverは、オープンソースのスケーラブルな分散型NoSQLドキュメント・キーバリューデータベースであり、大規模なインタラクティブオンラインアプリケーション向けに低レイテンシのデータ管理を提供します。

Couchbaseのコアアーキテクチャは、パフォーマンスを劣化させることなく簡単にスケールできるよう設計されており、柔軟なデータモデルによって最新のアプリケーション開発を簡素化します。信頼性を重視して構築されたコアデータベースプラットフォームには、高可用性、高スケーラビリティ、高性能、セキュリティといった機能が備わっています。Couchbaseデータベースはマルチモデルの汎用データベースであり、マネージドキャッシュ層、キーバリューストア、ドキュメントデータベースとして利用できます。

また、Couchbase LiteはモバイルデバイスやIoT環境でネイティブに動作し、マネージド同期を提供します。

次の図は、Couchbase Serverクラスタの構成を示しています。

Couchbaseとは?世界初のエンゲージメントデータベースの概要と特徴を解説

画像出典: https://developer.couchbase.com/documentation/server/4.0/architecture/architecture-intro.html

Couchbase Serverのランタイム動作

Couchbase Serverのランタイム動作は、以下の重要なコンポーネントに依存します。

  • 接続アーキテクチャ
  • レプリケーションアーキテクチャ
  • ストレージアーキテクチャ
  • キャッシュ層アーキテクチャ
  • セキュリティアーキテクチャ

Couchbase Serverのサービス

Couchbase Serverは、以下のコアコンポーネントで構成されています。

  • クラスタマネージャー
  • データサービス
  • インデックスサービス
  • クエリサービス

クラスタ内では、ワークロードに応じてデータ、インデックス、クエリの各サービスを有効化し、それぞれ独立したデプロイとして、3つの異なるワークロード(コアデータベース操作、インデックス作成、クエリ処理)を処理できます。これらのワークロードは互いに干渉することなく、独立して同時に処理されます。

そのため、任意のノード(または各ノード)は、任意の時点で1つ、複数、あるいはすべてのサービスを実行できます。データベース管理者はこれらの独立したサービスを活用して独自のトポロジを構築し、データベース内のさまざまなワークロードを個別にスケールできます。

Couchbase Serverのエディション

Couchbase Serverには、エンタープライズ、コミュニティ、オープンソースの3つのエディションがあります。各エディションは、それぞれ異なる機能とサポートレベルを提供します。

  • Enterprise Edition(EE): 本番環境向けに推奨されるエディションで、最新の本番環境対応リリースが提供されます。

  • Community Edition(CE): 非商用の開発者向けに構築されたエディションで、テストや問題の特定を支援し、将来の本番リリースで深刻な問題が発生するのを防ぎます。

  • オープンソースプロジェクト: Couchbaseのテスト、開発、将来のイノベーションのためのオープンプラットフォームとして提供されます。Community EditionおよびEnterprise Editionの開発に不可欠な基盤です。

まとめ

今日のIT業界では、顧客の期待がデジタルトランスフォーメーションを牽引しています。顧客は、お気に入りのブランドとやり取りする際に、卓越した体験を求めています。この現象により、企業は毎日新しいインターネットアプリケーションやモバイルアプリを構築するのではなく、エンゲージメント時代にすでに存在する巨大なビジネス機会を最大限に活かすことが求められています。そのためには、高い応答性、可用性、スケーラビリティ、インテリジェンス、そして管理のしやすさを備えたデータベースへ、現在の技術と環境をモダナイズすることが重要です。Couchbase Serverのようなエンゲージメントデータベースは、まさにこのニーズに最適なソリューションと言えるでしょう。

ご意見やご質問がある場合は、フィードバックタブをご利用ください。

データベースサービスの詳細については、こちらをご覧ください。

  1. Apache Cassandraとは?特徴・アーキテクチャ・導入手順をわかりやすく解説

    本記事では、非リレーショナルデータベース(NoSQL)であるApache Cassandra™について概説します。Cassandraを構成するコンポーネントや、データベースがどのように動作しデータを管理するのかを理解できるよう、特徴からアーキテクチャ、実際の導入手順までを順を追って解説します。 はじめに スケーラビリティと高可用性が求められる環境で、パフォーマンスを損なうことなく日々の運用データを管理したい組織にとって、Cassandraは大きなメリットをもたらします。Cassandraは耐障害性と線形スケーラビリティで知られており、あらゆるハードウェアやクラウドインフラストラクチャに対応でき

  2. 常時無料のAutonomous Database(自律型データベース)とは?特徴とOracle Cloudでの作成手順を解説

    本記事では、Oracleの自律型データベース「Autonomous Database」について紹介し、Oracle Cloud Infrastructure(OCI)上で利用できる「常時無料(Always Free)」オプションの作成方法と活用方法を解説します。 自律型データベース(Autonomous Database)とは? 自律型データベースは、Oracleが提供する次世代のクラウドデータベースです。EXADATAインフラストラクチャ上で稼働し、データベース操作からデータセンター運用までが完全に自動化されています。機械学習をはじめとするAI技術を活用し、従来データベース管理者(DBA)が