データベースオペレーションチーム

ミッション

GitLab のデータベースオペレーションチームのミッションは、GitLab.com 向けに PostgreSQL データベースエンジンのライフサイクル全体を構築・運用・所有・進化させることです。

チームはデータベースエンジンとそのサポートサービスの信頼性、スケーラビリティ、パフォーマンス、セキュリティの所有に注力しています。チームは複雑さを軽減し、効率を向上させ、新機能をより迅速に提供するために、適切な場合は Runway サービスやクラウドベンダーのマネージドプロダクトを活用してサービスを構築するよう努めています。

チームは エンジニアリング原則 を活用して、サービスに関する意思決定を行います。チームは明示的にはセルフホスト製品の責任を持ちませんが、大規模な本番環境で GitLab のデータベースエンジンを運用して得た教訓を、製品・開発・サポートチームにフィードバックし、GitLab の顧客体験全体を向上させ、またセルフマネージドの顧客が複雑なデータベースエンジンの Issue に直面した際にサポートチームと協力します。

チームメンバー

チームメンバー情報は 原文 (英語) を参照してください。

所有範囲

サービス

私たちが主に責任を持つシステムおよびサービス:

  • PostgreSQL コア(VM)

  • PostgreSQL コア(PGaaS)(近日公開)

  • PostgreSQL 高可用性とロードバランシング(例:Patroni、PGBouncer、consul、PostgreSQL レプリケーションなど)

  • PostgreSQL ディザスタリカバリ(バックアップ/リストアおよびその他の手法)

  • データベースオブザーバビリティ(Prometheus インストゥルメンテーション、ワークロード分析など)

  • GitLab アプリケーションのサポートおよびトラブルシューティング(特に PostgreSQL エコシステムとの使用・連携に関連するもの)

  • セルフホスト型 Clickhouse(近日公開)

私たちが所有しないシステムまたはサービス:

システム名説明オーナーおよびサポート担当補足情報/未解決の質問
Redisキャッシング、レート制限、Sidekiq キューイングなど複数のユースケースがあります。Tenant ScaleRedis アーキテクチャ
データチームのシステムデータチーム
セルフマネージドデータベースセルフマネージドサポート

有用なリンク

バックログDBO Status
ロードマップアイデアNow-Next-Later
連絡方法#g_database_operations
@gitlab-org/data-access/dbo
週次アジェンダWeekly APAC and EMEA/AMER

チームへの連絡方法

  1. 障害および顧客の緊急事態: DBO エスカレーションプロセスをご利用ください
  2. 顧客の Issue: こちらから RFH Issue を作成してください
  3. プロジェクト作業およびその他のリクエスト: チームの Issue トラッカーに Issue を作成してください

パフォーマンス指標

私たちは パフォーマンス指標メトリクス を使用して貢献する価値を測定しています。

インフラストラクチャ部門の GitLab.com の 可用性 および パフォーマンス に関する KPI に加えて、データベースオペレーションチームは以下を追跡しています。

  • バックアップおよびリカバリ SLO
  • データベース全体の可用性(稼働時間)

主要な技術スキル

チームはさまざまなレベルの専門知識を持つデータベースオペレーションエンジニアで構成されています。

  • 大規模な本番環境での PostgreSQL サポート。
  • Chef、Ansible、Terraform などのツールを使用したインフラストラクチャの自動化および構成管理。
  • PostgreSQL の内部構造、チューニング&最適化、SQL および PL/pgSQL。

共通リンク

以下に役立つリンクや重要なリンクを掲載しています。

モニタリング&パフォーマンス関連ツール

次のツールが役立ちます:

  • Postgres Checkup: PostgreSQL データベースの状態に関する詳細レポート。
  • Private Grafana: アプリケーションレベルおよびシステムレベルのパフォーマンスデータ。
  • Performance Bar: GitLab で pb と入力するとページ上部にパフォーマンスメトリクスのバーが表示されます。実行されたクエリとそのタイミングを確認するのに特に役立ちます。

Postgres のパフォーマンス問題を特定し、さらに詳しく調査したい場合は、以下のランブックとダッシュボードを推奨します。ランブックがダッシュボードの理解方法を説明しているため、これらは一緒に使用するのが最適です。

ダッシュボード:

ランブック:

ダッシュボード

以下の(プライベート)Grafana ダッシュボードはデータベーススペシャリストにとって重要または有用です。

ドキュメント


DBO エスカレーションプロセス
This page outlines the DBO team escalation process and guidelines for developing the rotation …