DUICUO

興味深いことに、このツールを使用すると、GitLab のようなデータベースを管理できます。

BytebaseはオープンソースのデータベースDevOpsツールであり、アプリケーション開発ライフサイクル全体を通じてデータベースを管理するためのGitLabのようなものです。DBAと開発者に、安全かつ効率的に共同作業を行い、データベースの変更を管理するためのWebベースのワークスペースを提供します。

DevOpsが主流になるにつれ、多くのチームはGitLab/GitHubなどのツールをコード管理に、Terraformなどのツールをインフラストラクチャ管理に使用しています。同様に、Bytebaseはアプリケーション開発中のデータベース管理ツールです。Bytebaseは、既存のクラウドプロバイダーのデータベースプラットフォームや社内のデータベース運用プラットフォームを補完するものです。これらのプラットフォームはデータベースインスタンスレベルの操作(データベースインスタンスの設定など)を処理しますが、Bytebaseはチームが構成されたデータベースを使用してアプリケーションを構築できるよう支援します。

特性

  • アーキテクチャ (DDL) およびデータ (DML) 変更レビュー ワークフロー: コード レビューと同様に、Bytebase はデータベース変更プロセスを合理化し、開発環境から運用環境に至るまで、単一のワークフローでデータベース変更をレビューして展開できるようにします。
  • SQL品質チェック:BytebaseはSQLの変更を分析し、組織のポリシーに準拠したルールを適用します。適用には、命名規則、アンチSQLパターンの検出などが含まれます。また、本番環境と非本番環境で異なるルールを適用することも可能です。
  • SQL エディタ: データのクエリとエクスポートを行う Web ベースの SQL エディタ。開発者がデータにアクセスする必要があるときに DBA が機密性の高いデータベース資格情報を提供する必要がなくなります。
  • VCSと統合されたバージョン管理:Bytebaseは完全なスキーマ変更履歴を維持し、GitLabなどのVCSシステムと統合します。チームはVCS内でSQL移行スクリプトを管理し、コードのコミット時にスキーマのデプロイをトリガーできます。
  • バックアップと復元: Bytebase は、データベース レベルでの手動バックアップとスケジュールされたバックアップをサポートします。
  • マルチテナント サポート: マルチテナント サービスでは、テナントごとに個別のデータベースを作成でき、Bytebase は単一のワークフローですべてのテナントの特定のデータベース変更の展開を管理できます。

展開する

Bytebase はいくつかのデプロイメント オプションを提供していますが、最も簡単なのは Docker を使用したワンクリック スタートアップです。

 docker run --init \ 
-- 名前バイトベース\
-- 常に再起動\
--add -host ホスト.docker.internal : ホスト- ゲートウェイ\
-- 8080 を公開: 8080 \
-- ボリューム~ / .bytebase / データ: / var / opt / bytebase \
バイトベース/ バイトベース: 1.2 .2 \
--data / var / opt / bytebase \
-- ホストhttp : //localhost\
-- ポート8080

上記のコマンドを開始すると、http://localhost:8080 経由で Bytebase に直接アクセスできます。とても簡単です。

実稼働環境で使用する場合は、Kubernetes クラスターにデプロイすることをお勧めします。

Bytebase は、以下の基本リソースリストを使用してデプロイできます。データの永続化にはボリュームを使用するのが最適です。ここでは、LoadBalancer タイプのサービスを定義しました。もちろん、公開用の Ingress オブジェクトを作成することもできます。具体的な方法は、Kubernetes クラスターによって異なります。以下のリソースリストは変更できます。

 apiバージョン: アプリ/ v1
種類: デプロイメント
メタデータ
名前: バイトベース
名前空間: デフォルト
仕様:
セレクター:
マッチラベル
アプリ: バイトベース
テンプレート
メタデータ
ラベル:
アプリ: バイトベース
仕様:
コンテナ
- 名前: バイトベース
イメージ: バイトベース/ バイトベース: 1.2.2
引数: [ "--data" , "/var/opt/bytebase" , "--host" , "http://localhost" , "--port" , "8080" ]
ポート:
- コンテナポート: 8080
ボリュームマウント:
- 名前: データ
マウントパス: / var / opt / bytebase
巻数:
- 名前: データ
空のディレクトリ: {}
---
apiバージョン: v1
種類: サービス
メタデータ
名前: bytebase - エントリポイント
名前空間: デフォルト
仕様:
タイプ: ロードバランサー
セレクター:
アプリ: バイトベース
ポート:
- プロトコル: TCP
ポート: 8080
ターゲットポート: 8080

上記のオブジェクトは、Kubernetes クラスターに直接デプロイできます。

あるいは、https://github.com/bytebase/install のリポジトリでホストされている Bytebase が提供するインストール スクリプトを使用することもできます。

使用

Bytebase のデプロイが完了したら、チームメンバーのアカウントを登録する必要があります。最初に登録されたアカウントには、ワークスペースオーナーの役割が付与されます。

管理者アカウントを作成したら、通常のアカウントを登録し、Workspace Developer ロールを付与することができます。

ログイン後、Bytebaseのホームページに移動します。必要に応じてプロジェクトを作成したり、データインスタンスや環境を追加したりできます。以下の画像はBytebaseの例です。

図1 - ダッシュボード 図2 - SQLレビュー問題パイプライン

図3 - GitLabベースのスキーマ移行(コードとしてのデータベース) 図4 - 組み込みSQLエディタ

さらに、Bytebaseではオンラインデモも提供しています(https://demo.bytebase.com)。Bytebaseの使い方に関する詳細は、公式ドキュメント(https://www.bytebase.com/docs)をご覧ください。

Git リポジトリ: https://github.com/bytebase/bytebase。