/note/tech

ExtendDB

■ 1. ExtendDBの概要

  • DynamoDB互換アダプター:
    • Amazon DynamoDBのAPI(ワイヤープロトコル)と互換性を持つオープンソースソフトウェア
    • AWSがメンテナンスを担当
  • コンセプト:
    • DynamoDBのSDK・クライアントコードはそのままに、実際のデータ保存先を自分のインフラへ置き換えられる
    • キャッチコピーは「同じSDK・同じコードで、自分のインフラで動かす」

■ 2. 仕組みと対応範囲

  • リクエストの流れ:
    • アプリはこれまで通りDynamoDBのSDK(boto3など)でリクエストを送る
    • ExtendDBがそのリクエストを受け取り、選択したストレージバックエンドへ変換・ルーティングする
  • アプリ側の変更:
    • 変更点は接続先のendpoint_urlをExtendDBに向けるだけ
    • アプリコード自体の変更は不要
  • 対応バックエンド:
    • PostgreSQLはリファレンス実装であり、テストスイートで検証済み
    • Apache Cassandraはコミュニティ提供
    • インターフェースとして定義されており、その他コミュニティによる追加が可能
  • 対応操作:
    • CRUD、Query、Scan、バッチ処理、トランザクション、Streams、式(expressions)、TTLなどに対応

■ 3. 主なユースケース

  • ローカル開発:
    • AWSアカウントやネットワーク不要でノートPC上で動作
    • CI・統合テストにも利用可能
  • クラウドとオンプレの標準化:
    • 既存運用中のDBの上でDynamoDB APIを提供する
    • ハイブリッド構成を実現できる
  • 切断環境への展開:
    • 工場、店舗、車両などクラウド接続が不安定または不可能な場所でも動作する
    • エッジ環境、エアギャップ環境が対象

■ 4. ライセンスとコスト

  • ライセンス:
    • Apache 2.0ライセンス(特許許諾条項あり)でオープンソース公開
  • コスト構造:
    • ExtendDB自体は無料
    • 発生するコストはコンピュート・ストレージなどインフラ分のみ

■ 5. 制限事項

  • セルフホストで使えない機能:
    • DynamoDBのフルマネージドサービスに紐づく機能はセルフホスト環境では利用不可
    • グローバルテーブル、オートスケーリング、バックアップ/リストア、DAXなどが該当し、FAQに明記されている

■ 6. 性能

  • PostgreSQLバックエンド:
    • 単一アイテム操作が10ms未満のレイテンシ
  • Cassandraバックエンド:
    • 水平スケーリングにより数千リクエスト/秒に対応可能

■ 7. 公開状況

  • 2026年5月20日にAWS Database Blogで正式発表
  • GitHub(ExtendDB/extenddb)でソースコードとドキュメントを公開

MEMO: