rush-db/rushdb has 328 GitHub stars and 28 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-12 22:29 UTC. Last push 2026-11-05.
計測したスター増加
- 24時間
- 0
- 7日間
- 更新が遅れています
- 15日間
- 更新が遅れています
- 1か月
- 更新が遅れています
期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。
概要
RushDB is a self-describing, graph-native database that helps AI agents reason over data with confidence: progressively introspect what's queryable—without guesswork.
データREADME_JA.md
オリジナルRushDB — AI のためのデータベース
レコードとその関係、そしてその上での検索を、ひとつのデータベースで。
JSON を書き込むだけ。RushDB が型を推論し、ネストしたオブジェクトをグラフとしてつなぎ、独自の JSON クエリ言語、SQL、Cypher、Gremlin、Mongo 形式のドキュメントで問い合わせられるようにします。ベクトル検索、全文検索、ハイブリッド検索にも対応。Rust のバイナリひとつ、データディレクトリひとつ、Apache-2.0。
ウェブサイト • ドキュメント • マニュアル • RushDB Cloud • デプロイ
English • 中文 • 日本語 • 한국어 • Deutsch • Français • Português • Español • हिन्दी • العربية • Bahasa Indonesia • ไทย
クイックスタート
curl -fsSL https://raw.githubusercontent.com/rush-db/rushdb/main/install.sh | sh
rushdb up
インストールスクリプトはリリースのチェックサムを確認し(cosign があれば Sigstore 署名も確認)、rushdb バイナリを ~/.rushdb/bin に入れます。rushdb up は http://127.0.0.1:3000 で永続ノードを起動し、データを ./.rushdb に保存します。ローカル用トークンは local-token です。
ネストした JSON ドキュメントを書き込みます。ネストしたオブジェクトはそれぞれ独立したレコードになり、親とつながります:
export RUSHDB_TOKEN=local-token
curl -s http://127.0.0.1:3000/protocol/v1/execute \
-H "Authorization: Bearer $RUSHDB_TOKEN" -H 'Content-Type: application/json' \
-d '{"protocolVersion":1,"operation":{"kind":"ingest","ingest":{"kind":"documents","label":"COMPANY",
"documents":{"name":"Acme","DEPARTMENT":[
{"name":"Engineering","headcount":12,"EMPLOYEE":[{"name":"Ada","role":"Staff Engineer"},{"name":"Linus","role":"Engineer"}]},
{"name":"Sales","headcount":4,"EMPLOYEE":[{"name":"Grace","role":"Account Executive"}]}]}}}}'
次に Acme のエンジニアを探します。関連するラベルを書くだけで、フィルターが関係をたどります:
curl -s http://127.0.0.1:3000/protocol/v1/execute \
-H "Authorization: Bearer $RUSHDB_TOKEN" -H 'Content-Type: application/json' \
-d '{"protocolVersion":1,"operation":{"kind":"query","query":{"kind":"records","query":{
"labels":["EMPLOYEE"],
"predicate":{"role":{"$contains":"Engineer"},"DEPARTMENT":{"COMPANY":{"name":"Acme"}}}}}}}'
続きはクイックスタートへ。
好きな方法で問い合わせる
同じレコードに、どのインターフェースからでもアクセスできます。
SQL:PostgreSQL ワイヤプロトコル経由で、psql や任意の PostgreSQL ドライバーから。ラベルがテーブルになります:
PGPASSWORD=$RUSHDB_TOKEN psql "host=127.0.0.1 port=5432 user=rushdb dbname=rushdb sslmode=disable" \
-c "SELECT name, headcount FROM department ORDER BY headcount DESC"
Cypher:HTTP 経由、または Neo4j ドライバーで Bolt 経由(rushdb up --languages sql,cypher --bolt-port 7687):
MATCH (d:DEPARTMENT)-->(e:EMPLOYEE)
RETURN d.name AS department, count(e) AS people ORDER BY people DESC
SDK のダイレクトモード(npm install @rushdb/javascript-sdk):
import RushDB from '@rushdb/javascript-sdk'
const db = new RushDB(process.env.RUSHDB_TOKEN, { direct: true, engineUrl: 'http://127.0.0.1:3000' })
const engineers = await db.records.find({
labels: ['EMPLOYEE'],
where: { role: { $contains: 'Engineer' }, DEPARTMENT: { COMPANY: { name: 'Acme' } } },
orderBy: { name: 'asc' }
})
console.log(engineers.data.map((employee) => employee.data.name)) // [ 'Ada', 'Linus' ]
Gremlin、SQL/PGQ GRAPH_TABLE、Mongo 形式のドキュメント、ISO GQL も同じ HTTP エンドポイントを使います。詳しくはクエリ言語を参照してください。
できること
| 機能 | 内容 |
|---|---|
| スキーマ設計が不要 | どんな形の JSON でも書き込めます。型は値ごとに推論され、ネストしたオブジェクトはつながったレコードになり、エンジンはラベル・プロパティ・関係の正確なカタログを保持し、それを問い合わせられます。 |
| プロパティが第一級 | Labeled Meta-Property Graph(LMPG)は、各プロパティを、それを使うレコード間で共有される型付きの定義として保存します。そのため、スキーマの発見、値の範囲、ファセットはストレージのレイアウトそのものから得られます。 |
| 多様なクエリ言語 | ネイティブの JSON クエリ言語、SQL、Gremlin、SQL/PGQ、Mongo 形式のドキュメント、リリース候補の openCypher と ISO GQL。 |
| 検索 | 指定したベクトルに対するベクトルインデックス(厳密検索と HNSW)、BM25 全文インデックス、両者を融合するハイブリッド検索。 |
| 耐久性とトランザクション | ログ先行書き込み、MVCC スナップショット、複数ステートメントのトランザクション、ポイントインタイムリストア付きのバックアップ、読み取り専用フォロワーへのストリーミングレプリケーション。 |
| 標準プロトコル | HTTP、PostgreSQL ワイヤプロトコル、gRPC、Bolt をひとつのプロセスで提供。 |
| マルチテナンシー | オプションのフェイルクローズ型テナント。テナントごとに独立したキー空間を持ちます。 |
| バイナリひとつ | rushdb serve がサーバーを、rushdb up がローカルノードを起動します。運用すべき別サービスはありません。 |
デプロイ
| 環境 | 方法 |
|---|---|
| Docker | docker run -p 127.0.0.1:3000:3000 -v rushdb:/data -e RUSHDB_TOKEN=change-me rushdb/rushdb |
| Docker Compose | deploy/templates/docker-compose。Caddy による HTTPS 版もあります |
| Kubernetes | Helm チャート:helm install rushdb oci://ghcr.io/rush-db/charts/rushdb --set auth.token=... |
| Linux VM | DigitalOcean、Hetzner、AWS、GCP、Azure 向けの cloud-init、systemd ユニット |
| プラットフォーム | Fly.io、Render、Coolify、Dokploy |
その他のインストール方法
| 方法 | コマンド | 備考 |
|---|---|---|
| インストールスクリプト | curl -fsSL https://raw.githubusercontent.com/rush-db/rushdb/main/install.sh | sh |
Linux(glibc 2.28 以上)と macOS、x86-64 と arm64。sh -s -- --version v3.0.0 でバージョンを固定できます。 |
| Homebrew | brew install rush-db/tap/rushdb |
macOS と Linux。brew services start rushdb でバックグラウンド実行します。 |
| Docker | rushdb/rushdb |
linux/amd64 と linux/arm64。ghcr.io/rush-db/rushdb でも配布しています。 |
| Cargo | cargo binstall rushdb-server または cargo install rushdb-server --locked |
binstall はリリース済みバイナリを取得し、install はソースからビルドします(C++ コンパイラが必要)。 |
| リリースアーカイブ | GitHub releases | SHA-256 チェックサム、SBOM、Sigstore 署名付きのアーカイブ。 |
| ソース | cargo build --release -p rushdb-server --bin rushdb |
インストールを参照。 |
Windows はネイティブでは未対応です。WSL 2 か Docker を使ってください。ノードをループバック外に公開する前にセキュリティを読んでください。
ステータス
| 領域 | ステータス |
|---|---|
| ネイティブプロトコル、SQL、Gremlin テキストトラバーサル、Mongo 形式のドキュメント | 安定版 |
SQL/PGQ GRAPH_TABLE |
安定版、読み取り専用 |
| openCypher、ISO GQL、Bolt | リリース候補、明示的に有効化:外部の適合性テストスイートはすべては通過していません(詳細) |
| PostgreSQL ワイヤプロトコル | SQL の読み取りと単一ステートメントの書き込み。psql、node-postgres、psycopg、tokio-postgres で確認済み。すべてのクライアントや ORM ではありません |
| レプリケーション | 読み取り専用フォロワーへの非同期ストリーミング。昇格は手動で、自動フェイルオーバーはありません |
| Raft、ストレージシャーディング | プレビュー、本番利用不可:Raft は単一プロセス内でメモリ上の状態で動作し、複数シャードにまたがるコミットはクラッシュに対してアトミックではありません |
各インターフェースの正確な制限はマニュアルに記載しています。
接続
| インターフェース | デフォルト | 有効化 |
|---|---|---|
| HTTP ネイティブプロトコル | 127.0.0.1:3000、POST /protocol/v1/execute |
常に有効 |
| PostgreSQL ワイヤプロトコル | 127.0.0.1:5432 |
sql 有効時(デフォルト) |
gRPC(rushdb.v1.Database/Execute) |
無効 | --grpc-port |
| Bolt 5.0 | 無効 | --bolt-port と cypher |
JavaScript と Python の SDK、MCP サーバー、エージェントスキルは、ダイレクトモードでセルフホストのエンジンと連携します。
セルフホストのエンジンと RushDB Cloud
このエンジンは RushDB のうちセルフホストできる部分です。埋め込みの生成、ダッシュボードの提供、ユーザー管理は行いません。それらは RushDB Cloud が提供します。RushDB Cloud はこのエンジンを運用するマネージドサービスで、ダッシュボード、マネージド埋め込み、AI 機能(自然言語検索、関係パターンの提案)を加えます。SDK と MCP サーバーはどちらとも使えます。RushDB Cloud の API キーを渡すか、エンジンに直接向けてください(direct: true、engineUrl)。その場合 Cloud 専用機能以外はすべて使え、Cloud 専用機能は CloudOnlyError で拒否されます。
ドキュメント
- マニュアル:はじめに、データモデル、クエリ、言語、検索、運用、リファレンス。
- docs.rushdb.com:チュートリアル、SDK、MCP サーバー。
- RushDB 2.x からのアップグレード:2.x は Neo4j ベースの構成で、現在はこのリポジトリの
2.xブランチにあります。
バージョン
- RushDB 3.x(
main):現行バージョン。 - RushDB 2.x(レガシー):Neo4j ベースの構成。
2.xブランチとrushdb/platformイメージで提供。2027-10-28 までセキュリティ修正のみ。
コントリビュート
CONTRIBUTING.md を参照してください。品質ゲート:
cargo test --workspace --no-fail-fast --locked
cargo clippy --workspace --all-targets --locked
cargo fmt --all -- --check
scripts/check-quality-bar.sh
Apache-2.0 ライセンスで提供しています。
関連プロジェクトを探す
Asabeneh/30-Days-Of-Python
30 Days of Python プログラミングチャレンジは、Python プログラミング言語を 30 日で学ぶためのステップバイステップのガイドです。このチャレンジは 100 日以上かかることもあります。自分のペースで進めてください。こちらの動画も役立つかもしれません: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,673 スターgrafana/grafana
オープンで組み合わせ可能なオブザーバビリティおよびデータ可視化プラットフォームです。Prometheus、Loki、Elasticsearch、InfluxDB、Postgres など、複数のソースからメトリクス、ログ、トレースを可視化できます。
77,876 スターredis/redis
リアルタイムのデータ駆動型アプリケーションを構築する開発者にとって、Redis は最も選ばれ、最速で、機能が最も豊富なキャッシュ、データ構造サーバー、ドキュメントおよびベクトルクエリエンジンです。
77,485 スターapache/superset
Apache Superset は、データ可視化とデータ探索のためのプラットフォームです。
75,509 スター