Socket.IOは、クライアントとサーバー間のリアルタイムな双方向・低遅延のイベントベース通信を実現するライブラリです。
share/sharedb
Operational Transformationを使った、複数ユーザーの共同編集とライブ同期向けのリアルタイムJSONドキュメントデータベースバックエンド。
- スター
- 6,562
- フォーク
- 458
- 未解決の Issue
- 171
- 最終コミット
- 一昨日
これは何?
ShareDBは、共同編集エディターの多くで使われている技術、Operational Transformation(OT)を基盤とする、JSONドキュメント向けのリアルタイムデータベースバックエンドです。クライアントは同期APIを通じてドキュメントを編集でき、変更は他のユーザーの編集内容とマージされ、最終的整合性を保ちながら、接続中のすべてのクライアントに反映されます。
シンプルなアダプター連携により、さまざまなデータベースをバックエンドとして利用できます。また、リアルタイムのクエリ購読、送信するフィールドを絞るプロジェクション、アクセス制御や独自拡張のためのミドルウェアをサポートしています。pub/sub連携による水平スケーリングも可能です。オフライン中の変更は接続復旧時に同期され、ドキュメントの過去のバージョンにもアクセスできます。
ShareDBはブラウザーとサーバーの両方で動作し、ユニットテスト用にインメモリデータベースとpub/subの実装を備えています。DerbyJS Webアプリケーションフレームワークのリアルタイムバックエンドとして使われています。
主な機能
- 01クライアント間でJSONドキュメントをリアルタイムに同期
- 02Operational Transformationによる複数ユーザーの同時編集
- 03リアルタイムのクエリ購読
- 04特定のフィールドを選択するプロジェクション
- 05アクセス制御や独自拡張のためのミドルウェア
- 06再接続時のオフライン変更の同期
ユースケース
- Webアプリケーションへの共同編集機能の実装
- 接続中のユーザー間で更新されるライブダッシュボードやリーダーボードの構築
- 既存のデータベースへのリアルタイム同期の追加
- 組み込みのインメモリアダプターを使ったリアルタイム処理のテスト
使う前に知っておきたいこと
- メタデータでライセンスが特定されていません(NOASSERTION)。使用する前にリポジトリのライセンスを確認してください。
トピック
よくある質問
- sharedb とは?
- Operational Transformationを使った、複数ユーザーの共同編集とライブ同期向けのリアルタイムJSONドキュメントデータベースバックエンド。 ShareDBは、共同編集エディターの多くで使われている技術、Operational Transformation(OT)を基盤とする、JSONドキュメント向けのリアルタイムデータベースバックエンドです。クライアントは同期APIを通じてドキュメントを編集でき、変更は他のユーザーの編集内容とマージされ、最終的整合性を保ちながら、接続中のすべてのクライアントに反映されます。
- sharedb は無料で使えますか?ライセンスは?
- sharedb は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- sharedb は今もメンテナンスされていますか?
- 活発にメンテナンス中。sharedb の最終コミットは 2026年11月5日 です。
- sharedb は何に使えますか?
- Webアプリケーションへの共同編集機能の実装 接続中のユーザー間で更新されるライブダッシュボードやリーダーボードの構築 既存のデータベースへのリアルタイム同期の追加 組み込みのインメモリアダプターを使ったリアルタイム処理のテスト
- sharedb はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/share/sharedb
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
リアルタイム通知、高度な検索に対応したデータストレージ、ユーザー管理を標準で備える、TypeScript製のオープンソース汎用バックエンド。
Node.js向けの権威型マルチプレイヤーフレームワーク。状態同期、ルームベースのマッチメイキング、Web・Unity・GodotなどのクライアントSDKを提供します。
OwnTracksモバイルアプリがMQTTまたはHTTP経由で送信する位置情報を、外部データベースなしで保存・配信する軽量サーバーです。
uWebSockets.jsを基盤とするチャットサーバー。XMPPに代わる選択肢として、Node.jsバックエンド、MongoDB、Redisを採用しています。