icon

CouchDB

HTTP/JSON リクエストに基づく、クロスプラットフォーム同期をサポートするオープンソースのドキュメントデータベース

template cover
展開済み18
発行者lilixxs
作成日2025-02-19
サービス
service icon
タグ
Database

CouchDBの紹介

オープンソースのドキュメント指向データベースで、シームレスなマルチマスター同期をサポートし、直感的なHTTP/JSON APIを提供し、信頼性を重視して設計されています。

CouchDBはMongoDBに似ていますが、より軽量で使いやすいです。

なぜCouchDBなのか?

Apache CouchDBは、必要な場所でデータにアクセスできます。Couch Replication Protocolは、グローバルに分散したサーバークラスターモバイル電話ウェブブラウザなど、あらゆる計算環境にわたるさまざまなプロジェクトや製品で実装されています。

自分のサーバーや、主要なクラウドプロバイダーでデータを安全に保存できます。あなたのウェブアプリケーションやネイティブアプリケーションはCouchDBを愛しています。なぜなら、それはJSONをネイティブにサポートし、すべてのデータストレージニーズに対応するバイナリデータをサポートしているからです。

Couch Replication Protocolにより、データはサーバークラスター間でシームレスに流れ、モバイル電話やウェブブラウザにも同期され、オフラインファーストなユーザーエクスペリエンスを提供しながら、高いパフォーマンスと強力な信頼性を維持します。CouchDBは開発者フレンドリーなクエリ言語と、オプションでMapReduceを提供し、シンプルで効率的なデータ取得をサポートします。

CouchDB と MongoDB の比較

共通点:

  1. 両方は No-SQL のドキュメント指向データベースで、ドキュメントタイプ(JSON)データを直接保存、集約、変換、返却できます。
  2. 両者とも、高可用性の分散クラスタ展開をサポートします。
  3. 両方はオープンソースプロジェクトで、自己ホスティングまたはクラウドサービスプロバイダーのサービスを購入して利用できます。

主な違い:

  1. CouchDB は REST API を介してやり取りしますが、MongoDB はデータベース接続 + 独自のクエリ言語を使用します。
  2. CouchDB は可用性(A)と分割耐性(P)に重点を置いており、MongoDB は整合性(C)と分割耐性(P)に重点を置いています。
  3. CouchDB は Apache プロジェクトで、公式には商業サービスを提供していません。MongoDB は商業サービス(MongoDB Enterprise)とクラウドサービス(MongoDB Atlas)を提供しています。
  4. 現在のトレンド:MongoDB は CouchDB よりも人気があり、関連するサポートサービスがより充実しています。

関連環境変数

  • COUCHDB_USER: 初期の管理者ユーザー名
  • COUCHDB_PASSWORD: 初期の管理者パスワード

サービス使用フロー

サービスを初めて起動する際、初期化が必要です。CouchDB に組み込まれている Fauxton 管理パネルを使用して構成することをお勧めします。

  1. CouchDB に組み込まれたブラウザ管理パネルにアクセスします。アドレスは【サービス状態】ページの CouchDB built-in Fauxton admin webpage にあります。初期のユーザー名とパスワードでログインします。
  2. 左側の【スパナ】アイコンをクリックして、初期化を開始します。
    1. Configure a Single Node = 単一ノードモードとして設定
    2. Configure a Cluster = クラスターモードとして設定 プロジェクト内で複数の CouchDB サービスを生成し、ポートとパスワード認証設定を変更する必要があります。 詳細については公式ドキュメントを参照してください:https://docs.couchdb.org/en/stable/setup/cluster.html
  3. 初期化が完了したら、使用を開始できます。

統合された Fauxton 管理インターフェースを使用してデータベースを管理

管理インターフェースのドキュメント:https://docs.couchdb.org/en/stable/fauxton/install.html#fauxton-visual-guide

管理パネルのアドレス:【サービス状態】ページの Fauxton -- CouchDB built-in admin webpage

下記のユーザー名(CouchDB username)とパスワード(CouchDB password)でログインします。

ブラウザで以下のようなインターフェースが表示され、データベースのデータと設定を管理できます。

REST API を使用してデータベースにアクセスする

API ドキュメント:https://docs.couchdb.org/en/stable/api/index.html

以下の例では、/ パスへの GET リクエストを送信します。データベースは歓迎メッセージを返すべきです。

curl などのツールを使用して HTTP REST リクエストを送信します。

curl <上記でコピーしたアドレス>

レスポンスは、バージョン機能やバージョン情報などを含む歓迎データを返します。

{
    "couchdb": "Welcome",
    "version": "3.4.2",
    "git_sha": "6e5ad2a5c",
    "uuid": "7687c62cfdf781f4623b721104a70c88",
    "features": [
        "access-ready",
        "partitioned",
        "pluggable-storage-engines",
        "reshard",
        "scheduler"
    ],
    "vendor": {
        "name": "The Apache Software Foundation"
    }
}