KEMBAR78
Daftar
Login
DevOps with Database on AWS | PDF
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Amazon Web Services Japan
PDF, PPTX
42,652 views
DevOps with Database on AWS
AWS Dev Day 資料: DevOps with Database on AWS
Technology
◦
Read more
11
Save
Share
Embed
Download
Download as PDF, PPTX
1
/ 47
2
/ 47
3
/ 47
4
/ 47
5
/ 47
6
/ 47
7
/ 47
8
/ 47
9
/ 47
10
/ 47
11
/ 47
12
/ 47
13
/ 47
14
/ 47
15
/ 47
16
/ 47
17
/ 47
18
/ 47
19
/ 47
20
/ 47
21
/ 47
22
/ 47
Most read
23
/ 47
24
/ 47
25
/ 47
26
/ 47
27
/ 47
28
/ 47
29
/ 47
30
/ 47
31
/ 47
32
/ 47
33
/ 47
34
/ 47
35
/ 47
36
/ 47
37
/ 47
38
/ 47
Most read
39
/ 47
40
/ 47
41
/ 47
Most read
42
/ 47
43
/ 47
44
/ 47
45
/ 47
46
/ 47
47
/ 47
More Related Content
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PDF
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
PDF
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
PDF
20190514 AWS Black Belt Online Seminar Amazon API Gateway
by
Amazon Web Services Japan
PDF
Serverless時代のJavaについて
by
Amazon Web Services Japan
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
20190514 AWS Black Belt Online Seminar Amazon API Gateway
by
Amazon Web Services Japan
Serverless時代のJavaについて
by
Amazon Web Services Japan
What's hot
PDF
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
by
Amazon Web Services Japan
PDF
20200630 AWS Black Belt Online Seminar Amazon Cognito
by
Amazon Web Services Japan
PDF
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
by
Amazon Web Services Japan
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PDF
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
by
Amazon Web Services Japan
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
PDF
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
by
Amazon Web Services Japan
PDF
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
by
Amazon Web Services Japan
PDF
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
by
Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
PDF
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
PDF
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
by
Amazon Web Services Japan
PDF
20191001 AWS Black Belt Online Seminar AWS Lake Formation
by
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 AWS WAF
by
Amazon Web Services Japan
PDF
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
by
Amazon Web Services Japan
PDF
AWS初心者向けWebinar AWSとのネットワーク接続入門
by
Amazon Web Services Japan
PDF
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
by
Amazon Web Services Japan
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier
by
Amazon Web Services Japan
20200630 AWS Black Belt Online Seminar Amazon Cognito
by
Amazon Web Services Japan
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
by
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
by
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
by
Amazon Web Services Japan
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
by
Amazon Web Services Japan
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
by
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
by
Amazon Web Services Japan
20191001 AWS Black Belt Online Seminar AWS Lake Formation
by
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS...
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 AWS WAF
by
Amazon Web Services Japan
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
by
Amazon Web Services Japan
AWS初心者向けWebinar AWSとのネットワーク接続入門
by
Amazon Web Services Japan
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
by
Amazon Web Services Japan
Similar to DevOps with Database on AWS
PPT
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
by
dcubeio
PDF
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
by
Takanori Ohba
PDF
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
PDF
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
by
dcubeio
PDF
DBP-009_クラウドで実現するスケーラブルなデータ ウェアハウス Azure SQL Data Warehouse 解説
by
decode2016
PDF
DBワークロードのAWS化とデータベースサービス関連最新情報
by
Amazon Web Services Japan
PDF
20151120_ビッグデータ/クラウドにデータ連携自由自在 “オンプレミス ↔ クラウド ↔ クラウド” by 株式会社インサイトテクノロジー 森田俊哉
by
Insight Technology, Inc.
PDF
[db tech showcase Sapporo 2015] B15:ビッグデータ/クラウドにデータ連携自由自在 (オンプレミス ↔ クラウド ↔ クラ...
by
Insight Technology, Inc.
PDF
DDD 2016 DB 12c クエリー・オプティマイザ新機能活用と統計情報運用の戦略
by
歩 柴田
PDF
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
by
歩 柴田
PDF
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
by
Amazon Web Services Japan
PDF
Database smells
by
Mikiya Okuno
PDF
TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」
by
(株)TAM
PDF
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
by
Ryota Watabe
PDF
Lunch & Learn, AWS NoSQL Services
by
Insight Technology, Inc.
PDF
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
by
Hideo Takagi
PDF
JJUG Bizreach DBFlute 2014
by
Masahiko Kubo
PDF
iOS/Androidにも対応した SQL Anywhere 12の魅力
by
nisobe58
PPTX
Lv1から始めるWebサービスのインフラ構築
by
伊藤 祐策
PDF
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
by
Amazon Web Services Japan
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
by
dcubeio
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
by
Takanori Ohba
Webアプリを並行開発する際のマイグレーション戦略
by
Takayuki Shimizukawa
20170329 D3 DBAが夜間メンテをしなくなった日 発表資料
by
dcubeio
DBP-009_クラウドで実現するスケーラブルなデータ ウェアハウス Azure SQL Data Warehouse 解説
by
decode2016
DBワークロードのAWS化とデータベースサービス関連最新情報
by
Amazon Web Services Japan
20151120_ビッグデータ/クラウドにデータ連携自由自在 “オンプレミス ↔ クラウド ↔ クラウド” by 株式会社インサイトテクノロジー 森田俊哉
by
Insight Technology, Inc.
[db tech showcase Sapporo 2015] B15:ビッグデータ/クラウドにデータ連携自由自在 (オンプレミス ↔ クラウド ↔ クラ...
by
Insight Technology, Inc.
DDD 2016 DB 12c クエリー・オプティマイザ新機能活用と統計情報運用の戦略
by
歩 柴田
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
by
歩 柴田
[CTO Night & Day 2019] AWS Database Overview -データベースの選択指針- #ctonight
by
Amazon Web Services Japan
Database smells
by
Mikiya Okuno
TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」
by
(株)TAM
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
by
Ryota Watabe
Lunch & Learn, AWS NoSQL Services
by
Insight Technology, Inc.
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
by
Hideo Takagi
JJUG Bizreach DBFlute 2014
by
Masahiko Kubo
iOS/Androidにも対応した SQL Anywhere 12の魅力
by
nisobe58
Lv1から始めるWebサービスのインフラ構築
by
伊藤 祐策
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
by
Amazon Web Services Japan
More from Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
by
Amazon Web Services Japan
PDF
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
by
Amazon Web Services Japan
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
by
Amazon Web Services Japan
PPTX
20220409 AWS BLEA 開発にあたって検討したこと
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
by
Amazon Web Services Japan
PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
by
Amazon Web Services Japan
PDF
Amazon QuickSight の組み込み方法をちょっぴりDD
by
Amazon Web Services Japan
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
by
Amazon Web Services Japan
PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
by
Amazon Web Services Japan
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
by
Amazon Web Services Japan
PDF
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
by
Amazon Web Services Japan
PDF
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
by
Amazon Web Services Japan
PDF
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
by
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
by
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
by
Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
by
Amazon Web Services Japan
20220409 AWS BLEA 開発にあたって検討したこと
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
by
Amazon Web Services Japan
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
by
Amazon Web Services Japan
Amazon QuickSight の組み込み方法をちょっぴりDD
by
Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
by
Amazon Web Services Japan
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
by
Amazon Web Services Japan
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
by
Amazon Web Services Japan
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
by
Amazon Web Services Japan
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
by
Amazon Web Services Japan
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
by
Amazon Web Services Japan
Recently uploaded
PDF
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
PDF
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
PDF
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
PPTX
How to buy a used computer and use it with Windows 11
by
Atomu Hidaka
PPTX
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
PPTX
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
PDF
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
PDF
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
How to buy a used computer and use it with Windows 11
by
Atomu Hidaka
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
DevOps with Database on AWS
1.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOps with Database on AWS アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 2018年11月1日
2.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 自己紹介 山内 晃 (やまうち あきら) アマゾン ウェブ サービス ジャパン株式会社 ストラテジックアカウント本部 ソリューションアーキテクト 好きなAWSサービス • Amazon Relational Database Service (RDS) • Amazon Simple Storage Service (S3)
3.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. このセッションについて こんな方にオススメです • 開発サイクルの短縮や開発プロセスへの集中といった効果を狙って DevOpsに取り組まれているアプリケーション開発者 • 従来どおりの安定運用に加えて変化への対応スピードが求められて いるデータベース管理者 こんなことをお話しします • DevOps with Database はなぜ難しいのか? • “銀の弾丸がない” この課題にアプリケーション、データベースの 観点からどうアプローチできるか?
4.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Agenda • 前半(山内) • DevOps with Database はなぜ難しいのか • スキーマ変更にかかる時間を短縮するには • 後半(大村) • スキーマ変更のバージョンを適切に管理するには • 停止時間を最小化するリリース方法の例
5.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOpsとは DevOps = 開発者 顧客 releasetestbuild plan monitor デリバリのパイプライン フィードバックループ 無駄やボトルネックを取り除くことで、 ライフサイクルを効率化し、高速化すること ソフトウェア開発のライフサイクル
6.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOps with Database は なぜ難しいのか
7.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 変更対象 が異なる アプリケーション ソースコード スキーマ定義とデータ データベース
8.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 所要時間 が異なる アプリケーション 秒 〜 分 秒〜日 (操作やサイズ等に依存) データベース
9.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 担当者 が異なる アプリケーション Developer DBA データベース public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!!"); } } CREATE TABLE t1 ( year_col INT, some_data INT ) PARTITION BY RANGE (year_col) ( PARTITION p0 VALUES LESS THAN (2017), PARTITION p1 VALUES LESS THAN (2018), PARTITION p2 VALUES LESS THAN MAXVALUE );
10.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 変更管理 が異なる アプリケーション バージョン管理ツール プロジェクト独自 データベース
11.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOps with Database はなぜ難しい? 1. スキーマ変更に時間がかかる 2. バージョン管理が難しい 3. スキーマ変更はアプリケーションの停止を伴う
12.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOps with Database を実現するには? 1. スキーマ変更に時間がかかる → 短時間でスキーマを変更するには? 2. バージョン管理が難しい → 安全にバージョン管理するには? 3. スキーマ変更はアプリケーションの停止を伴う → リリース方法を工夫して停止時間を短縮するには? この3つの課題にフォーカスして考えてみましょう
13.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマ変更にかかる時間を 短縮するには
14.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. データベースのスキーマ変更とは • テーブル の作成、削除、名前変更、最適化、圧縮、文字コード指定 • カラム の追加、削除、名前変更、並び替え、データ型変更 • キー(プライマリキー、外部キー)の追加、削除、削除&追加 • インデックス の追加、削除、名前変更、タイプ変更 • パーティション の作成、追加、削除 • ビュー の作成、変更、削除 etc... データ定義言語(DDL)によるオブジェクト定義の変更
15.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマ変更のパターン • メタデータだけを変更するDDL カラム名変更、インデックス削除、ビュー作成 など • 既存データのコピーを伴うDDL カラム追加・削除、インデックス追加、プライマリキー追加 など → 通常、瞬時に終了するのであまり気にすることはない → データ量に依存して時間がかかる (アプリケーションへの影響が懸念)
16.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 既存データのコピーを伴うDDL ② 新しい定義で空の一時表を作る ③ 元テーブルの データをコピー TBL ④ リネームして テーブルを入れ替え ① 元テーブルをロック (参照は許可、更新はブロック) 更新 × 参照 ○ 参照 ○ ⑤ ブロックしていた更新を リダイレクトして反映 更新 TBL (例)MySQL5.7でのカラム追加
17.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマ変更を手堅くやるには • アプリケーション(更新もしくは全体)を停止 • スナップショットを取得 • DDLを実行 • (問題が発生したらスナップショットから復旧) • アプリケーションを再開 → この方法だとDevOpsパイプラインに含めることは困難 (実行時間やアプリケーション影響が読めず自動化しづらい) → オンラインで(更新をブロックせずに)スキーマ変更したい
18.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. オンラインでのスキーマ変更(MySQL) • オンラインDDL(MySQL 5.6以降) DDLの例(MySQL 5.7) テーブル再構築 同時DML • テーブル名変更、カラム名変更 • 外部キー制約追加、削除 • インデックス削除 不要 可能 • カラム追加、削除、並び替え • プライマリキー追加、削除&追加 • インデックス追加(*1) 必要 可能 • カラムデータ型変更 • プライマリキー削除 • パーティション作成、追加、削除 (*2) 必要 不可 *1 再構築ではないが、データ量依存で時間がかかる *2 パーティションのタイプや操作に依存(例:レンジ、リストのパーティション追加、削除はコピー不要など) ALTER TABLE item ADD COLUMN price INT, ALGORITHM=INPLACE, LOCK=NONE;
19.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. オンラインでのスキーマ変更(Oracle Database) • オンライン・データ再定義(Enterprise Edition) • DBMS_REDEFINITIONパッケージを利用 • スキーマ変更中にDMLを実行できる • カラムの追加、削除、名前変更、表領域の移動、 圧縮属性の変更など様々な操作に対応 • カラム追加時のデフォルト値の最適化 • 既存レコードがすべて更新される(10gR2以前) • デフォルト値をメタデータだけに格納 • NOT NULL制約が必要(11g)/ 不要(12c) -- 元テーブル(original)を作成 CREATE TABLE original (col1 NUMBER PRIMARY KEY, col2 VARCHAR2(100)) TABLESPACE users; -- 仮テーブル(interim)を作成 CREATE TABLE interim (col1 NUMBER PRIMARY KEY, col2 VARCHAR2(100), col3 VARCHAR2(100)) TABLESPACE users; -- オンライン再定義を開始 BEGIN DBMS_REDEFINITION.START_REDEF_TABLE( uname => 'master', orig_table => 'original', int_table => 'interim', col_mapping => 'col1 col1, col2 col2', options_flag => DBMS_REDEFINITION.CONS_USE_PK); END; / -- オンライン再定義を終了 exec DBMS_REDEFINITION.FINISH_REDEF_TABLE('master', 'original','interim'); 【実行例】テーブル(original)にカラム(col3)を追加
20.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. オンラインでのスキーマ変更(SQL Server) • ONLINE ALTER COLUMN(Enterprise Edition) • SQL Server 2016以降のTransact-SQLでオンラインでの列変更をサポート • 制限事項についてはドキュメントで要確認 (*) • 複数列を同時に変更することはできない • チェック制約で参照されている列は変更できない • 変更される既存の列には2倍の領域割り当てが必要 etc.. * ALTER TABLE (Transact-SQL) https://docs.microsoft.com/ja-jp/sql/t-sql/statements/alter-table-transact-sql ALTER TABLE item ADD price INT WITH (ONLINE = ON);
21.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 新テーブルにカラム追加して結合する 参照 参照 参照 ③ 参照はビューを見せる TBL ① 追加カラムを持つ 新テーブルを作成 TBL_1 TBL_N ・・・ ② 新旧テーブルを結合して ビューを作成(変更)VIEW 更新 ④ 更新はテーブルに行う How? • カラム追加をテーブル作成とビュー作成(変更)に置き換える PROS CONS • 停止時間を短縮できる (更新を長時間ブロックしない) • キー値のコピーが必要(テーブル作成時) • 結合ビューは複数テーブルを更新できない • 繰り返すと結合が多くなる
22.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 予備カラムを定義する title pages更新 参照 参照 ③ 参照、更新共に ビュー経由で行う yobi1 yobi2 ② ビューを作成(変更)し、 カラム名を変更 VIEW ① 予備カラムを定義して テーブルを作成 TBL How? • カラム追加をビュー変更で置き換える PROS CONS • 停止時間を短縮できる (更新を長時間ブロックしない) • 必要数分の予備カラムを予め定義 • データ型、キー、制約、インデックスの変更に は対応できない(ALTER TABLEが必要)
23.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. JSON型を使う -- JSON型のカラムを定義してテーブル作成 CREATE TABLE item (id INT, name VARCHAR(20), tags JSON); -- 異なる属性を持つJSON型のデータを挿入 INSERT INTO item (id, name, tags) VALUES (1, 'Book', JSON_OBJECT(‘title', ‘The Four', 'pages', '245')); INSERT INTO item (id, name, tags) VALUES (2, 'PC', JSON_OBJECT(‘type’, ‘laptop', 'weight', '1.37')); -- 属性を指定してJSON型のデータを検索 SELECT id, name FROM item WHERE JSON_EXTRACT(tags, "$.weight") = "1.37"; How? • JSON型のカラムを定義して、単一のカラムで属性が異なる複数の値を格納する PROS CONS • RDBMSの特性を残したまま、NoSQLの柔軟性 (スキーマレス)を使える • 検索が遅い(インデックスが使えない) • 検索や更新の実装が複雑になる • 値の妥当性検証(データ型)や参照整合性 (外部キー制約)の担保が困難になる
24.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 前半のまとめ (DevOps with Database を実現するには?) 1. スキーマ変更に時間がかかる → 短時間でスキーマを変更するには? • オンラインでのスキーマ変更 • 新テーブルにカラム追加して結合する • 予備カラムを定義する • JSON型を使う 2. バージョン管理が難しい → 安全にバージョン管理するには? 3. スキーマ変更はアプリケーションの停止を伴う → リリース方法を工夫して停止時間を短縮するには?
25.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 自己紹介 大村 幸敬 (おおむら ゆきたか) アマゾン ウェブ サービス ジャパン株式会社 インダストリソリューション部 ソリューションアーキテクト 好きなAWSサービス • AWS CLI (Command Line Interface)
26.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Evolutionally Database Design アジャイル開発でデータベースの Continuous Integration と リファクタリングを行うための 11のプラクティスを紹介 https://www.martinfowler.com/articles/evodb.html by Martin Fowler & Pramod Sadalage (2016) 1. DBAとデベロッパがコラボレートする 2. DB成果物をアプリとともにバージョン管理する 3. 全てのDB変更はマイグレーションで管理する 4. 全ての開発者に自分のDBを提供する 5. 開発者はDBの変更を継続的に統合する 6. DBはスキーマとデータで構成される 7. 全てのDBの変更はリファクタリングである • DBの移行中フェーズの扱い 8. リファクタリングを自動化する 9. 開発者が自分のDBをOnDemandで更新できる 10. DBへのアクセスコードを明確に分離する 11. 頻繁にリリースする
27.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOps with Database を実現するには? 1. スキーマ変更に時間がかかる → 短時間でスキーマを変更するには? 2. バージョン管理が難しい → 安全にバージョン管理するには? 3. スキーマ変更はアプリケーションの停止を伴う → リリース方法を工夫して停止時間を短縮するには?
28.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマ変更のバージョンを 適切に管理するには
29.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. アプリ開発に伴うDBの変更 スキーマ定義 (DDL) マスタデータ 変更後データ (DML)
30.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DBの変更作業 DBへの変更要求をコード変更に合わせて適用するには? コード DB変更要求 開発者 Production DB コード DB変更要求 Integration DBDBA Staging DB Dev DB開発者 v1 v1 v2 v2
31.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 全てのDB変更をマイグレーションで管理 • ツールによるマイグレーションの管理と自動化 • スキーマの変更をDDL/DMLのセットで定義 • 適用時およびロールバック時の処理をコードで記述 Integration DB Staging DB Production DB DBA v1 v2 v3 v4 v5 v6 v7 Dev DB Dev DB Dev DB Dev DB v7 v6 v5
32.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. マイグレーションの実装例 Ruby on Rails の Active Records • マイグレーションファイル • DBスキーマをDSLで定義 • ver up/down時の処理を記述 • 任意のSQL記述も可能 • マイグレーションファイル構成 • db/migrate ディレクトリに配置 • ファイル名形式は YYYYMMDDHHMMSS_add_products.rb
33.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. マイグレーションの実行例 指定したバージョンのマイグレーションまでを実行 ロールバックしてひとつ前のバージョンに戻る $ rails db:setup $ rails db:rollback $ rails db:migrate VERSION=20181101120000 DBの初期化 特定バージョンのマイグレーション処理のみを実行 $ rails db:migrate:up VERSION=20181101120000 異なる環境のマイグレーションを実行 $ rails db:migrate RAILS_ENV=dev v0 v2 v5 ProductionDev v1 v2 v3 v4 v5 v5 v5
34.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. さまざまなDBマイグレーションツール フレームワークに付属 • Ruby on Rails (Ruby) • Laravel (PHP) • Entity Framework (.NET) • Django (Python) • etc... 専用ツール • Flyway • Liquibase • MyBatis • Phinx • sql-migrate • etc...
35.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOps with Database を実現するには? 1. スキーマ変更に時間がかかる → 短時間でスキーマを変更するには? 2. バージョン管理が難しい → 安全にバージョン管理するには? 3. スキーマ変更はアプリケーションの停止を伴う → リリース方法を工夫して停止時間を短縮するには?
36.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 停止時間を最小化する リリース方法の例
37.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DevOpsと無停止リリース • 外部調停なくリリースできることはDevOpsに必須 • リリースに伴う停止時間がなければ外部調停不要 • 無停止リリースの課題: 移行フェーズ • アプリ変更、DBスキーマ変更に伴う停止時間 • 新旧アプリと新旧スキーマの組み合わせのハンドリング Database refactorings, being applied to legacy database and the phases it needs to take before being implemented from Evolutionally Database Design
38.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. リリースへの影響:ステートレスとステートフル • ステートレスなアプリケーションの変更 • 複数のサーバやコンテナ • 順に停止&起動することで無停止入れ替え可能 • ステートフルなデータストアの変更 • 多くは単一のデータストアを共有 • 単純に更新すると停止時間が発生 • 構造化データストアはスキーマ変更が課題 • 非構造化データストアはスキーマ変更不要 v1 v1 v1 v2 v2 Stateless Stateful
39.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 無停止リリースのパターン A: DBを共有 DBとアプリの変更を個別に実施 • DBとアプリケーションが疎結合であること • 新旧アプリでDBを共有 • 一般的にはこの方法を推奨 リリースのパターン 1. DBスキーマ変更→アプリ変更 2. アプリ変更→DBスキーマ変更 Change schema Start app deployment Finish app deployment Start app deployment Finish app deployment Change schema
40.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. パターンA-1: DBスキーマ変更を先行 旧アプリが新スキーマで稼働できる場合 (カラム追加など) • 例)新アプリで不要なカラムが残る可能性があるが無視 • 例)旧アプリが追加したデータをTriggerで新スキーマへ投入 v1 v1 v1 v1 v1 v1 v1 v2 v2 v2 v1 v2 v2 v2 v2 v2 • 旧アプリ • 新スキーマ • 新旧アプリ混在 • 新スキーマ スキーマ変更に 伴う処理停止の 最小化 アプリデプロイに伴う 処理停止の最小化 (Draining) 移行フェーズ
41.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. パターンA-2: アプリリリースを先行 新アプリが旧スキーマで稼働できる場合(カラム削除など) • 例)リリース完了後は旧アプリを稼働できない • 例)削除されたカラムへの依存が新アプリに残っているとエラーが発生(要テスト) v1 v1 v1 v1 v2 v2 v1 v2 v2 v2 v2 • 新旧アプリ混在 • 旧スキーマ • 新アプリ • 旧スキーマ スキーマ変更に 伴う処理停止の 最小化 アプリデプロイに伴う 処理停止の最小化 (Draining) v1 v1 v2 v2 v2 移行フェーズ
42.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 閑話休題:アプリバージョンの混在 新機能はいつから有効か? • デプロイされ次第 • フィーチャーフラグが変更され次第 フィーチャーフラグはどこに配置するか? 1. アプリサーバ上のファイル • CodeDeploy や SSM* RunCommandで設定 2. 設定格納用のデータストア • SSM* ParameterStoreに格納 3. データと同じDB • マイグレーションで管理 機能A: ◯ 機能B: × SSM Parameter Store *SSM = AWS Systems Manager SSM RunCommand DB v2 v2 v1
43.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 無停止リリースのパターン B: 異なるDBの使用 DB自体を切り替える • 変更が大きくスキーマ変更処理やデータコピー による停止が許容できない場合 • アプリとDBが密結合で個別リリースできない場合 課題:新旧DBのデータを一致させること • 基本的に難しい問題 リリースのパターン 1. 主系DBのデータをレプリケーション 2. 新旧両方のDBをDouble Writeで更新
44.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. パターンB-1: レプリケーション Pros: トランザクション管理の複雑さを回避可能(DBが管理) Cons:切替え時にデータ同期完了まで待つ必要がある RDBMSにより異スキーマ間のレプリ可否が異なる W R R W R W R 事前にGreen環境の スキーマを変更 新旧スキーマ間でレプリ 書き込み停止 レプリ完了待ち 読み込みは可能 アクセス先 切り替え 書き込み再開 切り戻しに備えた逆レプリ (または別DBへのレプリ) 移行フェーズ
45.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. パターンB-2: Double Write Pros: DBによらずアプリケーションの制御で無停止切り替え、切り戻しが可能 Cons: データ整合性をアプリケーションで管理する必要がある 書き込み速度の低下(2-phase-commitの実施など) W R R W R W R 両系DBに 書き込み開始 アクセス先 切り替え 切り替えの完了 移行フェーズ W 新スキーマで準備
46.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. まとめ - DevOps with Database を実現するには? 1. スキーマ変更に時間がかかる → 短時間でスキーマを変更するには? 2. バージョン管理が難しい → 安全にバージョン管理するには? • DBマイグレーションツールの使用 3. スキーマ変更はアプリケーションの停止を伴う → リリース方法を工夫して停止時間を短縮するには? • 銀の弾丸はない • A: DBを共有: スキーマ変更とアプリ変更の組み合わせ • B: 異なるDBを使用: レプリケーションやDoubleWrite
47.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Thank you!
Download