Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

20221117_クラウドネイティブ向けYugabyteDB活用シナリオ

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 41 Anzeige
Anzeige

Weitere Verwandte Inhalte

Aktuellste (20)

Anzeige

20221117_クラウドネイティブ向けYugabyteDB活用シナリオ

  1. 1. クラウドネイティブ向け YugabyteDBの活用シナリオ db tech showcase 2022 2022/11/17 0
  2. 2. 自己紹介 山河 征紀 ウルシステムズ株式会社 コンサルタント { “分野” : ”金融系(証券・FX)”, “得技” : [“インメモリー処理”, “分散処理”], “その他” : ”Apache Geodeコミッター” } 1
  3. 3. 本日お伝えしたいテーマ 2 分散SQLデータベース YugabyteDBのすばらしさと その活用シナリオ
  4. 4. 1. 分散SQLデータベースとは 3
  5. 5. 分散SQLデータベース? 4 分散SQL データベース? NewSQL?
  6. 6. 分散SQLデータベースとは 5 データは行と列を 持つテーブルで表現 SQL準拠 ACID準拠 トランザクション 自動 シャーディング 同期 レプリケーション データ管理は KVS
  7. 7. と、言われても分かりませんよね… 6
  8. 8. ノード#1 ノード#2 ノード#3 分散SQLデータベースイメージ 7 update 注文テーブル set 注文A where XXX update 注文テーブル set 注文B where XXX 注文テーブル 注文テーブル 注文テーブル 注文A 注文B 注文A backup 注文C 注文B backup 注文C backup レプリケー ション レプリケー ション SQL テーブル データの操作 はSQL準拠 データが複数ノードに分散 していてもACID準拠のト ランザクションが出来る 自動シャーディング 同期レプリケーション
  9. 9. RDBやNoSQLとの違い 8 伝統的な RDB NoSQL 分散SQL データベース テーブル型データ構造 ○ × ○ SQL準拠 ○ × ○ ACID準拠トランザクション ○ × ○ シャーディング × ○ ○ 同期レプリケーション × △ ○ 拡張性 × ○ ○ 可用性 × ○ ○
  10. 10. 改めて、分散SQLデータベースとは 9 ◼データベースの持つ特性とNoSQLの持つ特性をあわせもつ 新しいデータベース データベース NoSQL SQL ACIDトランザクション スケーラビリティー 高可用性 大量データ処理 スケーラブルで可用性の高い「データベース」ともいえるし SQLが使用できてトランザクション処理のできる「NoSQL」ともいえる NewSQL 分散SQLデータベース トレードオフを排除
  11. 11. 分散SQLデータベースアーキテクチャー 10 ◼分散SQLデータベースはコンピュートレイヤーにクエリー エンジンを、ストレージレイヤーに分散KVSを使用 クエリーエンジン#1 分散KVS#1 クエリーエンジン#2 分散KVS#2 クエリーエンジン#3 分散KVS#3 コンピュート レイヤー ストレージ レイヤー 実行環境
  12. 12. YugabyteDBの特徴 11 1. NoSQLのように大幅なアプリの変更は不要 ⚫ 馴染みのあるSQLが利用可能 ⚫ 分散トランザクション ⚫ 自動シャーディング 2. PostgreSQLとの高い互換性 3. DocDBによる強い一貫性 4. Cassandra/Redis互換API
  13. 13. YugabyteDBラインナップ 12 ◼YugabyteDBは3つのラインナップを提供 # 製品名 概要 無償/有償 1 YugabyteDB • OSSで提供されるYugabyteDBのCore • コミュニティサポート 無償 2 YugabyteDB Anywhere • OSS版に対してインフラ・運用関連部分を拡張したもの ➢ 自動化されたインフラ運用環境 ➢ 自動化されたデータベース Day 2 運用 • Yugabyte社による24/7サポート • Advanced Technology Service • vCPUコアベースの年間サブスクリプション 有償 3 YugabyteDB Managed • Yugabyte Anywhereのフルマネージドサービス • 統合管理コンソールの提供 • Yugabyte社による24/7サポート • 使用量課金 有償
  14. 14. 2. YugabyteDB活用シナリオ 13
  15. 15. 分散SQLデータベースの活用シーン 分散SQL データベース ビッグデータ向け データベース クライドネイティブ向け データベース
  16. 16. YugabyteDB活用シナリオ 15 モダナイズ NoSQL リプレース
  17. 17. 2. YugabyteDB活用シナリオ モダナイズ 16
  18. 18. いまいまアプリケーションを作るならどう作りますか? 17
  19. 19. アジリティ 拡張性 可用性 運用性 モダナイゼーションで達成したいこと 18 手段 としての 爆速で開発 スモールスタート 高頻度リリース ビジネスの状況に応じた システムの伸縮 可用性は高く コストは適切に 特定のクラウド に依存しない BCPも考慮 マイクロサービス アーキテクチャー Kubernetes アジャイル開発 DevOps
  20. 20. アプリケーションレイヤーへの適用 19 ◼マイクロサービスやKubernetes等を活用することで アプリケーションはビジネス上のメリットを享受 爆速開発 ○ スモールスタート ○ 高頻度リリース ○ ビジネスの状況に応じたシステムの伸縮 ○ 高可用性 ○ コスト最適化 ○ 特定のクラウドに依存しない ○ BCP ○
  21. 21. この時データベースは…? 20
  22. 22. マイクロサービスアーキテクチャーの課題 21 ◼データベースがアプリケーションに追従出来ない APP#1 APP#2 APP#3 RDB APP#1 APP#2 APP#3 RDB APP#4 アプリケーション をスケールアウト RDBはアプリケーションのように 容易に増やすことが出来ない クラウドネイティブではない
  23. 23. DBがAPPに追従できていない 22 ◼DBがネックで真のクラウドネイティブを実現できていない アプリケー ション IaaS上/VM上に DB構築 DBマネージド サービス 爆速開発 ○ × 構築に時間がかかる ○ スモールスタート ○ × △ 高頻度リリース ○ × △ ビジネスの状況に応じたシステムの伸縮 ○ × △ 高可用性 ○ × △ コスト最適化 ○ × △ 特定のクラウドに依存しない ○ ○ × BCP ○ × ×
  24. 24. クラウドネイティブ時代に求められるDBへの要求 23 ◼Database on k8s ◼Database per Service ◼Scalability ◼High Availability Service#1 DataStore#1 MicorService#1 Service#2 DataStore#2 MicorService#2 Service#3 DataStore#3 MicorService#3 Apps Apps Apps Service#1-1 DataStore#1-1 Service#1-n DataStore#1-n Database Database Database Database Database Database Service
  25. 25. 分散SQLデータベース/NewSQLの登場 24
  26. 26. YugabyteDBなら全ての要求を満たす! 25 ◼加えて多数のDBインスタンスを立てる必要もなく、気軽に クイックにDBコンテナーを立ち上げることが出来る アプリケー ション IaaS上/VM上に DB構築 DBマネージド サービス YugabyteDB 爆速開発 ○ × 構築に時間がかかる ○ ○ スモールスタート ○ × △ ○ 高頻度リリース ○ × △ ○ ビジネスの状況に応じたシステムの伸縮 ○ × △ ○ 高可用性 ○ × △ ○ コスト最適化 ○ × △ ○ 特定のクラウドに依存しない ○ ○ × ○ BCP ○ × × ○
  27. 27. モダナイズにおけるYugabyteDBのメリット 26 開発~リリース、運用までのアプリケー ションの一連のライフサイクルでの効果 選べる可用性 移行を容易にするツール ① ② ③
  28. 28. アプリケーションのライフサイクル 27 ◼アプリは1回開発して終わりではなくリリース後も保守・運 用、最適化、次の変更の計画が繰り返される
  29. 29. アプリケーションのライフサイクル 28 ◼アプリは1回開発して終わりではなくリリース後も保守・運 用、最適化、次の変更の計画が繰り返される 特にここの期間が長いため、人手を介さずに 自動で出来ることが非常に重要 従来のDBでは難しかった
  30. 30. 選べる可用性 29 ◼RDBもマルチリージョン、マルチクラウドも視野に入れた 可用性レベルの検討が必要 ⚫ マルチAZは当たり前 ⚫ 最近はクラウドの障害も目立ち信用が落ちている 当たり前レベル 検討レベル 検討レベル
  31. 31. Voyagerによる容易なマイグレーション 30 ◼既存のシステムを移行する場合は、次の5ステップを実行す ることでスキーマとデータを移行出来る PostgreSQL MySQL Oracle YugabyteDB スキーマ データ ①export schema ②analyze schema ③export data ⑤import data ④import schema
  32. 32. 補足:YugabyteDBの性能 31 ◼YugabyteDBはレイテンシーは劣化するが、期待する性能 に応じてノードを増減することでリニアにスケールする https://vimeo.com/showcase/9411553/video/693513387
  33. 33. 2. YugabyteDB活用シナリオ NoSQLリプレース 32
  34. 34. ビッグデータ 33 工場・設備の センサーデータ 物流トレース データ CVデータ PHR GPS スマートフォン ICカード利用 SNS Web購入 ペイメント ログ
  35. 35. ビッグデータソリューション 34 ◼NoSQLはビッグデータソリューションの1つ データ NoSQL データベースの要件 • 書き込みスループットが優れている • 書き込み先が冗長化されている (常に利用可能)
  36. 36. NoSQLの悩みの種 35 検索がし辛い 結果整合性
  37. 37. YugabyteDBなら解決できる! 36 ◼RDBとNoSQLの特性をあわせもつ分散SQLデータベースな らトレードオフを受け入れる必要がない 伝統的な RDB NoSQL YugabyteDB 書き込みスループット × ○ ○ 書き込み先の冗長化 × ○ ○ データの検索性 ○ × ○ データの一貫性 ○ × ○
  38. 38. 補足:YugabyteDB利用アンチパターン 37 ◼キャッシュではない ⚫ Redisを使いましょう ◼非構造データの管理/スキーマレス ⚫ MongoDBを使いましょう ◼DWHではない ⚫ RedshiftやBigQueryを使いましょう
  39. 39. 3. まとめ 38
  40. 40. まとめ 39 分散SQLデータベースはRDBとNoSQLの特性をあわせも つ新しいデータベース YugabyteDBを利用してDBモダナイゼーションを実現す ることで真のクラウドネイティブを実現 NoSQLが出来ることはYugabyteDBにも出来る そのためNoSQLを今から使う必要もない
  41. 41. 40 お問合せ先 mailto: info@ulsystems.co.jp http://www.ulsystems.co.jp

×