このプロジェクトについて

RxDB(Reactive Database)は、JavaScriptアプリケーション向けのローカルファースト、NoSQLデータベースです。リアクティブであり、現在の状態をクエリするだけでなく、アプリケーションはクエリ結果やドキュメントの単一フィールドの変更を購読できます。これは、リアルタイムでUI駆動のアプリケーションに役立つとプロジェクトでは説明されています。 データベースはストレージインターフェースを中心に構築されているため、基盤となるストレージエンジンを交換できます。ドキュメント化されたストレージオプションには、LocalStorage、IndexedDB、OPFS、LokiJS、Dexie.js、インメモリ、SQLite、WebWorker内、FoundationDB、DenoKVが含まれます。これにより、同じデータベースコードをさまざまな環境で再利用できます。サポートされているJavaScriptランタイムには、ブラウザ、Node.js、React Native、Capacitor、NativeScript、Flutter、Electronがあります。 レプリケーションについては、RxDBは既存のインフラストラクチャと連携することを目的とした同期エンジンを提供します。プロトコルは3つのHTTPエンドポイントを介して実装可能であり、GraphQL、CouchDB、WebSocket、WebRTC(P2P)、Supabase、Firestore、NATS、Google Drive用のプロダクション対応プラグインがリストされています。 機能セットには、ロギング、アタッチメント、ORMレイヤー、競合処理、ミドルウェア、シグナル、TanStack DBとの統合、リアクティブな状態、バックアップ、レプリケーション、サーバーコンポーネント、ストレージ、ローカルドキュメント、スキーマ検証、キー圧縮、スキーママイグレーション、暗号化、CRDTサポート、参照ドキュメントの人口が含まれます。インストールはnpm(rxdbとrxjs)を介して行います。READMEには、ストレージ付きのデータベースを作成し、JSONスキーマ付きのコレクションを追加し、ドキュメントを挿入し、exec()でクエリを実行し、observableを介してクエリを観察するクイックスタートが示されています。 ドキュメント、チュートリアル、サンプルプロジェクトは、rxdb.infoとリポジトリのexamplesディレクトリにあります。プロジェクトでは、購入可能なプレミアムプラグインと、Discord、Twitter、LinkedInを介したコミュニティサポートについても言及しています。READMEによると、RxDBの最初のリリースは2018年です。