Repolode
pubkey

pubkey/rxdb

ブラウザー、Node.js、React Native、Electronで動作し、自前のバックエンドとレプリケーションできる、JavaScriptアプリ向けのローカルファーストなリアクティブNoSQLデータベース。

代替できる製品:Firebase Realtime DatabaseFirestore

スター
23,411
フォーク
1,182
未解決の Issue
19
最終コミット
6 時間前

これは何?

RxDBは、データをローカルファーストで保持し、変更を購読できるJavaScriptアプリケーション向けのNoSQLデータベースです。クエリは一度だけ実行することも、変更を監視することもできます。クエリ結果や単一のフィールドが変わると、UIが自動的に更新されます。

ストレージ層は差し替え可能です。同じデータベースのコードをLocalStorage、IndexedDB、OPFS、SQLite、インメモリストア、WebWorkerなどの上で動作させられるため、ブラウザー、Node.js、React Native、Capacitor、Flutter、Electronで利用できます。

同期機能として、RxDBには自分で実装したHTTPエンドポイントと連携するレプリケーションエンジンがあり、GraphQL、CouchDB、WebSocket、WebRTC、Supabase、Firestore、NATS、Google Drive向けのプラグインも用意されています。さらに、スキーマ検証、暗号化、マイグレーション、競合処理、添付ファイル、CRDTにも対応しています。

主な機能

  • 01結果や単一のフィールドが変わると更新を通知するリアクティブクエリ。
  • 02IndexedDB、OPFS、SQLite、インメモリなどに対応した差し替え可能なストレージエンジン。
  • 03自前のHTTPエンドポイントや、GraphQL、CouchDB、Supabaseなどのプラグインを介したレプリケーション。
  • 04スキーマ検証、暗号化、マイグレーション、競合処理。
  • 05ブラウザー、Node.js、React Native、Capacitor、Flutter、Electronで動作。

ユースケース

  • データをクライアント側に保持する、オフライン対応またはリアルタイムUIアプリの開発。
  • 特定のクラウドデータベースを採用せずに、既存のバックエンドへ同期機能を追加。
  • Web、モバイル、デスクトップのJavaScript環境で共通のデータ層を利用。
  • ビューがリアルタイムに更新されるマルチプレイヤー機能や共同編集機能の開発。

クイックスタート

  1. 1

    npm で RxDB と RxJS をインストールする

    npm install rxdb rxjs --save
  2. 2

    コレクションを含むデータベースを作成し、ドキュメントを挿入する

  3. 3

    データを一度だけクエリするか、ライブクエリの結果を購読する

使う前に知っておきたいこと

  • クイックスタートではブラウザーのストレージに LocalStorage を使用します。他の環境では別のストレージプラグインが必要です。
  • 一部のレプリケーションプラグインや高度な機能は有料で、購入が必要です。

トピック

よくある質問

rxdb とは?
ブラウザー、Node.js、React Native、Electronで動作し、自前のバックエンドとレプリケーションできる、JavaScriptアプリ向けのローカルファーストなリアクティブNoSQLデータベース。 RxDBは、データをローカルファーストで保持し、変更を購読できるJavaScriptアプリケーション向けのNoSQLデータベースです。クエリは一度だけ実行することも、変更を監視することもできます。クエリ結果や単一のフィールドが変わると、UIが自動的に更新されます。
rxdb は無料で使えますか?ライセンスは?
rxdb は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
rxdb は今もメンテナンスされていますか?
活発にメンテナンス中。rxdb の最終コミットは 2026年10月21日 です。
rxdb は何に使えますか?
データをクライアント側に保持する、オフライン対応またはリアルタイムUIアプリの開発。 特定のクラウドデータベースを採用せずに、既存のバックエンドへ同期機能を追加。 Web、モバイル、デスクトップのJavaScript環境で共通のデータ層を利用。 ビューがリアルタイムに更新されるマルチプレイヤー機能や共同編集機能の開発。
rxdb のインストール方法は?
npm で RxDB と RxJS をインストールする: npm install rxdb rxjs --save コレクションを含むデータベースを作成し、ドキュメントを挿入する データを一度だけクエリするか、ライブクエリの結果を購読する
rxdb はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/pubkey/rxdb

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト