スレーター:読み込み中心のグラフ向け低メモリグラフデータベース

2026/07/22 3:39

スレーター:読み込み中心のグラフ向け低メモリグラフデータベース

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

要約を改善し、Key Points List の全体範囲、特にストレージオプション、具体的なセキュリティプロトコル、メモリ管理戦略、およびライセンスについてより正確に反映させる必要があります。以下は、これらの欠落している要素を統合しながらも流れを保った改訂版です:

改訂後の要約:

Slater v0.24.1 は、Wikidata の数十億のエッジといった大規模データセットを、限られた RAM で処理するためにディスクイメージ(ローカル、S3、または GCS)から直接データをページングする読み書き可能グラフデータベースです。全体グラフをメモリに保持せずとも動作します。Neo4j の無縫なドロップイン置換機として機能し、Bolt を使用することで標準的なドライバ、Cypher クエリ、およびクライアントを変更せずに動作させます。その核心的な革新は、不変グラフアーキテクチャの上に書き込み可能な LSM レイヤーを被せることです。書き込みは fsync によって耐久性を持ち、読み取り性能に負荷をかけず、完全な CRUD オペレーションをサポートします。Slater は標準的な Cypher と同じ接続上で ISO GQL を話しながら、Vamana や Product Quantisation などの技術を使用して驻留メモリを制限しつつ、高度なディスクネイティブベクトル検索(余弦、L2、ドット KNN)を可能にします。デプロイメントは、原子ファイルスワップと

CALL slater.consolidate()
による定期的なデータセグメントの統合を通じて、ゼロダウンタイム更新を保証します。セキュリティは強力であり、TLS、静止状態暗号化(XChaCha20-Poly1305)、Argon2id ハッシュ済み ACL、およびマルチテナント分離を備えています。メモリ使用量はキャッシュ予算を通じて設定可能であり(jemalloc を使用してバースト後にメモリを返す)、これにより大規模グラフも限られたハードウェア(例:数十 GB の RAM が必要なインメモリエンジンに対して数百 MB の RAM)で動作します。Apache 2.0 ライセンスの下で公開され、Docker サポート付きの Slater は、スケーリングが高価なメモリに依存するのではなく、スマートなディスクネイティブ戦略によって実現されることを証明し、グラフコンピューティングの経済を変革します。

本文

Slater v0.24.1 リリース全記録

Slater は、メモリに収まらない大規模グラフを提供する革新的なデータベースです。数百億のノードと数十億のエッジを、数 100 MB の RAM で低容量 Bolt プロトコル上で動作させます。既存の Neo4j ドライバーはそのまま使用でき、ディスクネイティブなベクター検索や永続的な書き込み機能も搭載しています。

レジデントメモリ量はグラフサイズではなく、ユーザーが設定するキャッシュ予算によって決定されます。


目次

  • Slater が存在する理由
  • リードとライト
  • あなたが得られるもの
  • 機能一覧
  • 仕組み
    • ライト可能レイヤー (Writable Layer)
    • ストレージバックエンド
    • マウント構造
  • ACL (アクセス制御リスト)
  • ヘルスチェックとクエリコマンド
  • 実装例 (Docker など)
  • 開発環境構築
  • パフォーマンス
  • ライセンス
  • 📖 完全マニュアルへのリンク

Slater が存在する理由

グラフデータベースの課題

多くのグラフデータベース(Neo4j, Memgraph, FalkorDB など)は、グラフ全体をメモリ上に保持する必要があります。

  • メモリ依存性: 40 GB のグラフには 40 GB のメモリが必要。レプリケーションによりコストが倍増する。
  • スケーリングの壁: Wikidata などの大規模データ(9,000 万ノード/15 億エッジ)は、約 64–128 GiB のメモリを必要とし、メモリ上では扱いきれない。

Slater のアプローチ

Slater はディスクネイティブなアーキテクチャを採用し、グラフサイズとメモリコストを解離させます。

  • オンディスクイメージ:
    slater-build
    でコンパイルされた不変な画像(コンテンツアドレス可能)を提供します。
  • ページ化メモリ使用: グラフ全体をメモリに載せるのではなく、必要な部分のみページングして読み込みます。
  • 低コストレプリケーション: 4 GB でも 400 GB でも、提供するための RAM コストは同じです(キャッシュ予算ベース)。

適用シーン

RAG(知識グラフ)、推薦システム、依存関係グラフなど、大規模かつ接続されたデータを頻繁にクエリしたい用途に適しています。ディスクネイティブなベクター検索も同様に実装されています。


リードとライト

Slater は読み取り・書き込み両方に対応したグラフデータベースです。変更は Bolt プロトコルを通じて直接書き込まれ、永続化されます。

書き込み構造

  • ログストラクチャード・マージ (LSM) レイヤー: ライトは不変のコアの上部の LSM レイヤー(事前書き込みログ)に蓄積され、定期的なコンソリデーションにより新しいコアに戻されます。
  • リード経路への影響なし: 書き込まれていないグラフ上のリードコストは以前と同じです。空のデルタセグメントは単一の予測可能なブランチであり、リードパスのバイト単位で同一です。

コスト効率性

  • 書き込みコスト: グラフサイズではなくデルタのサイズに比例します。
  • メタデータ読み取り: 全グラフ回答(
    count(*)
    , レベルと関係タイプのマージナル)は、書き込みが完了していない場合でもメタデータ読み取りとして機能します。91.6M ノードのコアで 50 万回の未解決書き込みがあっても、数十ミリ秒で回答します。
  • 永続性: 単一のライターのキューを排水し
    fsync
    を完了するまで返さず、バッチ化された
    write-UNWIND
    ではバッチごとに 1 つの
    fsync
    でコミットできます。

⚠️ 注意: ライト可能レイヤーはオプションです (

delta.enabled
)。これをオフにする場合、Slater は純粋な不変のコアのみを提供し、ライト操作を拒否します。


あなたが得られるもの

  • 設定可能な RAM 使用量: グラフサイズではなくキャッシュ予算でレジデントメモリを設定可能。好きなだけリードレプリカを展開できます。
  • Neo4j ドロップイン対応: Bolt プロトコルを使用するため、標準の Neo4j ドライバー(JS, Python, Go…)をそのまま使用可能です。Cypher の知識があれば学習不要です。
  • ライブ永続的なライト: オプトイン可能な LSM レイヤーにより、ビジネスロジックでの変更(MERGE / SET / DELETE)は即座に永続化され、リードコストを悪化させません。
  • ファイルスワップによるデプロイメント: 新しい世代(generation)をオフラインビルドし、原子的に現在のポインタを切り替えるため、ゼロダウンタイムでのバージョンアップが可能。
  • ベクター検索の組み込み: ディスクネイティブな近似最近傍検索(ANN)がグラフの隣にあり、RAG パイプラインやインプレース埋め込み書き込みに適しています。
  • セキュリティ設計: リード/ライト権限の独立性、静止状態暗号化、TLS Bolt、argon2id ハッシュ ACL を標準でサポート。

機能一覧

