このプロジェクトについて
bytdbは、Postgres方言を話しながらSQLiteのニッチを占めるように設計された、組み込み型の純Goリレーショナルデータベースである。アプリケーションプロセス内で完全に動作し、外部サーバー、cgo、ソケット通信を必要としない。
主な技術的特徴:
・Postgres互換性: pgwire経由でPostgresワイヤプロトコルをサポートし、psql、pgx、さまざまなORM(GORMなど)が直接接続できる。ウィンドウ関数、CTE、結合、jsonbサポートを含むPostgres方言のサブセットを実装している。
・組み込みアーキテクチャ: btypedb上のリレーショナル層として構築され、テーブル、行、セカンダリインデックスを単一の順序付けられたキースペースにエンコードする。これにより効率的なキースキャンとアトミック操作が可能になる。
・並行性とトランザクション: デフォルトで直列化可能トランザクションを提供する。また、読み取り中心の高性能ワークロード向けに楽観的並行性制御(OCC)モードも提供する。
・データ型: timestamp[tz]、date、uuid、text[]、jsonbなど、Postgres級の型を完全な演算子ファミリー付きでサポートする。
・耐久性とセキュリティ: 停電耐性のためのwrite-ahead log(WAL)、オプションの保存時AES-256-GCM暗号化、S3互換オブジェクトストアへの非同期レプリケーション(Litestreamに類似)を備える。
・スキーマ管理: スパース行値をサポートし、AddColumnやDropColumnのようなメタデータのみのスキーマ変更を、テーブル全体の書き換えなしで可能にする。
このデータベースは、標準のdatabase/sqlドライバー、直接SQL API、またはPostgresワイヤプロトコル経由のスタンドアロンサーバーとして使用できる。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.