はじめに
Couchbase Mobileによるアプリケーション開発に関する記事や参考情報を、カテゴリー別に整理しています。
Couchbase Mobileは、NoSQL組み込みデータベースCouchbase Lite、およびCouchbase ServerとCouchbase Liteとのデータ同期を担うSync Gatewayからなります。
Couchbase Serverについては、次の拙著を紹介させていただきます。
Why Couchbase Mobile?
そもそも何故、Couchbase Mobileを使ってアプリケーション開発を行うのでしょうか?ここでは、箇条書きでキーワードを記します。
ニーズ
- モバイルアプリケーション / オフラインファーストアプリケーション
- エッジコンピューティング
バリュー
- クライアントとサーバーとのデータ同期という典型的な処理に(2014年以来の実績を持つ)信頼性の高い実装を利用することにより、企業はビジネスロジック開発に専念することができる)
- NoSQL/JSONデータ構造による柔軟性:クライアントとサーバーで同一のデータモデルを利用可能
- マルチチャネル:モバイルとWEBアプリケーションで同一のデータを利用
- クロスプラットフォーム:オンプレ、パブリッククラウドで同一のテクノロジーを利用可能
- サーバーとの同期を必要としないモバイルアプリケーションの組み込みデータベースとして利用。JSONドキュメントの格納と、検索を実行可能
関連技術動向
モバイルアプリ開発における組み込みNoSQL覚書(MongoDB Realm, Couchbase Lite等)
React Nativeで使えるデータベースを比較【2021年12月版】(featuring Couchbase Lite)
Couchbase Mobile紹介
なぜ、Couchbaseなのか?〜モバイル/エッジコンピューティングプラットフォームとしての観点から
エッジコンピューティングを実現するCouchbase Mobile紹介:Sync Gatewayによるデータ同期におけるアクセス制御モデル
エッジコンピューティングを実現するCouchbase Mobile紹介:Sync Gatewayによるデータ同期におけるフィルタリング
エッジコンピューティングを実現するCouchbase Mobile紹介:Sync Gatewayによるデータ同期におけるルーティングの柔軟性(Sync関数概要)
エッジコンピューティングを実現するCouchbase Mobile紹介:Sync Gateway間レプリケーション
Couchbase Liteを使ってみる
Android Java
Android Javaアプリケーション開発に、NoSQLドキュメント指向モバイルデータベースCouchbase Liteを使ってみる
Swift
Swifアプリケーション開発に、NoSQLドキュメント指向モバイルデータベースCouchbase Liteを使ってみる
Kotlin
Kotlinアプリケーション開発に、NoSQLドキュメント指向モバイルデータベースCouchbase Liteを使ってみる
C#/Xamarin
C#アプリケーション開発に、NoSQLドキュメント指向組み込みデータベースCouchbase Liteを使ってみる
Xamarinアプリケーション開発に、NoSQLドキュメント指向組み込みデータベースCouchbase Liteを使ってみる
Java
C
Raspberry Piを使ったIoTアプリケーション開発に、NoSQLドキュメント指向組み込みデータベースCouchbase Liteを使ってみる
NoSQLドキュメント指向 組み込みデータベースCouchbase Lite 3.0.0 ベータにおけるC/C++サポート
Couchbase Lite 機能解説
データ
Couchbase Lite機能解説:ドキュメントの構造と制約
データ操作
Couchbase Lite機能解説:ドキュメントデータモデル
Couchbase Lite機能解説:データベースの使い方
Couchbase Lite機能解説:添付ファイル
クエリ
Couchbase Lite機能解説:クエリ① 概要、インデックス、SELECT句
Couchbase Lite機能解説:クエリ② WHERE句
Couchbase Lite機能解説:クエリ③ JOIN、GROUP BY、ORDER BY
Couchbase Lite機能解説:クエリ④ 結果セット
Couchbase Lite機能解説:ライブクエリ
Couchbase Lite 機能解説:インデックス作成
Couchbase Lite 機能解説:Couchbase Lite機能紹介:クエリのトラブルシューティング
データ同期
Couchbase Lite機能解説:競合解決概要
ロギング
Couchbase Lite 機能解説:ロギングAPI
ピアツーピア同期
Couchbase Lite機能解説:ピアツーピア同期〜アーキテクチャー構成/ワークフローと実装サンプルコード
Couchbase Lite機能解説:Couchbase Lite機能解説:ピアツーピア同期〜プログラミング構成と設定項目
Couchbase Lite機能解説:ピアツーピア同期〜機能説明(セキュリティ、エラー処理など)
バックアップ
Couchbase Lite機能解説:ローカルデータ同期
開発
Couchbase Lite開発:Android用インストール手順
Couchbase Lite開発:cbliteツール解説
Couchbase Lite開発: Kotlin拡張機能
クロスプラットフォームフレームワークサポート
React Native
React Nativeで使えるデータベースを比較【2021年12月版】(featuring Couchbase Lite)
[React Nativeアプリケーション開発にNoSQL組み込みデータベースCouchbase Liteを使ってみる](React Nativeアプリケーション開発にNoSQL組み込みデータベースCouchbase Liteを使ってみる)
Apache Cordova / Ionic
Flutter/Dart
Flutterアプリケーション開発に、NoSQLドキュメント指向組み込みデータベースCouchbase Liteを使うには?
Dartアプリケーション開発にNoSQLドキュメント指向 組み込みデータベース Couchbase Liteを使うには?
Sync Gateway
利用方法
Sync Gateway利用方法:ユーザーとロールの作成・管理
Sync Gateway利用方法:チャネル
Sync Gateway利用方法:アクセス確認
機能解説
Sync Gateway機能解説:同期メカニズム概要
Sync Gateway機能解説:同期〜リビジョン
Sync Gateway機能解説:同期〜デルタ同期
Sync Gateway機能解説:同期〜再同期
Sync Gateway機能解説:ドキュメントアクセスの制御
Sync Gateway機能解説:同期〜モバイル以外のクライアントとの共存
Sync Gateway機能解説:JavaScriptによる処理のカスタマイズとインポートフィルター
Sync Gateway機能解説:設定〜概要
Sync Gateway機能解説:拡張属性(XATTRS)の利用
セキュリティ
Sync Gatewayセキュリティ:概要
Sync Gatewayセキュリティ:ユーザー認証
Sync Gatewayセキュリティ:TLS証明書認証
Sync Gatewayセキュリティ:認証と承認のためのOAuth 2.0とOIDCの基礎
管理
Sync Gateway機能解説:管理〜停止と再開
運用
モバイル/エッジコンピューティングプラットフォームCouchbase Mobileの運用監視について
デプロイメント
Sync Gatewayデプロイメント:概要
Sync Gatewayデプロイメント:ファイルディスクリプタ設定
Sync Gatewayデプロイメント:レスポンシブサービス構築
Sync Gatewayデプロイメント:Prometheus連携
Couchbase Mobile機能解説
Couchbase Mobile機能解説:データ同期における競合解決①(概要)
Couchbase Mobile機能解説:データ同期における競合解決②(Couchbase Liteの競合解決)
Couchbase Mobile機能解説:データ同期における競合解決③(Sync Gatewayの競合解決)
アプリケーション開発
Couchbase Mobile アプリケーション開発:DockerによるSync Gateway環境構築
Couchbase Mobile 開発:データ同期パターン〜ユーザーエクスペリエンス向上
Couchbase Mobile 開発:データ同期パターン〜ローカルデータクリーンアップ
Couchbase Mobile 開発:データ同期パターン〜データ同期範囲の制御
関連技術
公式チュートリアル
内部機構解説
アドバンスド機能解説
参考情報