NoSQL/JSONデータベースCouchbase Server理解・活用へのロードマップ

# はじめに

ここには、私が2020年から2021年の前半にかけて、発表してきたCouchbase Serverに関する記事を、カテゴリー別に整理してあります。
したがって、発表当時のCouchbase Serverのバージョンをもとにしています。
2021年の夏に、Couchbase Serverのバージョン７が発表されています。バージョンアップに伴い、変化していない部分も当然ありますが、変化したところもあります。利用の際は、その点ご留意ください。（[Dockerでお手軽JSONデータベース体験 ~ Couchbase Server最新版を試す](https://qiita.com/yoshiyuki_kono/items/19359432f46afc2c105b)については、バージョン７での内容に更新しています。）

2021年末に、Couchbase Serverについて、次の拙著を上梓いたしました。そこには、ここで紹介している投稿の内容を、バージョン７に対応して整理し直したものが含まれる他、バージョン７の新機能や、Couchbase Serverについて日本語で読むことができるまとまった情報となるよう、その他の内容が追加されています。是非、ご覧いただければ幸いです。

![cbs_fsg.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176567/24bce9af-8772-b3ea-7809-c36182a46823.jpeg)

https://www.amazon.co.jp/-/en/%E6%B2%B3%E9%87%8E-%E6%B3%B0%E5%B9%B8/dp/429560030X/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1636588872&sr=1-1

とはいえ、上記書籍の内容は、入門書の位置づけとして整理しているため、以下の記事全てが網羅的に含まれるわけではありません。例えば、特定のプログラミング言語やフレームワーク、他システム連携の具体例についてのものなどが、そのような記事に当たります。適宜ご利用いただければ幸いです。

# Couchbaseとは何か

### Couchbase Serverとは何か？〜歴史を交えた概観
https://qiita.com/yoshiyuki_kono/items/e705a943f2409c8ce06a

### DX, SoE, そしてNoSQL (エンゲージメントのためのデータベースとしてのCouchbase)
https://qiita.com/yoshiyuki_kono/items/b9d0b9ca271edd5c416d

## インメモリDBとしての側面

### インメモリDBという選択肢（Oracle Coherence、Redis、そしてCouchbase) ①データ永続化との関係
https://qiita.com/yoshiyuki_kono/items/cf156988239462287d63

### Couchbaseにおけるデータ管理：メモリファーストアーキテクチャーが、ハイパフォーマンスを実現している裏側、それをどのように使うべきか
https://qiita.com/yoshiyuki_kono/items/45d5794317f079c8ef18


## JSONデータベースとしての側面

### JSONデータベースという選択肢 (Couchbase, MongoDB, クラウド等) 序. オープンデータ
https://qiita.com/yoshiyuki_kono/items/c271b1ab6a5e1164ac22

## 環境構築

### Dockerでお手軽JSONデータベース体験 ~ Couchbase Server最新版を試す
https://qiita.com/yoshiyuki_kono/items/19359432f46afc2c105b

### AWS CLIを使ってクラスター環境を準備する方法（あるいはCouchbaseインストール手順 AWS編）
https://qiita.com/yoshiyuki_kono/items/14dfb98ab305cbccec4e

# 開発


## Java Script / Node.js

### Node.js + NoSQL(Couchbase) アプリ開発 ステップバイステップガイド (1)
https://qiita.com/yoshiyuki_kono/items/ab5d5886e851302f960e

### JavaScript開発にNoSQLデータベースを活用する(CEANスタック紹介) ~ Node.js + Couchbaseアプリ開発 ステップバイステップガイド (2)
https://qiita.com/yoshiyuki_kono/items/98c97531d5d1087a8069

### Node.js + Hapi + Couchbase ~ Node.js + NoSQL(Couchbase) アプリ開発 ステップバイステップガイド (3) 
https://qiita.com/yoshiyuki_kono/items/f540f2d98f9622f28567

### Vue.jsによるフロントエンドの実現（ミニマム版） ~ Node.js + NoSQL(Couchbase) アプリ開発 ステップバイステップガイド (4)
https://qiita.com/yoshiyuki_kono/items/79e0385cffc2180f86ba
## Java

### Spring Boot + Spring Data: JSONデータベースCouchbaseを使ってJavaオブジェクトをそのまま保存する
https://qiita.com/yoshiyuki_kono/items/da214312b3ace0de24b1

### リアクティブプログラミングをNoSQLで「体験」してみる（Couchbase Reactive APIに触れる）
https://qiita.com/yoshiyuki_kono/items/7c191ca0e2d15bc7eaf6

## Go

### Go + NoSQL(Couchbase) アプリ開発 ステップバイステップガイド (1)
https://qiita.com/yoshiyuki_kono/items/b20877e2b1468b8bd8f6

## Rust

### [Rustアプリケーション開発にNoSQLドキュメント指向データベースCouchbase Serverを使うには？](https://qiita.com/yoshiyuki_kono/items/c6ed59746a59fdedb812)

## 他システム連携

### Couchbase + Kafka + Spark + HBase 連携 ~ Couchbase Kafkaコネクター紹介および概念実証結果報告
https://qiita.com/yoshiyuki_kono/items/6b111e0a69360aff7073

# アーキテクチャ

## プロセス・サービス
### [Couchbase Server アーキテクチャ解説: クラスターマネージャー](https://qiita.com/yoshiyuki_kono/items/5cac122e522ce18c780a)

### [Couchbase Server アーキテクチャ解説: Dataサービス](https://qiita.com/yoshiyuki_kono/items/71077529483149f257e1)

### [Couchbase Server アーキテクチャ解説: Queryサービス](https://qiita.com/yoshiyuki_kono/items/362e29cab6bc7397bab5)

### [Couchbase Server アーキテクチャ解説: Indexサービス](https://qiita.com/yoshiyuki_kono/items/c37c74fe0990b52de232)

## ネットワーク

### [Couchbase Server アーキテクチャー解説: クライアント・クラスター間コミュニケーションにおける独自性](https://qiita.com/yoshiyuki_kono/items/3f506b29b9ef4f86ac10)

# 機能

## データ操作

### NoSQLは、そしてCouchbaseはどこへ向かっているのか 〜 トランザクション今昔
https://qiita.com/yoshiyuki_kono/items/9d014ee070d475a08647

## 検索

### (HBase, MongoDB等)分散データベースにおけるレンジスキャンの考慮点とCouchbaseにおけるその実現
https://qiita.com/yoshiyuki_kono/items/d04dab2d7dcde7e2564b


## データ分析
### AWS S3に格納されたJSONデータの分析: Couchbaseの外部データソース機能紹介
https://qiita.com/yoshiyuki_kono/items/a103fbd958093b02d061

## イベント処理
### イベントドリブン・ビジネスロジック・プラットフォームとしてのCouchbase
https://qiita.com/yoshiyuki_kono/items/bd26e674380b5234e13c

## 運用

### [CouchbaseにおけるHA/DR対応 (Java SDK注解)](https://qiita.com/yoshiyuki_kono/items/489b494e046bc4d93d32)

### [Couchbaseにおけるシステム監視手法概観（Prometheus, Grafanaとの連携まで）](https://qiita.com/yoshiyuki_kono/items/ad3c610ddf8ac9a089a3)

### [Couchbaseコマンドラインツール couchbase-cli 解説](https://qiita.com/yoshiyuki_kono/items/65e1ffdbaa20103b99fe)

## セキュリティ
### データベースに必要とされるセキュリティ（Couchbase Serverの機能を通じた考察）① 概観：何が必要かつ実現されているか？
https://qiita.com/yoshiyuki_kono/items/a541522ccbea28f2747e

### データベースに必要とされるセキュリティ（Couchbase Serverの機能を通じた考察）② IPアドレス設定
https://qiita.com/yoshiyuki_kono/items/b1546879afbd4b755957

## 性能検証

### [Couchbaseベンチマークツールpillowfight解説](https://qiita.com/yoshiyuki_kono/items/f78235ece4a5d07ea434)

### [Couchbaseベンチマークツールn1qlback解説](https://qiita.com/yoshiyuki_kono/items/bdccd03820808daa6a81)

### NoSQLパフォーマンス比較について考えたこと：MongoDB Atlas, AWS DynamoDB, Couchbase Cloud
https://qiita.com/yoshiyuki_kono/items/146591a3e8cfafa87753

### NoSQLベンチマーク紹介：MongoDB, Cassandra, そしてCouchbase
https://qiita.com/yoshiyuki_kono/items/7dc7188fb572e99d8425

### YCSB ~Yahoo! Cloud Serving Benchmark~ について（付. Couchbase Serverを使ったベンチマーク実行手順）
https://qiita.com/yoshiyuki_kono/items/2dfc96b1565902b3614d


## ユースケース

### 地理分散コンテンツ管理システムとしてのNoSQLの可能性：MongoDB, Couchbase
https://qiita.com/yoshiyuki_kono/items/7fefd6fe00fa35be2c3c

# Couchbase Mobile

### [モバイルアプリ開発における組み込みNoSQL覚書（MongoDB Realm, Couchbase Lite等）](https://qiita.com/yoshiyuki_kono/items/05496b26e1dc4eb99ddb)

### [機械学習モデルとモバイルDBを統合するCouchbase Lite 予測クエリ 紹介](https://qiita.com/yoshiyuki_kono/items/8f304ec0c067d0f35450)

### [Java ScriptデータベースPouchDBとCouchbaseの現在の関係](https://qiita.com/yoshiyuki_kono/items/7d2fee2c73a0e01dd9ad)

# Kubernetes/Openshift

### [サービスメッシュ As Briefly As Possible: Couchbase Autonomous Operatorへの助走](https://qiita.com/yoshiyuki_kono/items/06005da5eca35e2686ac)