cycau.com
TOP Dragonfly5 Dinosaur7

Dragonfly5

PostgreSQL / MySQL に HTTP API でアクセスするための分散型データベースプロキシサーバーです。

複数ノードでクラスターを構成し、負荷に応じてリクエストを振り分けます。

軽量 高トラフィック耐性 安定稼働

軽量性

Go 製の単一バイナリで、常駐メモリは目安として約 20 MB 前後に抑えられます。プロキシ層のオーバーヘッドが小さく、レイテンシへの影響はほぼ無視できるレベルを想定しています。

導入コストや運用コストを踏まえ、設定やチューニングまわりのパラメータは極限まで省いています。

運用性

DB の種類や台数が増えるほど、接続設定や運用の複雑さがアプリ側にのしかかりがちです。プロキシを前段に置くことで、接続まわりの負担を、次のように抑えやすくなります。

  • 接続の制御:アプリはプロキシに向けるだけでよく、読み取り専用など接続先の振り分けや切り替えロジックを、アプリごとに持たなくて済むようになります。
  • 接続の集約:データウェアハウスやデータ連携(Data Integration)のようにマルチ DB を扱う場合も、入口をプロキシに揃えて運用しやすくなります。
  • レイヤーの分離:システム構成では DB 層をプロキシに切り出すことで、開発・メンテナンスしやすい境界を引けます。

主な機能

  • マルチノードクラスター:複数サーバー間で負荷分散
  • 読み書き分離:読み取り専用クエリと書き込み(DML)を別々の接続プールで処理
  • トランザクション対応:Begin / Query / Execute / Commit / Rollback / Close
  • ヘルスベースのルーティング:各ノードの負荷・レイテンシ・エラー率を考慮してノードを選択
  • ストリーミング応答:大量結果をメモリ効率よく返却(オプション)

オープンソース版と企業版の比較

機能 オープンソース 企業版
Cluster 構成 ⭕ ⭕
MySQL ⭕ ⭕
PostgreSQL ⭕ ⭕
Additional RDBs ⭕
Cross-DB SQL translation ⭕
HTTPS ⭕
Stream Mode ⭕
API Function ⭕
OAuth / OIDC ⭕
Audit Log ⭕
Multi-tenancy ⭕

使い方

リポジトリの README に、依存関係の取得、config.yaml の編集、ビルド・実行手順、HTTP API(/healz、/rdb/query など)の詳細がまとまっています。まずはサーバーをクローンしてローカルで起動し、クライアントライブラリから接続してみてください。

dragonfly5_server(GitHub)

クライアント用ライブラリ(GitHub)

  • cycau / dragonfly5_client_go
  • cycau / dragonfly5_client_py
  • cycau / dragonfly5_client_ts
  • cycau / dragonfly5_client_java

上記リポジトリはすべて Apache License 2.0 です(各リポジトリの LICENSE をご確認ください)。

お問い合わせ

support@cycau.com

© cycau.com · TOPへ