マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】Apache CouchDB


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「Apache CouchDB」とは
基本情報
概要
Apache CouchDB(アパッチカウチデービー)とは、ドキュメント指向データベースです。「RESTful HTTP/JSON API」「スキーマレス(NoSQL)」「分散型」「スケーラブル」「耐障害性」などの特徴があります。
基本説明
Apache CouchDBは、ドキュメントをデータとして管理し、Web公開に最適化されたデータベース管理システムです。関数型言語「Erlang」で実装されています。
CouchDBコミュニティのWebサイトなどには「Relax(リラックス)」という言葉がよく登場します。「データベースの設計/構築/操作について極力リラックスできるデータベース環境を提供する」というコンセプトです。
経緯
・2007年、オープンソース公開
・2009年、Apache Software Foundationの正式なプロジェクトとして最初のリリース
ポイント
・ドキュメントストレージ
・ACIDセマンティクス
・MapReduceフレームワーク(JavaScriptビュー定義)によるクエリ/ビュー/インデックス
・分散アーキテクチャ/レプリケーション
・REST API
・結果整合性
・優れた管理画面「Futon」が付属
・オールインワン環境「JavaScriptでWebアプリまで作れる」「Webサーバも内蔵」
・JSONサーバとしてネットに直接公開しJavaScriptから利用できる
・効率的/堅牢なディスクレイアウト
主な特徴
「ドキュメント」指向
CouchDBは、すべてのデータをJSONフォーマットで表現される「ドキュメント」として扱います。フィールドには、文字列/数値/日付/順序付きリスト/連想配列などを格納できます。
CouchDBデータベースは、「ドキュメントのフラットなコレクション」として構成されます。各ドキュメントは一意のIDで識別されます。
スキーマレス
CouchDBは、フラットなアドレス空間を持ち、アドホックでスキーマ不要のデータベースです。「新しいドキュメントタイプ」を「古いドキュメントタイプ」と混在させて管理できます。
JavaScriptビューモデル
CouchDBは、JavaScriptを使って記述するビューモデルを採用しています。
ビューは、データベースドキュメントを対象とした集約/結合/レポート作成時に動的に生成されます。元のドキュメントは変更されないため、ビューを使用して、タイプが異なるドキュメントを扱えます。
分散データベース
CouchDBは、ピアベースの分散データベースシステムです。複数のCouchDBホストが、同一データベースの「レプリカ・コピー」をそれぞれ独自に保持します。
アプリケーションはこれらのホストに対して、完全なデータベース機能(クエリ/追加/編集/削除)を利用できます。
レプリケーションプロセス
CouchDBのレプリケーションプロセスには、衝突検出/管理機能が組み込まれており、高速インクリメンタルレプリケーションが可能です。
前回のレプリケーション以降に変更されたドキュメント(個々のフィールド)のみをコピーします。特別な準備を必要とせずに、分散更新/レプリケーションを利用できます。
各CouchDBホストは、任意のタイミングでレプリケーションを実行できます。
RESTful JSON API
データベースとのすべての通信にHTTPを使用し「RESTful API」を提供します。
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「MongoDB」など。
導入事例
オフィシャルサイトで採用事例が紹介されています。
→CouchDB In The Wild
ライセンス情報
Apache CouchDBのライセンスは「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク3位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク6位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク7位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク8位🏆
【無料で使える】「 マルウェア 」対策ツールまとめ - 🏆ランク9位🏆
【OSS情報アーカイブ】fping - 🏆ランク10位🏆
【ChatGPT使ってみる実験室】 WordPress関数を作って記事リストを出力