Azure の基礎 その4 データベースサービス

  • AzureDataBase
  • CosmosDB
  • Azure の基礎 その3の続きです。

    今回はラーニングパスの「Azure のデータベースおよび分析サービスについて調べる」を実施しましたので、その概要を書いていきます。

    Azure SQL Database

    これが俺の最強のデータベース by Microsoft

    こんな特徴があるようです。

    • PaaS
    • 可用性99.99%
    • バックアップ、その他の一般的なメンテナンス操作が組み込まれた完全なマネージド サービス
    • SQL とオペレーティングシステムのコードの更新はすべて、Microsoft で処理
    • グラフ、JSON、空間、XML などのリレーショナル データと非リレーショナル構造の両方を処理
    • 高パフォーマンスのメモリ内テクノロジ
    • インテリジェントなクエリ処理
    • SQL Server の最新機能のリリースは SQL Database から始まる

    この DB は最強か! という内容ですね。

    これが本当なら、Azure 上のデータベースは最初に Azure SQL Database を検討した方が良さそうです。

    演習 - SQL データベースを作成する

    ラーニングパスの中で、強引に Azure SQL Database を作らされます。

    言われるがまま、つまずくことなく、手順通りに進めることができました。

    普段、仕事で手順書を作って作業をしたりしていますが、その通りできる手順書を作るのは簡単ではないです。

    無料枠でリソースを作成できるように専用のサンドボックスが用意されているのも良いですね。

    SQLserver なのにデプロイ早っ!

    普段、AWS で RDS SQLServer を作成すると、だいたい15分〜20分ほど掛かります。

    それが、Azure SQL Database はものの 2、3分で作成することができました。これにはちょっと感動しました。

    検証などでデータベースを構築する場合、3分で立ち上がってくれるのは非常に助かります。Azure SQL Database はワンチャンあると思います。

    Azure SQL Managed Instance

    スケーラブルな Azure SQL Database です。

    Azure SQL Database と Azure SQL Managed Instance の相違点の詳細については、「機能の比較: Azure SQL Database と Azure SQL Managed Instance 」を参照してください。

    Azure Database for MySQL

    こんな特徴があるようです。

    • 追加コストなしの組み込みの高可用性
    • 予測可能なパフォーマンスと包括的で従量課金制の料金
    • 必要に応じて数秒以内でスケーリング
    • 保存中や移動中の機密データを保護する機能
    • 自動バックアップ
    • エンタープライズグレードのセキュリティとコンプライアンス

    フレキシブルサーバー

    Azure Database for MySQL には、シングルサーバーとフレキシブルサーバー(2020年12月時点ではプレビュー)というものがあります。

    このフレキシブルサーバーは2つのゾーンに跨る冗長化が可能であり、オートスケール、10個のリードレプリカ、といった機能を持ちます。

    これは、AWS の Aurora MySQL に匹敵する性能を有しているように思います。ついに、Azure もここまできたか。。。

    Azure Database for PostgreSQL

    Azure Database for PostgreSQL には、次の 2 つのデプロイ オプションがあります。シングルサーバーとハイパースケール (Citus)です。

    シングルサーバー

    こんな特徴があります。

    • 99.99% の SLA
    • 必要に応じて数秒以内で垂直スケーリング
    • 自動バックアップと最大 35 日間のポイントインタイムリストア

    ハイパースケール (Citus)

    こっちがすごい。ラーニングパスの紹介文を引用させていただきます。

    Hyperscale (Citus) オプションにより、シャーディングを使用して複数のマシン間でクエリを水平スケーリングできます。 そのクエリ エンジンにより、大規模なデータセットに対する応答を高速化するために、これらのサーバー間で受信 SQL クエリが並列処理されます。 これは、より大きなスケールとパフォーマンスを必要とするアプリケーション (通常は 100 GB のデータに近づいている、または既に超えているワークロード) に対応できます。
    Hyperscale (Citus) デプロイ オプションを使用すると、マルチテナント アプリケーション、リアルタイムの運用分析、高スループットのトランザクション ワークロードがサポートされます。 PostgreSQL 向けにビルドされたアプリケーションでは、標準の接続ライブラリと最小限の変更により、Hyperscale (Citus) に対して分散クエリを実行できます。

    Azure Cosmos DB

    グローバル分散型の NoSQL データベースです。

    スキーマレスデータや 10ms 以下の超高頻度アクセスを必要とするアプリケーションの用途に向いています。

    Analytics系

    Azure Synapse Analytics、Azure HDInsight、Azure Databricks、Azure Data Lake Analytics などがあります。

  • AzureDataBase
  • CosmosDB