機能メリット
有界で予測可能なメモリ
jemalloc
アロケーターによりアイドル時の床値に戻るため、ピーク値にピン留めされません。
マルチテナント対応サーバー 1 台で多数のグラフをホストし、ユーザーごとのリード権限で隔離可能です。
静止状態および転送中の暗号化ブロックあたりの XChaCha20-Poly1305 セーリング+オプションの TLS (bolt+s://)。GDPR 準拠。
軽量なインストールディストロレス glibc ベースで約 22 MB(Lite タグなら 12 MB)。純粋な Rust で構成。
周期性発行向けに構築データウェアハウスやスケジュールされたリフレッシュワークロードに適した不変コアモデル。
負荷下での堅牢さコアは不変のためロックを必要とせず、GC パーズやデータレースがありません。不良クエリでダウンしません。
Neo4j ツールとの互換性Bolt 5.4/4.4/4.1 を話せるため、
cypher-shell
や Neo4j ブラウザなどを変更なしで使用可能です。
豊富な Cypher クエリ表面MATCH/WHERE/WITH/UNION, CALL サブクエリ、70 以上の関数、時間的およびジオスペース値対応。
ISO GQL 対応サブセットの ISO GQL (ISO/IEC 39075) もサポート。Cypher と GQL の併用が可能。
ベクトル+グラフ・1 つエンジン埋め込み/RAG 用の ANN ベクター検索と、PageRank, BFS などグラフアルゴリズムを統合。
ネットワークストレージでの安全各ファイルは BLAKE3 コンテンツハッシュ化され、破損されたイメージは拒否されます。NFS/リモートボリューム対応。
プラグ可能なストレージバックエンドローカル FS、S3、GCS をサポート。一度発行してステートレスレプリカに展開可能。

仕組み

Slater は「スライダー(滑る)」という名前ではなく、「スレイター(Archer の CIA エージェント)」の名前です。

構成要素

ワークスペースは以下の 2 つのバイナリで構成されます:

バイナリロール
slater
オンライン Bolt サーバー。リードと、オプションのライト機能を提供。
slater-build
オフラインコンパイラ。プライミティブ Cypher ドンプを不変世代に変換。

ライト可能レイヤー (Writable Layer)

delta.enabled
の場合、データは以下の構造で管理されます:

  1. WAL (事前書き込みログ): 各変更はここに追加され、
    fsync
    で永続化されます(承認された⇒永続的)。
  2. Memtable → L0 Delta: メモリに蓄積され、埋め尽くされると immutable L0 デルタセグメントにフラッシュ。
  3. コンソリデーション:
    {core + delta}
    をシリアライズし、原子的に新しいコアに折り込みます (
    CALL slater.consolidate()
    で手動または自動)。

リード経路:

  • 実行機は
    ReadView
    を通じて読み取ります(単なるコア、またはマージされたビュー)。
  • 空のデルタ: リードパスはバイト単位で同一のため、パフォーマンスに悪影響を与えません。
  • メタデータ: 全グラフカウンターはデルタ独自のライブカウンターから提供されるため、未解決ライトの影響を受けない。

ストレージバックエンド

各ファイルは BLAKE3 コンテンツハッシュ化され、破損検出が可能。

  • fs (デフォルト): ローカル SSD/NFS/EBS。高速な位置ベースの読み取り (
    pread
    )。
  • s3: AWS S3 や MinIO 等のオブジェクトストア。
    HTTP Range GET
    を使用。
  • gcs: Google Cloud Storage。JSON API を経由。

ブロックキャッシュ: オプションのローカル SSD キャッシュティアを使用することで、S3/GCS のネットワークラウンドトリップを低減し、ファイルシステムに近いパフォーマンスを発揮できます。

マウント構造

パス目的
/dataグラフ世代 (
<graph>/<uuid>/...
) を格納。
slater-build
で生成。
/sandbox環境設定オーバーレイ、シークレット(ACL, TLS, クライアント証明書)。
/tmp,
/run
Scratch ディレクトリ (tmpfs)。リードレプリカではディスクに書き込まれない。
(writer) delta.walDir永続的な事前書き込みログ+L0 デルタセグメント(決して tmpfs を使用せず)。

ACL (アクセス制御リスト)

acl.json
でユーザーの認証と権限を管理します。パスワードは argon2id ハッシュで保存されます。

基本構造

slater hash-password 's3cret'

結果例:

{
  "users": {
    "reporting": {
      "passwordArgon2id": "$argon2id$v=19$m=19456,t=2,p=1$<salt>$<hash>",
      "grants": {
        "people": ["read"],
        "products": ["read", "write"]
      }
    }
  }
}
  • read: グラフをクエリ。権限がないグラフは見えません。
  • write: ライト可能レイヤー(
    delta.enabled
    )を通じて変更を行う権限。

注意: リード権限のみを持つユーザーは、ライト可能レイヤーを使用できません。書き込みには「read」と「write」の両方が必要です。


ヘルスチェックとコマンド

サーバーヘルスチェック

サーバーが Bolt プロトコルで正常に動作しているか確認します(HTTP は不可)。

slater healthcheck localhost 7687
# exit 0 = healthy
# exit 1 = unhealthy (protocol negotiation failed)

ワンショットクエリ

サーバーを立ち上げずに、ローカルでグラフクエリを実行して結果を確認できます。

slater query mygraph 'MATCH (n) RETURN count(n) AS c'
# -q を指定すると JSON 出力のみ(ログなし)
slater query mygraph -q 'MATCH (c:Company) RETURN c.ticker AS t LIMIT 3'

グラフエクスポート (Dump)

サーバーからビジネスキー MERGE Cypher をダンプし、バックアップやマイグレーションに使用します。

SLATER_DUMP_PASSWORD=pw slater dump people -u reporting -o people.cypher
slater-build --input people.cypher --graph people --data-dir ./data

実装例 (Docker)

オフラインビルドと起動

  1. イメージダウンロード:

    docker pull hikarisystems/slater:latest
    
  2. オフラインライターでグラフ世代をビルド:

    docker run --rm -v slater-data:/data -v "$PWD/dumps:/dumps:ro" \
      --entrypoint /app/slater-build hikarisystems/slater:latest \
      --input /dumps/people.cypher --graph people --data-dir /data
    
  3. Bolt サーバーを起動 (7687 ポート):

    docker run -d --name slater -p 7687:7687 \
      -v slater-data:/data:ro -v "$PWD/acl.json:/config/acl.json:ro" \
      hikarisystems/slater:latest
    

ローカル開発ビルド

docker compose build
docker compose up slater
# ビルダーステージでの世代ビルド
docker compose run --rm builder \
  --input /dumps/people.cypher --graph people --data-dir /data

デベロップメント

環境構築

export PATH="$HOME/.cargo/bin:$PATH"
cargo build
cargo test            # 単元+有界 RSS ヘッダー統合テスト
cargo clippy --all-targets -- -D warnings
cargo fmt --all -- --check

オブジェクトストア機能のコンパイル

デフォルトはローカル FS ですが、S3/GCS バックエンドを有効化するには機能フラグが必要です。

# S3 / GCS 機能を有効にビルド
cargo build -p slater -p slater-build --features s3
# 両方を含める場合
cargo build -p slater -p slater-build --features s3,gcs

統合テスト(オブジェクトストア用)

cargo test --features s3 --test s3_minio
cargo test --features gcs --test gcs_emulator
cargo test --features gcs --test gcs_real

パフォーマンス

Slater はメモリ使用量においてディスクベースなデータベースの中で最も低いを維持します。Wikidata (91.6M ノード) であっても、Neo4j (~2 GiB ヒープコミット) に比べて 584 MiB のレジデントメモリで動作します(実装例ではメモリアルトリオはロードすら不可能)。

メイン指標

  • レジデントメモリ: グラフサイズに依存せず、設定されたキャッシュ予算のみ。
  • 遅延 (Latency): メタデータ・スキャン・単純なルックアップで 0.4 ms 台(メモリアル DB より高速)。
  • ベクター検索: コサイン・L2・ドット積での KNN は、正確な brute force スキャンを使用するため精度が高く、Neo4j や LadybugDB を上回る。

遅延比較表 (中央値 ms) - MeSH グラフ例

クエリ形状SlaterNeo4j 5Memgraph
count(*)0.4115.023.8
label count0.424.220.7
indexed point lookup0.433.90.48
1-hop (indexed)1.285.81.21

注: Slater は 91.6M ノードでも count(*) が 0.41 ms と超低遅延ですが、多段ホップ(var-length path)については Neo4j に劣る場合があります(実装上の弱点として認識)。ただし、メモリ使用量は桁違いに小さいです。


ライセンス

Apache License, Version 2.0 でライセンスされています。

  • LICENSE: LICENSE
  • NOTICE: NOTICE
  • SPDX:
    SPDX-License-Identifier: Apache-2.0

同じ日のほかのニュース

一覧に戻る →

2026/07/22 6:09

ヤコビアン仮説の反例についての考察

## Japanese Translation: 元要約は明確で正確であり、主要な点と整合性が取られています。改善は必要ありません。 ## 概要: テキストは決定的に、ヤコビアン予想が三次元以上の次元では偽であることを述べており、$\mathbb{C}^n$ から $\mathbb{C}^n$ への写像で非ゼロ定数のヤコビアンを持つものがすべて全的に逆関数を持つというアイデアを反証することで、長年の数学的議論を解決します。研究者たちは、三次変数における次数七の多項式写像を構成することによってこれを証明しました。この写像は非ゼロ定数のヤコビアンを持ちながら全球的反関数を持たず、ヤコビアンの行列における巨大なキャンセル(非定数係数の消滅)に依存して局所的逆関性を維持しつつ全球的な有効性を回避しています。予想は二次元的には依然として未解決であり、一元的には自明に真です。幾何学的な再定式化により、$\mathbb{C}^n$ と同型なアフィン多様体 $X$ に対して、局所的単射(根解析を用いた証明で $\mathrm{PGL}_2$ ヨーブ変換とゼロでない結果ant を用いて確立)だが全球的には単射ではないような写像が存在することが示されます。ベクトル空間の対称化乗幂と低次数多項式の積(線形 × 二次 = 三次)に基づく構築では、五次元群作用による巨大な等変性を活用し、結果ant 条件を用いたスケーリング対称性を通じて正規化を行います。特定の三次元的アフィン切片による次元削減は、二次曲面の同型問題を回避しつつ主要な性質を保持し、原点ファイバーを除いて座標に対して三次方程式と二次方程式を解くことで双有理同値を可能にし、アフィン空間と同型のアフィン多様体を導きます。ビッグ-O 記法を用いた漸近解析は、全てのファイバー(極限ケースを含む)をカバーする全球的多項式パラメータ化を確認します。AI チャットボットを含む高度な計算ツールは、漸近成長率とファイバーパラメータ化に関わる複雑な計算を検証し、得られた写像是自明な変数変化を除いて元の反例と一致します。この画期的な進展により、分野の焦点は普遍的反證法の探求から、局所的性質が全球的な振る舞いを保証しない特定の実例への理解へとシフトしました。

2026/07/22 0:17

Gemini 3.6 Flash、3.5 Flash-Lite および 3.5 Flash Cyber

## Japanese 翻訳: 以下の改良版は、欠落していた価格データ、具体的なベンチマークハイライト、および販売チャネルを統合し、「要点リスト」への完全な忠実性を確保しています: ## 改善されたサマリー Google は正式に、AI エージェントの効率を大幅に向上させ、レイテンシを低減し、コストを削減することを目的とした 3 つの進化した Gemini モデル——3.6 Flash、3.5 Flash-Lite、および専門性の高い 3.5 Flash Cyber を紹介しました。**Gemini 3.6 Flash**は、トークン使用量を最大で 17%削減(入力トークンあたり$1.50 で提供)しながら、より高い精度を実現します。DeepSWE のようなベンチマークでは、先行する 3.5 Flash の 37% に対して 49% という成功率を達成し、ML リサーチおよびコンピューター使用に関する能力にも顕著な改善が見られます。**Gemini 3.5 Flash-Lite**はシリーズ内で最も高速なモデルとして際立っており、1 秒間に 350 以上の出力トークンを処理(入力トークンあたり$0.3 で提供)し、複数のコーディングベンチマークにおいて 3.5 Flash および 3 Flash を凌駕しています。 セキュリティニーズに応えるため、Google は CodeMender エコシステム内でのサイバーセキュリティ脆弱性の特定と是正に最適化された**3.5 Flash Cyber**バリアントをローンチしました。これらの技術の二重用途特性により、この特定のモデルは、限定されたパイロットプログラムを通じて検証済みの政府機関および信頼パートナーのみが利用可能です。すべての新モデルは直ちに Gemini API、Google AI Studio、Android Studio、およびその他の開発プラットフォーム経由で利用可能であり、すぐに Google Search への展開も始まっています。

2026/07/22 0:41

長らく死んだとみられていた西アフリカに、豊かなサンゴ礁が発見された。

## Japanese 翻訳: 1960 年代の初期調査で西アフリカベニン海岸沖の健康なサンゴ礁が存在しないと見落されていたものが、研究者によってついにその存在が確認され、世界中で半分以上の礁域が減少しているというグローバルなトレンドに抗した。水深 175 フィート(約 53 メートル)を超える深い海域においても、岩盤基質上に多様な生物が生息し、繁栄している。2025 年 1 月に National Geographic Explorers グランツから 2 万ドルの助成金を獲得した Gérard Zinzindohoué 氏を率いるチームは、高価なソナー費用が予算の大半を食い込み、欧州のサプライヤーとの銀行取引上の問題といった重大な物流上の課題を克服した。常設の研究船を持たないため、彼らはハイテクソナーを搭載したピロウで現地漁師に offshore へ運ばれ、海底を探測して撮影を行った。この探査では、軟体珊瑚 6 タイプ、黒珊瑚 2 タイプ、魚類 8 種を特定し、該地域を「中光層サンゴ生態系(mesophotic coral ecosystem)」に分類した——これはサンゴ礁形成の限界深度にある光依存型コミュニティである。地元研究者である Houangninan Midinoudewa 氏は、現在、稀有种類であるトゲメダイアザルシャーク、シルクイースカ、ブローンスケート、マーズレットエイを含む稀有な種々を守るため、「重要なエイとサメ地域(Important Shark and Ray Area)」としての指定を求めている。保存活動だけでなく、この未撹乱の生態系は、炭素年代測定や古気候学研究における独自の潜在力を提供し、広範な劣化に反して回復力ある天然資源を開示するとともに、科学発掘への新たな道を開く。