Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

DBREとは? 01

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

DBREとは? 6 😇

Slide 7

Slide 7 text

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/

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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(労苦)の撲滅

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

DBREに求められるもの 02

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

DBREのからみたYugabyteDB 03

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

まとめ 04

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

参考資料 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/

Slide 31

Slide 31 text

参考資料 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