Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Database for MySQL/PostgreSQL, Azure Cosmos DB)

892 views

Published on

[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Database for MySQL/PostgreSQL, Azure Cosmos DB)

https://satonaoki.wordpress.com/2017/09/07/dbts2017-azure-oss-db/

db tech showcase Tokyo 2017 (2017/09-05-07)

http://www.db-tech-showcase.com/dbts/tokyo

AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう

Microsoftのパブリック クラウド サービス「Microsoft Azure」では、Microsoft SQL ServerのテクノロジをベースにしたPaaSサービスだけではなく、オープンソースのデータベース/データ処理基盤をベースにした幅広いPaaSサービスも提供しています。
本セッションでは、MySQL、PostgreSQL、Redis、MongoDB、Hadoop、Spark、Storm、Kafkaなどのオープンソース実装をサポートした、AzureのPaaSサービスを取り上げ、それらの技術的な特徴や利点、活用事例などをご紹介します。

Published in: Software
  • Be the first to comment

[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Database for MySQL/PostgreSQL, Azure Cosmos DB)

  1. 1. “Empower every person and every organization on the planet to achieve more” 地球上のすべての個人とすべての組織が より多くのことを達成できるようにする いま Microsoft が 考えていること 目指していること
  2. 2. Microsoft Azure
  3. 3. コア インフラストラクチャ コンピューティング ストレージ ネットワーク セキュリティ 高度なワークロード Web + モバイル IoT (Internet of Things) マイクロサービス サーバーレス アイデンティティ管理 データ + 分析 Cognitive Services HPC ツール Visual Studio + Visual Studio Code + Visual Studio Team Services
  4. 4. 42regions around the world https://azure.microsoft.com/regions/  100 か所以上のデータセンター  ネットワーク網が全世界でトップ 3 の 1 つ  AWS の 2 倍、Google の 6 倍のリージョン  米国国防総省 (US DoD) も採用
  5. 5. https://azure.microsoft.com/ja-jp/support/trust-center/ HIPAA / HITECH Act Moderate JAB P-ATO FIPS 140-2 FERPA DoD DISA SRG Level 2 ITAR CJIS GxP 21 CFR Part 11 IRS 1075Section 508 VPAT ISO 27001 SOC 1 Type 2 ISO 27018 CSA STAR Self-Assessment Singapore MTCS UK G-Cloud Australia IRAP/CCSL FISC Japan China DJCP New Zealand GCIO China GB 18030 EU Model Clauses ENISA IAF Argentina PDPA Japan CS Mark Gold SP 800-171 China TRUCS Spain ENS PCI DSS Level 1 CDSA Shared Assessments MPAA Japan My Number Act FACT UK High JAB P-ATO GLBA DoD DISA SRG Level 4 MARS-E FFIEC ISO 27017 SOC 2 Type 2 SOC 3 India MeitY Canada Privacy Laws Privacy Shield ISO 22301 Germany IT Grundschutz workbook Spain DPA CSA STAR Certification CSA STAR Attestation HITRUST IG Toolkit UK GLOBALUSGOVINDUSTRYREGIONAL
  6. 6.
  7. 7. Microsoft と OSS 実は GitHub で OSS に開発貢献 した企業 No.1 https://octoverse.github.com/
  8. 8. Red Hat partnership announcement and BYOS launch OMS Log Analytics – Linux (Preview) Container Service Preview Azure/MCSA Certification with LF Red Hat PAYG Launch VM Depot Shutdown Phase 1 SQL Server on Linux announcement Service Fabric on Linux announcement New Java Dev Center in ACOM Azure Batch – Linux CentOS - Fairfax Container Service GA PCF in Azure (POC) Elasticsearch in Azure Parse Server PHP7 Support Terraform/Packer ARM Support Service Broker for PCF More SQL Server on Linux announcements .NET Core RTM Docker Datacenter in Marketplace FreeBSD & CoreOS in China RHEL BYOS in Fairfax MySQL in-app OMS Log Analytics – Linux (GA) OMS – Docker (Preview) PowerShell open source – Linux support App Service on Linux Azure CLI 2.0 RHEL PAYG in Fairfax, BYOS in Black Forest RHEL support for SAP workloads VM Depot EOL Phase II PCF GA (incl. Ops Mgr) Azure Container Service support for DevOps use cases Container Service announcements (ACS/K8S, ACS engine) RHEL PAYG in Germany Azure VM Agents Jenkins Plugin Azure Cloud Driver for Spinnaker and QuickStart Azure DevOps Integrations portal RHEL PAYG in China Feb 16 Red Hat Enterprise Linux available in Azure Marketplace Dec 15 Launched joint certification with the Linux Foundation Aug 16 Announced PowerShell for Linux Apr 16 Launched ARM support for Packer & Terraform Jun 16 Microsoft is the first cloud provider in China to support CoreOS Nov 16 Added Kubernetes support to ACS, open sourced ACS Engine Dec 16 Joined Linux Foundation as a platinum sponsor & board member Microsoft と OSS : これまでの歩み
  9. 9. Applications Clients Infrastructure Management Databases & Middleware App Frameworks & Tools DevOps PaaS & DevOps Microsoft Azure と OSS OSS を今すぐデプロイできる Marketplace
  10. 10. “Big” Data  “Massive” Data
  11. 11. “Big” Data  “Massive” Data
  12. 12. Apps + insightsWWW & Social LOB Graph IoT Image CRM Cloud On-premises Edge マイクロソフトの Data + AI Platform
  13. 13. Azure Machine Learning CPUs AI Applications (1st & 3rd party) Cognitive Services Experimentation Management, Data Prep, & Collab Spark AI Batch Training Storage COSMOS DB ADLSSQL DB/DWBLOB GPUs FPGA IOT DS VM Model Deployment & Management Cloud – Spark, SQL, Other Engines Edge ML Server – Spark, SQL, VMs Docker SQL Server Hyperscale, Enterprise Grade Infrastructure Developer Tools & Services Open platform for data science Bot Framework Machine Learning Toolkits CNTK Tensorflow ML Server Scikit-Learn Other Libs. PROSE ACS マイクロソフトの Data + AI Platform (全体像)
  14. 14. Build rapidly and connect to the platformLeverage cloud infrastructure Stakeholders DBAs and data scientists Microsoft Azure Relational Collective set of multiple data sets organized by tables, records and columns NoSQL & Cache Non-relational DBs where data is modelled in means other than the tabular relations used in relational databases Big Data Accept data at a very high velocity, and store structured and unstructured data in an efficient and scalable way across nodes Functions Operations Developers Business Cloud-born LOBDev/Test, Production and Lift & Shift Docker, incl. via DC/OS Azure Open Source Data Platform Relational Azure SQL Database including revamped client driver support for PHP, Node.js, Java, Linux ODBC and more NoSQL & Cache Azure Cosmos DB, including native MongoDB wire protocol support, and Redis Cache Big Data Azure HDInsight – full Hadoop solution available as a service on Windows and Linux MySQL PostgreSQL DB 担当の方だけでなく、アプリ開発者の方のニーズや、プロジェクトの様々な要件にもマッチ
  15. 15. DB-Engines. “DB-Engines Ranking”. solid IT Gmbh, 2017. Accessed 10 May 2017 at <http://db-engines.com/en/ranking-trend> Kerschberg, Ben. “How Postgres and Open Source are Disrupting the Market for Database Management Systems”. Forbes. 8 Mar 2016 商用データベースおよび OSS Database の利用動向 70% 2018年までに作成されるアプリ のバックエンドのうち 実に 70% が OSS Database で 構成されると見込まれている
  16. 16. Azure Database for PostgreSQL Azure Database for MySQL (Preview) • IaaS ではなく、PaaS • インスタンス チューニングではなく 必要なスループット プランを必要なときに選択 • バックアップ、リストア、パッチ適用などの作業はおまかせで • SaaS アプリケーションに最適のフルマネージド サービス • 高可用性と高セキュリティを両立 • ダウンタイム無しでスケールアップ、スケールダウンも自在 • 既存のドライバ、ライブラリ、ツールと完全互換 使い慣れたツール、アプリケーションでからすぐに利用可能 MySQL PostgreSQL New!
  17. 17.      • • https://customers.microsoft.com/en-us/story/geekwire
  18. 18. Azure Azure Database for PostgreSQL および Azure Database for MySQL 共通 • 論理 DB : “インスタンス” ではない • 1 対多のデータベースを作成可能 • リソースはすべて同じ論理サーバ内の DB 間で共有 • Database の “エンドポイント” • フェイルオーバーは自動 • 接続制御はファイアウォールの ルールベースで実施 必要なスループット プランの選択だけで OK
  19. 19. • 数分間で簡単にプロビジョニング可能 • 標準で冗長化され、自動フェイルオーバーを実装 • 複数リージョンをまたがったレプリケーションが可能(※) • ユーザーによるストレージ管理不要の自動バックアップ(35日間) • アプリケーションのダウンタイム無しでスケーリングが可能 • 休止中でも動作中でもデータを保護する高度なセキュリティ • マイクロソフト製のツールや開発言語、ドライバなどは不要 • 使い慣れたツールと言語で利用可能 (※) https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-geo-replication-overview
  20. 20. • パッチ適用はデータセンター側で実施 • メトリックの履歴は 30 日分保持 • メトリックアラートルール作成も ポータル上から可能 • サーバログは 7 日分保持 • データベースエンジンのパラメータの カスタマイズ可能
  21. 21. 利用者は自分自身の提供するサービスに専念可能 PaaS IaaS Database / Data MySQL Postgre SQL Azure SQL DB OS/Middleware Database / Data MySQL Postgre SQL SQL Server 利用者が対応 データセンター対応
  22. 22. 利用者は自分自身の提供するサービスに専念可能 PaaS IaaS Database / Data MySQL Postgre SQL Azure SQL DB OS/Middleware Database / Data MySQL Postgre SQL SQL Server 利用者が対応 データセンター対応 Azure Database for MySQL / Azure Database for PostgreSQL はこちら
  23. 23. https://docs.microsoft.com/ja-jp/azure/best-practices-availability-paired-regions ペア リージョン 各 Azure リージョンは、同じ geo 内の別のリージョンと組み合わせて、リージョン ペアにして使用 ※ ブラジル南部 : 例外で geo の外部のリージョンとペアになる ペアになっているリージョン 北米 米国中北部 米国中南部 北米 米国東部 米国西部 北米 米国東部 2 米国中部 北米 米国西部 2 米国中西部 ヨーロッパ 北ヨーロッパ 西ヨーロッパ アジア 東南アジア 東アジア 中国 中国東部 中国北部 日本 東日本 西日本 ブラジル ブラジル南部 (1) 米国中南部 オーストラリア オーストラリア東部 オーストラリア南東 部 米国政府 米国政府アイオワ州 米国政府バージニア 州 インド インド中部 インド南部 カナダ カナダ中部 カナダ東部 英国 英国西部 英国南部 例) 計画的な Azure システムの 更新プログラムは、ペア リージョンに (同時にではなく) 順番にデプロイされる もしパッチに不具合が あっても影響を受けにくい 復旧もペアのうちどちらか がかならず優先される
  24. 24. 使い慣れた好きな言語、フレームワーク、ツールを用いて利用可能 学習コスト不要 Languages and frameworks Database Azure Web Apps
  25. 25. Azure リージョン Azure Resource Manager Application Postgres Client Database Tools (Pgadmin, psql) Postgres Client Database Tools (MySQL Workbench, mysql Client) MySQL Client Azure Database Mgmt Service Application MySQL Client REST API Azure Portal Custom Mgt. ApplicationsAzure CLI
  26. 26. Azure リージョン Database Server サーバーマネジメント Azure Database Mgmt Service Azure Resource Manager REST API Azure Portal Custom Mgt. ApplicationsAzure CLI server=myserver.<mysql/postgres>.database.azur e.com pg1 PG1 IP1:5432 or 3306 retry Gateway • いったん接続が切れても内部ゲートウェイでリトライして くれるのでアプリケーションは切断の影響を受けにくい • さらに慎重を期すならば、長時間トランザクションを 避ける実装にすることがおすすめ (トランザクションは接続オブジェクトに紐づくため)
  27. 27. • Azure SQL Database と共通基盤 • これまでの運用実績、ノウハウをフィードバック「枯れた」基盤で運用 • Virtual Machine 上ではなく、”Service Fabric” 上に実装 https://azure.microsoft.com/ja-jp/services/service-fabric/ PostgreSQL (preview) MySQL (preview) PowerBI,AppServices,DataFactory,Analytics,ML, Cognitive,Bot… Global Azure with 40 Regions Compute & Service Fabric SQL DW Storage SQL Database Flexible: On-demand scaling, Resource governance Trusted: HA/DR, Backup/Restore, Security, Audit, Isolation Intelligent: Advisors, Tuning, Monitoring Azure Managed Database Service
  28. 28. • マイクロサービス的な実装 • Azure SQL Database の基盤 • Service Fabric による展開とリソースガバナンス • 動的なリソース変更と再構成が可能 • それに基づいた高い SLA の設定 (99.99%)
  29. 29. • マイクロサービス フレームワーク • アプリのデプロイ • ローリング アップデート/ロールバック • バージョニング • サービス ディスカバリー • データ レプリカ … Azure SQL Database (SQL Server の PaaS 版) や 多くのサービスが Service Fabric 上に構成されている https://azure.microsoft.com/ja-jp/services/service-fabric/ DC(ゾーン) A DC(ゾーン) B 何らかの手法で データ転送 フェイルオーバーはDNS • 物理ラック • 物理マシン • 物理ネットワーク • 仮想ネットワーク • 仮想マシン … これらの上にアプリを展開 • DCやゾーン複数にVMをデプロイ • SLAはIaaSと同じ99.95% (4.3時間/年)
  30. 30. ノード ノード ノードノード ノード ノード
  31. 31. アプリケーション: sfMySQL ゲスト実行のMySQL (ステートレス) 実行状況管理エージェント バックアップ マネージャ ストレージ マネージャ その他いろいろ
  32. 32. 各々の MySQL/PostgreSQL の インスタンス
  33. 33. • 今年1月にあった性能改善 • Azure SQL Database のサーバ性能Up(自動) • インフラ環境改善 -> リソース制限解放 という流れについてユーザが特に意識せずに 恩恵を受けられた https://azure.microsoft.com/ja-jp/blog/azure-sql-database-is-increasing-the-read-and-write-performance/ とにかくユーザーの管理の手間がはぶけること!
  34. 34. 99.99% SLA (GA 時) | フルマネージド |組み込みフェイルオーバー| オンラインでパフォーマンス変更可能 ユースケースシナリオ • IOPS が変動してもよい • 低めのワークロード • 必要なスループットが Max 100 コンピューティングユニットでよい プロビジョニングされた IOPS で 全体のスループットを重視し、IO と CPU バランスが最適化された オンデマンドスケーリングを必要とする アプリケーション向け コンピューティング ユニット 50, 100 100, 200, 400, 800 (近日1600、2000提供予定) Storage 50GB → 1TB 磁気媒体 125GB → 1TB (*) リモート SSD (* GA 後 Larger Storage Option が 選択可能になる予定) IOPS 可変 最初の 125 GB は 375 以降 1 GB ごとに 3 IOPS 増加 サポートされている バージョン Native PostgreSQL 9.5 and 9.6 管理レイヤー Azure Portal, Azure CLI, APIs https://azure.microsoft.com/ja-jp/pricing/details/postgresql/ ※ これらは Public Preview 版の情報であり、今後変更になる可能性があります
  35. 35. 99.99% SLA (GA 時) | フルマネージド |組み込みフェイルオーバー| オンラインでパフォーマンス変更可能 ユースケースシナリオ • IOPS が変動してもよい • 低めのワークロード • 必要なスループットが Max 100 コンピューティングユニットでよい プロビジョニングされた IOPS で 全体のスループットを重視し、IO と CPU バランスが最適化された オンデマンドスケーリングを必要とする アプリケーション向け コンピューティング ユニット 50, 100 100, 200, 400, 800 (近日1600、2000提供予定) Storage 50GB → 1TB 磁気媒体 125GB → 1TB (*) リモート SSD (* GA 後 Larger Storage Option が 選択可能になる予定) IOPS 可変 最初の 125 GB は 375 以降 1 GB ごとに 3 IOPS 増加 サポートされている バージョン Community Version MySQL 5.6 / 5.7 管理レイヤー Azure Portal, Azure CLI, APIs https://azure.microsoft.com/ja-jp/pricing/details/mysql/ ※ これらは Public Preview 版の情報であり、今後変更になる可能性があります
  36. 36. 運用負荷軽減 高可用性 セキュリティ 利便性 • 既存の実績ある基盤上で動作 • OS、ミドルウェアの面倒は不要 ✓ パッチ適用、バックアップ、 リストアなども不要 • 監視メトリック用意済み ✓ メール通知なども設定 OK • 可用性担保のためのレプリカ、 ストレージ費用は追加不要 • ダウンタイム無しでスケール アップ、スケールダウン自在 • 標準冗長化。 自動フェイルオーバーを実装 • 基盤となる Azure の高度な セキュリティ • 常時暗号化でバックアップも 運用 DB も保護 • 既定で設定されたホワイト リスト形式のファイアウォール • 既定で SSL を要求 • 使い慣れた既存のツール、 言語で利用可能 • マイクロソフト製のツールや ドライバなどは不要
  37. 37. MySQL PostgreSQL
  38. 38. PostgreSQL : Azure Database for MySQL – Can’t restore database with error “Got error 1 from storage engine” https://blogs.msdn.microsoft.com/azuresqldbsupport/2017/06/08/azure-database-for-mysql-cant-restore-database-with-error-got-error-1-from-storage-engine/ Do you have an idea or suggestion based on your experience with Azure Database for MySQL? https://feedback.azure.com/forums/597982-azure-database-for-mysql/suggestions/19271050-add-myisam-engine-support PostgreSQL
  39. 39. Azure Database for MySQL – Can’t restore database with error “Got error 1 from storage engine” https://blogs.msdn.microsoft.com/azuresqldbsupport/2017/06/08/azure-database-for-mysql-cant-restore-database-with-error-got-error-1-from-storage-engine/ Do you have an idea or suggestion based on your experience with Azure Database for MySQL? https://feedback.azure.com/forums/597982-azure-database-for-mysql/suggestions/19271050-add-myisam-engine-support MySQL
  40. 40. MySQL PostgreSQL
  41. 41. MySQL PostgreSQL
  42. 42. データ保護 • 標準でデータベースと バックアップ データを 暗号化 あなたのデータを守る充実の Security 関連機能 アクセス管理 • SSL 接続 • サーバー ファイアウォール ID 管理 • PostgreSQL / MySQL ネイティブ認証
  43. 43. MySQL PostgreSQL • MySQL Workbench や pgAdminなど 既存のツールを使用して、Azureに 移行可能 • Azure Data Factory でデータを移す ことも可能
  44. 44. Azure Database for MySQL https://feedback.azure.com/forums/597982-azure-database-for-mysql Azure Database for PostgreSQL https://feedback.azure.com/forums/597976-azure-database-for- postgresql • 直接研究開発チームに要望を上げることが可能なフォーラム • すでに上がっている要望に対し投票することも可能 実際に実装 されることも 少なくない
  45. 45. Azure Database for PostgreSQL Azure Database for MySQL Azure Database for PostgreSQL Azure Database for MySQL MSDN StackOverflow MSDN StackOverflow User Voice User Voice https://github.com/Azure/azure-postgresql https://github.com/Azure/azure-mysql  Twitter: @AzureDBPostgres, @AzureDBMySQL
  46. 46. Azure Cosmos DBMicrosoft のグローバル分散データベース サービス
  47. 47. 2006 BigTable 論文 2007 Dynamo 論文 2008 Cassandra 2009 MongoDB Riak Neo4j 2010 Project Florence 2012 Amazon DynamoDB 2014 Azure DocumentDB プレビュー 2015 Azure DocumentDB GA 2017 Azure Cosmos DB GA
  48. 48. ターン キー 形式の グローバル分散 すべてのデータを自動的に 世界中の Azure リージョンにレプリケート
  49. 49. データベース エンジン コンテナー レプリカマシン … … … クラスター 惑星 スタンプ データ センター Azure リージョン 障害 ドメイン … … Various agents Resource Governor Transport Admission control Database engine Resource Manager Language Runtime(s) Hosts Query Processor Index Manager Log Manager IO Manager RSM Bw-tree++/ LLAMA++
  50. 50. • • • • • ターン キー方式の グローバル分散
  51. 51. ストレージとスループットを 水平スケール アウトし あらゆるニーズに対応 数百万トラン ザクション/秒 PB 級のデータ 数百トラン ザクション/秒 GB 級のデータ Cosmos DB
  52. 52. Read < 2 ms Writes < 6 ms Read < 10 ms Writes < 15 ms 99%50%
  53. 53. • • •
  54. 54. https://docs.microsoft.com/azure/architecture/ reference-architectures/managed-web-app/ multi-region-web-app
  55. 55. ドキュメント キー/バリュー グラフ SQL (DocumentDB) MongoDB Azure Table Storage Gremlin グラフ
  56. 56. マルチ API マルチ モデル インデックス 自動作成 スキーマ 中立
  57. 57. SELECT f.id, f.address.city FROM Families f ORDER BY f.address.city
  58. 58. デモ: Azure Cosmos DB MongoDB API
  59. 59. Azure Cosmos DB: Graph API
  60. 60. グローバル分散、伸縮性のある スケーラビリティ、低レイテンシ、 自動インデックス作成サービス 独立してスケール可能な グラフ エンジン (Tinkerpop フレームワークを使用) Gremlin、SQL クエリ言語
  61. 61. Azure Cosmos DB: Table API Azure Storage: Standard Table API Azure Storage SDK 100% 後方互換、シームレスなエクスプレス
  62. 62. Azure Storage SDK Azure Cosmos DB: Table API 近日対応予定: Standard Table のアップデート (ストレージ最適化)、シームレスな移行
  63. 63. 01 Strong Bounded Staleness Session Consistent Prefix Eventual アプリ パフォーマンス 高可用性
  64. 64. Navigating CAP theorem Consistent data worldwide
  65. 65. Strong Bounded-stateless Session Consistent prefix Eventual
  66. 66. 99パーセン タイルの レイテンシ SLA スループット SLA 整合性 SLA 可用性 SLA 2 4 3 1 業界最高の包括的な 99.99% SLA
  67. 67. 高可用性 レイテンシ スループット データ整合性 4 つの側面の包括的な SLA を備えた唯一のデータベース Microsoft Azure
  68. 68. グローバル分散 マルチ モデル/API ミリ秒 レイテンシの保証 伸縮性のある スケールアウト 明確に定義された 整合性 包括的な SLA Azure Cosmos DB
  69. 69. トヨタ 多様で予測不可能な IoT センサーの ワークロード 応答性の高いデータ プラット フォームが必要 • 自動車のリアルタイム診断 • 伸縮性のあるスケーリング • 送信、クエリのパフォーマンス IoT
  70. 70. グローバル 分散 伸縮性のある スケール アウト 保証された 低レイテンシ 包括的な SLA Azure Cosmos DB キー/バリュー カラム ファミリー グラフドキュメント グローバル分散、マルチ モデルの データベース サービス さらに 追加予定… SQL 5 つの 整合性モデル
  71. 71. マイクロソフトのデータプラットフォーム 環境に依存しない、同一の開発・利用環境をオンプレミス・クラウドで提供 クラウド オンプレミス 環境 ハイブリッド SQL Server {} R Python C/C++ C#/VB.NET PHP Node.js Ruby

×