DBREとは?
「Database Reliability Engineering(DBRE)」は、日本語にすると「データベース信頼性エンジニアリング」となります。Site Reliability Engineering(SRE)は一般に広く使われるようになりましたが、DBREに関しては海外ではオライリー本が発売されていますが、日本ではあまり聞かない名称だと思います。
- 『Database Reliability Engineering』(O'Reilly Media)
DBREの主な役割と求められる能力として挙げられているのが、
- Educator and Mentor(開発チームに対する教育)
- Platform Builder(プラットフォーム構築)
- Force multiplier(自律化、自動化推進による生産性向上)
- Operations Expert(データストア運用のスペシャリスト)
- t-shaped(DB・データストアへの深い知識に加え他分野のスペシャリストと分野)
を超えてコラボレーションし、自分以外の専門知識を適用するといったものです。
我々は事業においてデータストア層(DB)は非常に重要だと考えています。データストア層が良くないとデータ登録・取得の処理が複雑化し、レスポンスが悪くなるなどアプリケーションにも、影響を及ぼします。そのため、DB(設計)の問題を解消するためには、DBもアプリケーションも修正する必要があります。
またデータストア層がプロダクトの可用性、信頼性、保守性の重要なファクターを占めていて、これは事業が成長し長期の運用になればなるほど顕著になります。お客様に安心してサービスを使っていただくためには、データストアおよびデータの信頼性・可用性が大事になってきます。
DBAとDBREの違い
今までのDBAとの違いについてですが、DBAはその名のとおりのデータの管理者、門番といったイメージが強いですが、DBREはデータストア教育者でありメンターでありプラットフォーマーあると定義されています。
DBA | DBRE |
---|---|
データベースのAdministrator(管理者) |
Reliability Engineering(信頼性エンジニア) Platform Builder(仕組み化によってデータを守る) |
「データ」の最後の門番 | 開発チームへのデータストアの技術知見のメンター |
データを蓄積する | 運用のエキスパート |
DBのスペシャリスト | エンジニアリングチームと協力して課題解決する |
業務のイメージとしては、
- 信頼性と再利用性の高い(resilient)データストアを開発し、プロビジョニング用のコンポーネントを開発チームに提供する
- チームの作業を支援するためのプラクティスと知識の提供
- SLOを確実に達成できるように、データアクセスとストレージの微妙な違いを理解して教える(RDB/NoSQLでのデータ構造の違いなど)
- データストアのトラブルシューティング、リカバリーの専門知識を持って開発チームを支援する
- セキュリティなどの担保
などが挙げられます。
感覚としては、データストア領域でのSRE、DBA+Infrastructure as Code(コード化・自動化の実現)といった概念になるかもしれません。
まとめると、開発チームがデータストアを正しく扱えるように導き、データストアにかかわる作業の自律化、自動化、再利用性を推進することで開発チーム全体の生産性向上させながらデータの信頼性も向上させる、ということです。