Slide 1

Slide 1 text

今まで生き残ってきたRDBMSと この先10年戦えるデータストア戦略 ~ 次の10年を見据えたシステム開発 ~ Developers Summit 2022

Slide 2

Slide 2 text

今日、話さないこと
 
 
 What is it?

Slide 3

Slide 3 text

具体的なhowの話はしません
 
 
 What is it?

Slide 4

Slide 4 text

● 具体的なデータベースの選び方
 ● パフォーマンス・チューニングのこと
 ● データベース監視やバージョンアップ戦略などの 運用をするために必要なこと
 ● データモデリングなどの設計に関すること
 今日は話さない具体的なhowの例

Slide 5

Slide 5 text

今日のテーマ
 
 
 What is it?

Slide 6

Slide 6 text

この10年の歴史から
 
 次の10年を見据えた審美眼を身につける
 What is it?

Slide 7

Slide 7 text

あなたの目の前にあるデータベースが
 
 10年後、どうなっているか
 What is it?

Slide 8

Slide 8 text

次の10年後のために
 
 なぜ、データベースが重要か
 What is it?

Slide 9

Slide 9 text

そして世の中のデータベースが
 
 これからどうなっていくか
 What is it?

Slide 10

Slide 10 text

そういう話をします
 
 
 What is it?

Slide 11

Slide 11 text

1. 自己紹介
 2. この10年のデータベースの変化
 3. データベースのこれから
 4. 明日から現場で戦うために必要なこと
 5. まとめ
 あじぇんだ

Slide 12

Slide 12 text

1. 自己紹介
 2. この10年のデータベースの変化
 3. データベースのこれから
 4. 明日から現場で戦うために必要なこと
 5. まとめ
 あじぇんだ

Slide 13

Slide 13 text

自己紹介
 曽根 壮大(37歳)
 Have Fun Tech LLC 代表社員
 
 そ  ね  た け と も
 ● 日本PostgreSQLユーザ会 勉強会分科会 担当
 ● 3人の子供がいます(長女、次女、長男)
 ● 技術的にはWeb/LL言語/RDBMSが好きです
 ● コミュニティが好き

Slide 14

Slide 14 text

1. 自己紹介
 2. この10年のデータベースの変化
 3. データベースのこれから
 4. 明日から現場で戦うために必要なこと
 5. まとめ
 あじぇんだ

Slide 15

Slide 15 text

最初にとても大切なこと
 
 
 この10年のデータベースの変化

Slide 16

Slide 16 text

データベースは
 
 サービスの中心にある
 この10年のデータベースの変化

Slide 17

Slide 17 text

この10年のデータベースの変化 Web Server API Server 社内管理 Server データベース ブラウザ スマホ 社用PC 複数のサービスから 参照されることも珍しくない

Slide 18

Slide 18 text

データベースの寿命は
 
 アプリケーションよりも長い
 この10年のデータベースの変化

Slide 19

Slide 19 text

この10年のデータベースの変化 データベース データベース SNS SNS ECサービス Before After

Slide 20

Slide 20 text

この10年のデータベースの変化 データベース データベース Before After SNS ECサービス ECサービス 利用者減による サービス撤退

Slide 21

Slide 21 text

この10年のデータベースの変化 データベース データベース Before After 旧・ECサービス サービスが順調に成長したが 技術的な課題が積み重なった状態 新・ECサービス データベースの構造はそのままに アプリケーションだけをリプレイス

Slide 22

Slide 22 text

“一番最初にお伝えすべきことは、デー タベースの寿命はアプリケーションよりも 長いということです。これはどういうことで しょうか?
 想像してみてください。例えば、新しく SNSのサービスをリリースしたとします。 このSNSは1年、2年と順調にユーザー数 を増やしていきます。そして、獲得した ユーザーをより活用するため、新たにEC サービスをローンチしたとしましょう。 
 このECサービスがリリースされた瞬間か ら、SNSの会員データはECサービスと共 有されることになります。”
 https://eh-career.com/engineerhub/entry/2018/12/11/110000

Slide 23

Slide 23 text

そして、10年続くデータベースは
 
 珍しくないということ
 この10年のデータベースの変化

Slide 24

Slide 24 text

その前提の上で
 
 この10年の変化を振り返る
 この10年のデータベースの変化

Slide 25

Slide 25 text

この10年のデータベースの変化 “今と過去の差分を見ると未来が想像できる”
     
 
 小賀 昌法
 ● トラボックス 社長室
 ● CARTA HD Tech Boardアドバイザリ
 ● 日本CTO協会 理事


Slide 26

Slide 26 text

大体10年前のデータベースに
 
 関わるイベントを振り返る
 この10年のデータベースの変化

Slide 27

Slide 27 text

● Oracle Database 11g Release 1 のリリースは2007/9
 ○ バージョン 11.2.0.4 でも2020/12/31でサポート終了
 ● Oracle Database 12c Release 1 のリリースは2013/7
 ○ バージョン 12.1.0.2 は 2022/7/31 でサポート終了
 ○ 12.2.1の延長として18c(12.2.0.2)、19c(12.2.0.3)がリリース
 ● Oracle Cloudの東京リージョンの開始は2019/5/8
 ○ Oracle Cloudでのみ21cを提供している(2022/02/15現在)
 OracleDBのこれまで状況

Slide 28

Slide 28 text

● 2010/1/27/ SunがOracleに買収された
 ○ MySQL 5.5のリリースは2010/12/15 → 2018/12 EOL
 ○ MySQL 5.6のリリースは2013/2/5 → 2021/2 EOL
 ○ MySQL 5.7のリリースは2015/10/21 → 2023/10 EOL予定
 ○ MySQL 8.0のリリースは2018/4/19 → 2026/4 EOL予定
 ● この10年でMySQLは無くなるのでは?という懸念は払拭された
 ○ 現在もユーザーコミュニティも活発に活動中
 ○ 3ヶ月毎に機能リリースがされ、パワフルな進化をしている
 MySQLのこれまで状況

Slide 29

Slide 29 text

● PostgreSQL 9.2のリリースが2012年9月10日
 ● これまではバージョンの表記がx.y.zのx.yがメジャーバージョンであったが、 PostgreSQL 10(9.6のNext)からxがメジャーバージョンに変更
 ● PostgreSQLは毎年、メジャーバージョンをリリース
 ○ リリースされてから5年間サポート
 ○ 2022/11/10のPostgreSQL 10がEOL
 ● パラレルクエリ、パーテーション、ロジカルレプリケーション、マテリアライズド・ ビューなど商用DBで期待されるような機能が次々と追加された
 PostgreSQLのこれまで状況

Slide 30

Slide 30 text

この10年での最も大きな変化
 
 
 この10年のデータベースの変化

Slide 31

Slide 31 text

この10年での最も大きな変化
 ↓
 クラウドの台頭
 この10年のデータベースの変化

Slide 32

Slide 32 text

● Amazon Web Service
 ○ 東京リージョンのサービスインは 2011/03/02 
 ○ Amazon Aurora MySQLがリリースされたのは 2014/10 
 ○ Amazon DynamoDB がリリースされたのは 2012/3/1 
 ● Microsoft Azure
 ○ 東京リージョンのサービス開始は 2014/02/26 
 ○ Azure Cosmos DBがリリースされたのは 2017年 
 ● Google Cloud Platform
 ○ 東京リージョンのサービス開始は 2016/11/8 
 ○ Google Cloud Spannerの論文は2012年には発表されていたが、一般ユーザが利用でき るようになったのは2017年から
 クラウドの台頭

Slide 33

Slide 33 text

クラウドによって変わったこと
 
 
 この10年のデータベースの変化

Slide 34

Slide 34 text

● フルマネージドサービスによるDevOpsの実現
 ○ RDBMSのフルマネージドサービスによるDBAの開放
 ○ Redisなどの提供によるNoSQLの普及
 ○ インフラの調達が容易になり、スケールアップ、シャーディングなどの 選択肢がより充実した
 ● AWS S3のような高可用性でElasticにスケールするオブジェクトストレージ の出現
 ○ logを簡単に、適切に、大量に保存できる
 ○ 大規模なデータをクラウドに保存する時代の到来
 クラウドによるデータベースの変化 その1

Slide 35

Slide 35 text

● 一定の規模までに対するインフラアーキテクチャのパターン化
 ○ 本当の大規模・高負荷以外は対応できる
 ○ クラウドベンダーの提供するホワイトペーパーを適切に活用すること が勘所になった
 ● クラウドベンダー独自の技術によるNewSQLの到来
 ○ NewSQLもクラウドベンダーが提供する答えの一つ
 ● ビジネスのコアにより注力できるよう変化
 ○ ビジネスの実現する上でのインフラのボトルネックがほぼ皆無
 ○ つまりよりソフトウェアの開発速度がビジネスの速度を決める
 クラウドによるデータベースの変化 その2

Slide 36

Slide 36 text

クラウドによって変わったこと
 
 
 
 この10年のデータベースの変化

Slide 37

Slide 37 text

クラウドによって変わったこと
 ↓
 ソフトウェアがより重要になり
 ビジネスの変化が早くなった
 この10年のデータベースの変化

Slide 38

Slide 38 text

この10年で変わらなかったこと
 
 
 この10年のデータベースの変化

Slide 39

Slide 39 text

データベースは
 
 サービスの中心にある
 この10年のデータベースの変化

Slide 40

Slide 40 text

置く場所は変わったが
 
 重要性は変わらない
 この10年のデータベースの変化

Slide 41

Slide 41 text

1. 自己紹介
 2. この10年のデータベースの変化
 3. データベースのこれから
 4. 明日から現場で戦うために必要なこと
 5. まとめ
 あじぇんだ

Slide 42

Slide 42 text

世界は常に変化していく
 
 
 データベースのこれから

Slide 43

Slide 43 text

世界は常に変化していく
 ↓
 技術も変化していく
 データベースのこれから

Slide 44

Slide 44 text


 
 
 “技術の進歩は「螺旋」である”
 
 
 @t_wada
 
 
 データベースのこれから

Slide 45

Slide 45 text


 “技術の変化の歴史は一見すると振り子に見える
 
 でも実はらせん構造。同じところに戻ってこない
 
 差分とそれを可能にした技術が重要”
 
 
 https://speakerdeck.com/twada/worse-is-better-understanding-the-spiral-of-technologies-2019-edition?slide=10 
 データベースのこれから

Slide 46

Slide 46 text

この10年で生き残った技術
 
 
 データベースのこれから

Slide 47

Slide 47 text

この10年で生き残った技術
 ↓
 データモデリングとRDBMS
 データベースのこれから

Slide 48

Slide 48 text

この10年で生き残った技術
 ↓
 データモデリングとRDBMS
 データベースのこれから そもそも何十年も生き残っているし、インフラの進化によって、 理論上は出来るがパフォーマンスがボトルネックだったような設計も可能 になってきた

Slide 49

Slide 49 text

変わっていないようにみえて
 
 螺旋を上がっている
 データベースのこれから

Slide 50

Slide 50 text

● 商用DBはより堅牢・高速・高機能に
 ○ INDEXの自動作成などは当たり前に
 ○ クラウドプラットフォームとセットにすることでハードウェアも合わせて チューニングされる
 ○ アクセス制限、logなどの観点でもセキュアに
 ○ Amazon AuroraもOSSベースの商用DBと言える
 ● OSS RDBMSも進化
 ○ 一般的に必要な機能は出揃っている
 ○ 豊富な事例とコストメリットで広く普及
 RDBMSの技術の螺旋

Slide 51

Slide 51 text

● 商用DBはより堅牢・高速・高機能に
 ○ INDEXの自動作成などは当たり前に
 ○ クラウドプラットフォームとセットにすることでハードウェアも合わせて チューニングされる
 ○ アクセス制限、logなどの観点でもセキュアに
 ○ Amazon AuroraもOSSベースの商用DBと言える
 ● OSS RDBMSも進化
 ○ 一般的に必要な機能は出揃っている
 ○ 豊富な事例とコストメリットで広く普及
 RDBMSの技術の螺旋 最新版を使うだけで高速化などのメリットを享受できる 商用DBもOSS DBも塩漬けにせずにバージョンアップ戦略が大事 またAWSなどでもサポート終了したバージョンは強制終了している

Slide 52

Slide 52 text

クラウドによって変わったこと
 
 
 データベースのこれから

Slide 53

Slide 53 text

クラウドによって変わったこと
 ↓
 フルマネージドの功罪
 データベースのこれから

Slide 54

Slide 54 text

制限されたRDBMS
 
 制限されたリソース
 データベースのこれから

Slide 55

Slide 55 text

● ハードウェアリソースの制限
 ○ クラウドと言えど無限ではない
 ■ インスタンスサイズの限界など
 ○ CPU、Network I/O、Disk I/O の上限はオンプレの方が高い
 ■ しかし自分でメンテナンスすることとトレードオフ
 ● ソフトウェアの制限
 ○ 事前にチューニングされているが反面、制限がある
 ○ 使えない機能・拡張がある
 ○ ソースコードに手を入れれない
 フルマネージドの制限

Slide 56

Slide 56 text

● ハードウェアリソースの制限
 ○ クラウドと言えど無限ではない
 ■ インスタンスサイズの限界など
 ○ CPU、Network I/O、Disk I/O の上限はオンプレの方が高い
 ■ しかし自分でメンテナンスすることとトレードオフ
 ● ソフトウェアの制限
 ○ 事前にチューニングされているが反面、制限がある
 ○ 使えない機能・拡張がある
 ○ ソースコードに手を入れれない
 フルマネージドの制限 これらの制限とトレードオフで、 エラスティックなスケーラビリティと バックアップ設計やHA構成の フルマネージドなどの運用面のメリットがある

Slide 57

Slide 57 text

クラウドの台頭によって
 
 データベースの利用者と開発者の
 境界線がより明確になった
 データベースのこれから

Slide 58

Slide 58 text

データベースソフトウェアは
 
 より豊富に、より便利に
 データベースのこれから

Slide 59

Slide 59 text

今後、この流れは加速していく
 
 
 
 データベースのこれから

Slide 60

Slide 60 text

今後、この流れは加速していく
 ↓
 どの巨人の肩に乗るのか
 どのデータストアと共に歩むのか
 データベースのこれから

Slide 61

Slide 61 text

世界は常に変化していく
 
 
 データベースのこれから

Slide 62

Slide 62 text

如何に自分たちの
 
 ビジネスに注力するか
 データベースのこれから そのためには必要な課題解決の手法を見直す必要がある その課題のライフサイクルと将来の課題を見越した設計は 人しかできない

Slide 63

Slide 63 text

パフォーマンスやデータ量では無く
 
 変更に強いことが重要になる
 データベースのこれから

Slide 64

Slide 64 text

パフォーマンスやデータ量では無く
 
 変更に強いことが重要になる
 データベースのこれから 既存の設計手法の活用であれば正規化などのデータモデリング

Slide 65

Slide 65 text

パフォーマンスやデータ量では無く
 
 変更に強いことが重要になる
 データベースのこれから 新しい選択肢であれば NewSQLや クラウドインフラデザインパターンを活用したデータ設計 既存の設計手法の活用であれば正規化などのデータモデリング

Slide 66

Slide 66 text

そして、10年続くデータベースは
 
 珍しくないということ
 この10年のデータベースの変化

Slide 67

Slide 67 text

クラウドにあるデータベースが
 
 10年間運用される
 データベースのこれから

Slide 68

Slide 68 text

● 常に追従が必要なバージョン
 ○ 本来はあるべき姿がオンプレ時代は臭いものに蓋をしていた
 ● データは基本的に追加なので増加していく
 ○ サービスが成長すればするほどデータ容量は増える
 ○ エラスティックにストレージは増強できるので容量は問題ない
 ○ コストは?ビジネスの成長と比例している?
 ■ 無料利用ユーザが増えてストレージを圧迫したり
 ■ 無限にログを残してストレージを圧迫したり
 ● クラウドで解決できないパターンの時はどうする?
 10年後のクラウドのデータベース

Slide 69

Slide 69 text

● 常に追従が必要なバージョン
 ○ 本来はあるべき姿がオンプレ時代は臭いものに蓋をしていた
 ● データは基本的に追加なので増加していく
 ○ サービスが成長すればするほどデータ容量は増える
 ○ エラスティックにストレージは増強できるので容量は問題ない
 ○ コストは?ビジネスの成長と比例している?
 ■ 無料利用ユーザが増えてストレージを圧迫したり
 ■ 無限にログを残してストレージを圧迫したり
 ● クラウドで解決できないパターンの時はどうする?
 10年後のクラウドのデータベース ● クラウドを活用して最適解を出すタイプ ● クラウドで解けない問題を打開していくタイプ あなたはどちらを目指す?または両方?

Slide 70

Slide 70 text

この問題は
 
 すでに始まっている
 データベースのこれから

Slide 71

Slide 71 text

1. 自己紹介
 2. この10年のデータベースの変化
 3. データベースのこれから
 4. 明日から現場で戦うために必要なこと
 5. まとめ
 あじぇんだ

Slide 72

Slide 72 text

問題の本質は変わらなくて
 
 問題の解き方が変わっていく
 明日から現場で戦うために必要なこと

Slide 73

Slide 73 text

求められる品質は上がっていくし
 
 変化の速度も上がっていく
 明日から現場で戦うために必要なこと

Slide 74

Slide 74 text

データは常に増えていくし
 
 ビジネスは常に変化する
 明日から現場で戦うために必要なこと

Slide 75

Slide 75 text

この現実と如何に戦うか
 
 
 明日から現場で戦うために必要なこと

Slide 76

Slide 76 text

この現実と如何に戦うか
 ↓
 変化に強い設計が肝要
 明日から現場で戦うために必要なこと

Slide 77

Slide 77 text

”データベースよりアプリケーションのほうが絶対的に 変化に強いです。 テストコードも書きやすいし、振る 舞いのテストもしやすいし、振る舞いの変更もしやす いしです。 
  そしてデプロイもデータベースに比べて簡単です。 データベースだとデプロイするときに、ロックのことを 考えなきゃいけないですし、マスター・スレーブのデー タの整合性を考えないといけません。
  例えば同じことが、トリガーやストアドとアプリケー ションで出来ることが同じ場合、なぜアプリケーション が良いかというと圧倒的に元に戻しやすいし、変更し やすいからです。 
  だからこそシステムの柔軟性を意識する際にRDBと アプリケーション側の責任分界点を意識することが大 切です。”
 https://soudai.hatenablog.com/entry/2017/12/27/080000

Slide 78

Slide 78 text

”データベースにビジネスロジックを持たせ ることは悪手です。だからこそRDB側には 事実のみを保存することを意識することが 大切です。 
  ただしアプリケーション側でデータを守ろう とすると、バグとヒューマンエラーにめちゃく ちゃ弱いです。
  そこで変わってしまっては困るデータの事 実はRDBMSの制約の機能で守るのです。 ここがアプリケーションとRDBの責任分界点 です。”
 https://soudai.hatenablog.com/entry/2017/12/27/080000

Slide 79

Slide 79 text

”データベースにビジネスロジックを持たせ ることは悪手です。だからこそRDB側には 事実のみを保存することを意識することが 大切です。 
  ただしアプリケーション側でデータを守ろう とすると、バグとヒューマンエラーにめちゃく ちゃ弱いです。
  そこで変わってしまっては困るデータの事 実はRDBMSの制約の機能で守るのです。 ここがアプリケーションとRDBの責任分界点 です。”
 https://soudai.hatenablog.com/entry/2017/12/27/080000

Slide 80

Slide 80 text

プロダクトやビジネスの課題を
 
 ソフトウェアの力で解決する
 明日から現場で戦うために必要なこと

Slide 81

Slide 81 text

それらを実現するために必要なこと
 
 
 明日から現場で戦うために必要なこと

Slide 82

Slide 82 text

それらを実現するために必要なこと
 ↓
 目の前のプロダクトと向き合う覚悟
 明日から現場で戦うために必要なこと

Slide 83

Slide 83 text

明日から現場で戦うために必要なこと https://soudai.hatenablog.com/entry/2021/12/31/114009

Slide 84

Slide 84 text


 
 “手を動かした者だけが、世界を変える”
 
 
 
 株式会社はてな id:onishi
 明日から現場で戦うために必要なこと

Slide 85

Slide 85 text

プロダクトやビジネスの課題を
 
 ソフトウェアの力で解決する
 明日から現場で戦うために必要なこと

Slide 86

Slide 86 text

1. 自己紹介
 2. この10年のデータベースの変化
 3. データベースのこれから
 4. 明日から現場で戦うために必要なこと
 5. まとめ
 あじぇんだ

Slide 87

Slide 87 text

データベースの寿命は
 
 アプリケーションよりも長い
 まとめ

Slide 88

Slide 88 text

10年後も変わらずデータベースは
 
 サービスの中心にある
 まとめ

Slide 89

Slide 89 text

クラウドの覇権は続くが
 
 どの巨人の肩にどのように乗るかが大事
 まとめ

Slide 90

Slide 90 text

データモデリングの基本を守ることが
 
 ビジネスの変化についていくための勘所
 まとめ

Slide 91

Slide 91 text

技術で問題を解決しよう
 
 
 まとめ

Slide 92

Slide 92 text

ご清聴ありがとうございました
 
 
 まとめ