$30 off During Our Annual Pro Sale. View Details »

[YugabyteDB Japan Meetup #3]紹介 データベース信頼性エンジニアリング

nnaka2992
September 26, 2023

[YugabyteDB Japan Meetup #3]紹介 データベース信頼性エンジニアリング

紹介 データベース信頼性エンジニアリング
2023/09/26 YugabyteDB Japan Meetup #3で登壇した際の資料です。

データベース信頼性エンジニアリング(DBRE)とは何か? を紐解き、どのようにDBAと違うのか? を説明します。

nnaka2992

September 26, 2023
Tweet

More Decks by nnaka2992

Other Decks in Technology

Transcript

  1. 紹介 データベース信頼性エンジニアリング
    YugabyteDB Japan Meetup #3
    株式会社スリーシェイク 中楯 直希

    View Slide

  2. \du
    2
    株式会社スリーシェイク Sreake事業部
    業務内容
    - DBRE兼SRE見習い
    - クラウドもオンプレも分からない
    - データベースも分からない
    - 自称データ雑用係
    - DBAでもDBREでもデータエンジニアでも
    興味あること
    - データベース関連ならなんでも
    中楯 直希
    @nnaka2992
    @nnaka2992.bsky.social

    View Slide

  3. - DBREとは?
    - DBREに求められるもの
    - DBREからみたYugabyteDB
    - まとめ
    Agenda
    3

    View Slide

  4. DBREとは?
    01

    View Slide

  5. DBREとは?
    5
    DBREってDBAの言い換えですよね?
    うちではインフラエンジニアもSREって呼んでるんですよ

    View Slide

  6. DBREとは?
    6
    😇

    View Slide

  7. DBREの成り立ち: 2015年
    7
    - データベース信頼性エンジニアリング DBAロー
    ルのモダナイズ
    Laine Campbell
    - DBREという言葉の初出は2015年に
    O'Reillyが主催した
    Velocity Conference Santa Clara 2015
    - DevOpsの概念をDBAにとりこみ、データ
    ベースを含む開発と運用をモダナイズする
    手法の紹介をしている
    Database reliability engineering, modernizing the DBA role
    https://learning.oreilly.com/videos/velocity-conference-santa/9781491927977/9781491927977-video215615/

    View Slide

  8. DBREの成り立ち: 2017年
    8
    - データベース信頼性エンジニアリング
    Laine Campbell & Charity Majors
    - 前述のセッションを深堀し、DBREの概念と
    やるべきことの指針を示した
    Database Reliability Engineering
    https://www.oreilly.com/library/view/database-reliability-engineering/9781491925935/
    今日、データベースのプロフェッショナルは管理者ではなく、エンジニア
    でなければなりません。
    ...
    エンジニアであればこそ、オペレーション作業における繰り返しの多い
    作業や固定化された手順について、設計、ビルド、データ構造といった
    観点から問題点を洗い出し、最適化することが可能になるのです。
    1章 イントロダクションより

    View Slide

  9. SREから見たDBRE
    9
    “class SRE implements interface DevOps”
    クラスSREはDevOpsというインターフェイスの実装である
    - SREはGoogleが提唱した概念でDevOpsの実践例の一つ
    Site Reliability Engineering: Chapter 1 - How SRE Relates to DevOps
    https://sre.google/workbook/how-sre-relates/
    ● 分散システムのモニタリング
    ● 自動化の推進
    ● 適切なリリースエンジニアリング
    ● 単純さ
    ● リスクの受容
    ● SLO の定義
    ● Toil(労苦)の撲滅

    View Slide

  10. SREから見たDBRE
    10
    “class DBRE extends class SRE”
    クラスDBREはSREというクラスの継承である
    - DBREはSREがデータベースに特化した形態と考えることが出来る
    - データベースは専門性が高く障害が許されない
    - 特化することで信頼性と開発速度の両立を目指す

    View Slide

  11. DBREに求められるもの
    02

    View Slide

  12. DBREに求められるもの
    12
    DBREが求めるもの=
    開発・変更速度(Dev) + 安定稼働(Ops)
    DBAからDBREに変革するには
    DevOpsへの適合が必要不可欠

    View Slide

  13. DBREに求められるもの
    13
    DBREを実現するために必要なもの
    - データを守ること
    - Toil(労苦)の削減
    - データドリブンの意思決定
    - データベースの民主化
    - 開発と運用の境目をなくす

    View Slide

  14. DBREに求められるもの
    14
    DBREを実現するために必要なもの
    - データを守ること
    - Toil(労苦)の削減
    - データドリブンの意思決定
    - データベースの民主化
    - 開発と運用の境目をなくす
    DBAも今までやってきたこと
    ただし対象はデータベースに
    限らない

    View Slide

  15. DBREに求められるもの
    15
    DBREを実現するために必要なもの
    - データを守ること
    - Toil(労苦)の削減
    - データドリブンの意思決定
    - データベースの民主化
    - 開発と運用の境目をなくす
    SREがDevOpsを実現するため
    にやっていること

    View Slide

  16. DBREに求められるもの
    16
    DBREを実現するために必要なもの
    - データを守ること
    - Toil(労苦)の削減
    - データドリブンの意思決定
    - データベースの民主化
    - 開発と運用の境目をなくす
    データベースとSRE両方の
    専門家のみが重要度を理解しな
    がら実現できる

    View Slide

  17. DBAからDBREに
    17
    DBAが潜在的に持っている特徴
    - DBの門番
    - 芸術的にくみ上げられたデータベース
    - 職人による管理
    - 他チームからの独立

    View Slide

  18. DBAからDBREに
    18
    DBAが潜在的に持っている特徴
    - DBの門番
    門番的にふるまってしまうと開発速度のボトルネックになる
    DBAが目で見て判断するより仕組みで解決する必要がある

    View Slide

  19. DBAからDBREに
    19
    DBAが潜在的に持っている特徴
    - 芸術的にくみ上げられたデータベース
    特定のDBに固執してしまうと複雑な設定やデータ処理が必要になる
    必要に応じてメモリストアやドキュメントDBなどを選定する

    View Slide

  20. DBAからDBREに
    20
    DBAが潜在的に持っている特徴
    - 他チームからの独立
    専門チームになってしまうことでお互い無関心になってしまう
    クロスファンクショナルなチームを目指し、
    DevとDBAを統合する必要がある

    View Slide

  21. DBREの形はさまざま
    21
    DBREの取り組みは組織の文化や成熟度によって違う
    Googleのとあるソフトウェアエンジニアがシステム運用を任されて、
    長い時間をかけて理想を形にした結果がSREである。
    現在サービスを運用する上で最適だと言われる方法論の一つとしてSREがあり
    SREの本の状態を目指すことが真のゴールではない。
    SREのプラクティスを自分たちなりに解釈して
    組織やサービスと向き合い続けて、仲間を集めた先に、
    あなた(の組織)らしいSREが生まれるのです。
    あなたらしく SRE(公開用)
    https://speakerdeck.com/abnoumaru/anatarasikusre-gong-kai-yong

    View Slide

  22. DBREのからみたYugabyteDB
    03

    View Slide

  23. YugabyteDBの魅力
    23
    DBREからみたYugabyteDBの魅力
    - 分散能力に伴う可用性の向上
    - 障害からの自動回復能力
    - オンラインDDLの対応
    - PostgreSQLへの高い互換性

    View Slide

  24. YugabyteDBの魅力
    24
    DBREからみたYugabyteDBの魅力
    - 分散能力に伴う可用性の向上
    - 障害からの自動回復能力
    おそらくDB関係者全員がうれしい特性
    高い可用性と復旧能力でSLO違反を減らし、リスクのある
    デプロイが可能になる

    View Slide

  25. YugabyteDBの魅力
    25
    DBREからみたYugabyteDBの魅力
    - オンラインDDLの対応
    DevOpsを実践するとデプロイ頻度が多くなる
    テーブルロックを気にする必要が減り、開発速度の低下を
    防ぐことができる

    View Slide

  26. YugabyteDBの魅力
    26
    DBREからみたYugabyteDBの魅力
    - PostgreSQLへの高い互換性
    サービスの成長、縮小に伴いPostgreSQLと使い分けられる
    クエリレイヤはPostgreSQLからのフォークなので移行時の
    ハマりどころが少ない

    View Slide

  27. YugabyteDBの魅力
    27
    DBREからみたYugabyteDBに欲しい機能
    - Blue Greenデプロイメントやブランチングへの対応
    RDS/AuroraやNeonなどで提供されているような
    開発生産性を向上させるような機能が欲しい

    View Slide

  28. まとめ
    04

    View Slide

  29. まとめ
    29
    - DBREはデータベース運用にDevOps・SREを導入したもの
    - 他チームと融和し、定型作業を減らすことで開発サイクルを改
    善する
    - データベースに安全なアクセス・変更を提供する
    - YugabyteDBの停止時間を少なく出来る特性はDevOpsに向いてい

    - YugabyteDBにも開発体験を向上させる機能が欲しい

    View Slide

  30. 参考資料
    30
    - Database reliability engineering, modernizing the DBA role - Laine Campbell (Pythian)
    - https://learning.oreilly.com/videos/velocity-conference-santa/9781491927977/9781491927977-video215615/
    - Database engineering
    - https://www.slideshare.net/lainecampbell/database-engineering
    - Surge 2015 - Laine Campbell - Database Reliability Engineering, Modernizing the DBA
    Role
    - https://www.youtube.com/watch?v=lsiI8AIzLrE
    - Database Reliability Engineering
    - https://www.oreilly.com/library/view/database-reliability-engineering/9781491925935/
    - データベースリライアビリティエンジニアリング
    - https://www.oreilly.co.jp/books/9784873119403/
    - Site Reliability Engineering
    - https://sre.google/sre-book/table-of-contents/

    View Slide

  31. 参考資料
    31
    - The Site Reliability Workbook
    - https://sre.google/workbook/table-of-contents/
    - Developing a Google SRE Culture
    - https://www.cloudskillsboost.google/course_templates/95
    - Documentation Home - YugabyteDB
    - https://docs.yugabyte.com/
    - あなたらしくSRE(公開用)
    - https://speakerdeck.com/abnoumaru/anatarasikusre-gong-kai-yong
    - [SRETT #6] DBREノススメ
    - https://speakerdeck.com/nnaka2992/srett-number-6-dbrenosusume

    View Slide