このプロジェクトについて

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ワイヤプロトコル経由のスタンドアロンサーバーとして使用できる。