SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘SQL Database’ Category

SQL Database のディスクを使用した処理の最小応答時間を取得してみる

leave a comment

de:code 2019 の  DP06 Deep-dive in Azure Cosmos DB: Advanced topics on partitioning, data distribution and indexing で実施されていた Cosmos DB のグローバル分散のデモ で面白いなと思ったものの一つとして、リージョンが違うことによるレイテンシーの違いというものがありました。

この見せ方、面白いなと思って、SQL Database でも簡単なものを試してみました。

DTU モデルの場合は公開されていないのですが、vCore モデルの場合は、デプロイ時に次のような記載があります。

image

データファイル / ログファイルのような物理ファイルにアクセスする場合の想定待機時間が記載されていますね。
詳細については、仮想コアベースの購入モデルを使用した単一データベースに対するリソース制限 でまとめられているのですが、基本的な考え方としては次のようになります。

  • リモートストレージへのアクセス
    • 書き込み時 : 5 ~ 7 ミリ秒程度の I/O 待機時間
    • 読み込み時 : 5~10 ミリ秒程度の I/O 待機時間
  • ローカルストレージへのアクセス :
    • 書き込み時 : 1~2 ミリ秒程度の I/O 待機時間
    • 読み込み時 : 1~2 ミリ秒程度の I/O 待機時間

SQL Database はサービスレベルに応じて、使用するストレージ (接続方式) が異なります。

DTU モデルの「Basic」「Standard」と、vCore モデルの「汎用目的」については、「リモートストレージ」が使用されており、データベースは Azure Premium Storage 上に格納されています。

image

DTU モデルの「Premium」と、vCore モデルの「ビジネスクリティカル」については、「ローカルストレージ」が使用されており、リモートストレージと比較して、高速にアクセスができるようになっています。

image

データベースの処理時間を考える際には、以下の 2 点を考慮する必要があるか思います。

  • アプリケーションからのアクセスを考慮した応答時間
  • データベース単体の応答時間

今回はこれらを考慮した情報の取得を行ってみたいと思います。

Read the rest of this entry »

Written by masayuki.ozawa

6月 9th, 2019 at 3:13 pm

SQL Database Hyperscale の構成や特徴を学習する

leave a comment

最終更新日 : 2019/12/20

SQL Database の Hyperscale が Build 2019 で GA され、SLA 付きで使用できるようになりました。
現在公開されている情報を見ながら学習してみました。

公式のドキュメントは次の情報となります。

より詳しい情報については、次のドキュメントから確認できます。

こちらは、私が以前登壇した際の資料となります。

これらの情報を把握することで、FAQ に記載されている内容が「なぜそうなるのか?」ということを理解することができ、構成の把握を進める上で役に立つかと思います。

Read the rest of this entry »

Written by masayuki.ozawa

6月 2nd, 2019 at 6:39 pm

Azure SQL Database serverless (プレビュー) を触ってみました

leave a comment

Build 2019 で発表された Azure SQL Database serverless を少し触ってみました。

ドキュメントはこちらから。

基本的な考え方としては AWS の Aurora サーバーレス に通じるものがあるのかと。
(Azure SQL Database serverless は、現時点では最大 4 コアのモデルまでの小さなサイズでの提供となっていますので、スケール面での考え方は異なりますが)

Read the rest of this entry »

Written by masayuki.ozawa

5月 11th, 2019 at 11:47 pm

SQL Database で一般ユーザーで個別のプランキャッシュのクリア

leave a comment

SQL Server ベースの環境で、プランキャッシュをクリアする場合、次のような構文を使用します。

SQL Database の場合は、DBCC ステートメントが使用できませんので、「ALTER DATABASE」でプランキャッシュのクリアが必要となります。

最近の更新で 「ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE」に、プランハンドルが指定できるようになりましたので、個別のプランのクリアも可能です。

ALTER DATABASE による、プランキャッシュのクリアですが、「データベースの CONTROL 権限」が必要となります。

CONTROL 権限 は、強めの権限となり、一般のユーザーに付与するには高すぎる権限です。

ALTER DATABASE CONFIGURATION だけで大丈夫でした orz
(CONTROL は上記の権限を付与するのに必要なだけでした)

プランキャッシュのクリアが必要なケースとしては

  • プランのリコンパイルが発生し、実行プランが望ましくない場合に、再コンパイル対象としたい

ケースが考えられます。

このようなケースのプランキャッシュのクリアについては、管理者権限を持っていないユーザーでも実施したいケースがあるのではないでしょうか。

本投稿では、そのようなケースが発生した場合の実現方法をまとめてみたいかと。

Read the rest of this entry »

Written by masayuki.ozawa

5月 11th, 2019 at 1:54 pm

Build 2019 であとで確認するセッションリスト

leave a comment

SQL Server / SQL Database

 

    • Build 2019 で GA / Preview が発表された Azure Data Platform の機能についてのセッション
      • スライドしか見ていないのですが、それぞれデモもあるようです。
    • Azure SQL Database Hyperscale の GA
    • Azure SQL Database Serverless の Preview 開始
    • Azure SQL Database Edge の Preview 開始
    • Azure Database for PostgreSQL Hyperscale (Citus) の Preview 開始
    • Azure Cosmos DB の Spark / Jupyter Notebook / Cosmos DB API for etcd
    • Azure Data Factory の Mapping Data Flows / Wrangling Data Flows のアナウンス

 

 

    • Build 2019 で発表された「Azure SQL Database Edge」についてセッション
    • 軽量なフットプリント / ターンキー / ML に対応したデータベースエンジンをエッジに接続または、オフラインで実行することができる
      • SQL Server / Azure SQL Database はデータセンター / クラウドで動作するミッションクリティカルなワークロードに対応した、完全な AI / ML 機能を持つ業界をリードするデータベースエンジンとしての役割
      • Azure SQL Database Edge は SQL Server のエンジンを持つため、SQL Server を様々な場所 (として、エッジ / データセンター/ クラウド) でネイティブに動作する一貫性のあるデータ / 分析エンジンとして利用できる
    • エッジでの新しい分析 / データ移動 / 管理機能を持つ
    • 複数のデバイス間にローカルのデータストレージを提供することで、既存の Azure IoT Edge サービスの補完を行う
    • Azure SQL Databas Edge の特徴
      • ARM64 / x64 で動作する 500MB 未満の軽量なフットプリント
      • 時系列処理をビルトインし、SQL と時系列データのストリーミングによる分析が可能
      • R / Python / Java / Spark による AI をビルトイン
        • ML Services + Big Data Cluster の Spark (MSSQL Spark Connector??) のイメージかも
        • AI アイコンが Spark SQL になっているのも少し気になる
      • ターンキー管理による、単一の管理プレーンによる展開と管理
      • SQL Server をベースとしているため、高いパフォーマンスとセキュリティ
    • オンプレ / クラウドの SQL Server 等との連携もできるらしい (エンジンが、SQL Server だからリンクサーバー等が貼れる??)
      • 大量のセンサーデータをエッジで前処理して、クラウドに同期 / 集計することでネットワークの帯域を最適化
      • Azure ML / Azure Analysis Services を用いたデータ活用
    • ThinkSystem S350 Edge Server のような、エッジデバイスがある

 

 

    • Big Data Cluster についてのセッション
    • Big Data Cluser を使用して ML Service を使用したデモ
      • ML for Java 経由で Luis と通信するデモ
    • DataOps
      • 堅牢性と信頼性
        • アプリケーションを簡単にスケールアウトできる
        • セルフヒーリング機能により、高可用性を実現
        • データと同じインフラストラクチャに導入することで、アプリケーションのパフォーマンスを最適化
      • 柔軟性
        • データアプリケーションと機械学習のワークロードを効率的に導入、実行、および管理
        • 組み込みの監視機能により、アプリケーションの管理が容易
      • 統合が容易
        • RESTFul Web サービスを使用して、アプリケーションを素早く統合できる
        • アプリケーションをオンデマンドまたは、スケジュールで実行することにより、信頼性が向上

 

 

 

    • Azure SQL Databas Hyperscale についてのセッション
    • Hyperscale の Primary / Readable secondary / Page server / Log service / Write IO / Read IO  Restore についての基本アーキテクチャについての説明
    • 既存の SQL Database Single DB を Hyperscale に変更することもできるが、 Hyperscale → Single Database への移行はできないので注意

 

 

Managed Instance

 

    • SQL Server 2008 / 2008 R2 のサポート終了の紹介から入る Managed Instance のセッション
    • Managed Instance の今後のロードマップについての説明あり
      • Q1
        • Australia Central 1, 2 / West India リージョンでの利用
        • Arm Template による Geo Restore
      • Q2
        • Instance Level Collation / Custom Time zone の GA
        • インターネットと Azure DNS の依存関係の削除
        • データトラフィックのパブリックエンドポイント
        • 構成可能な接続ポリシー (Proxy / Redirect)
        • ジオリストア
        • 削除した DB の PITR
        • Azure ポータルからの DB 作成
        • 4 vCore モデル / MSDN サブスクリプションでの利用可能
        • Brazil South / South Africa リージョンでの利用
    • SQL Server 環境のクラウドへの移行パターン
    • Migration の情報

 

SQL Data Warehouse

 

    • Azure Data Factory をメインにしたセッション
    • 新しく発表された、MAPPING DATAFLOW / WRANGLING DATAFLOW についても触れられている
    • ADF の今後のロードマップ
      • アクティビティの追加 (Azure Function / Email / バリデーション / Webhook / アーカイブ)
      • トリガーの追加 (スケジュールロールアップトリガー / 依存関係トリガー/連鎖トリガー)
      • チェックポイントサポートによるコピーの再実行
      • 単一の大きなテーブルに対して並列ロード
      • SSIS の利用可能リージョンと VM の選択肢の増加
      • 2019 : ストリーミングパイプライン / データカタログ統合
      • 2020 : マスターデータ管理
    • SSIS ランタイムの今後のロードマップについても触れられている

 

 

Migration

 

    • Azure のマイグレーションについてのセッション
    • Database だけでなくアプリケーションの移行についても触れられている
    • Database については、DMS と Migration Guide の紹介

 

 

    • Azure Database Migration Service についてのシアターセッション
      • DMS を使用して SQL Server から、MI にオンライン移行をするデモ
    • SQL Server から、Managed Instance に移行する場合「SSIS パッケージ移行」というプレビュー機能が追加された。

 

Data Analyze

 

 

 

Azure Data Studio

 

Written by masayuki.ozawa

5月 7th, 2019 at 10:56 pm

Build 2019 の SQL Server 関連の情報について

one comment

 

Get high-performance scaling for your Azure database workloads with Hyperscale から

Hyperscale

Azure SQL Database Hyperscale support for single databases is now available

SQL Database の Hyperscale が GA したようです。

あたらしく、PostgreSQL の Hyperscale が Preview として提供されています。
Quickstart: Create an Azure Database for PostgreSQL – Hyperscale (Citus) (preview) in the Azure portal
Citus が使用されているようですね。

SQL Database Serverless

他には、「Azure SQL Database Serverless」も発表されました。
ウォームアップによる遅延が許容されるのであれば、秒単位課金でコストを抑えることができる新しいモデルとなるようです。
オートスケーリング / オートレジュームといった、今までとは異なる概念がいくつか入っているようですね。

性能面は Serverless compute tier から確認できます。

 

Analytics in Azure remains unmatched with new innovations から

ADF

ADF に Wrangling Data Flows という、新機能が実装されるようです。

SQL Data Warehouse

SQL DW に半構造化データのサポートが行われるようで、JSON のようなデータ形式を SQL DW から直接アクセスできるようになるようです。
他にも、結果セットのキャッシュによる、同一クエリの実行結果を後続のユーザーがすぐに利用できる仕組みと、マテリアライズド・ビューによるパフォーマンス向上も実行できるようですね。

Azure updates から

Written by masayuki.ozawa

5月 7th, 2019 at 1:07 am

Build 2019 開始前に GW 中の SQL Server 関連の話題をキャッチアップしてみる

leave a comment

GW 中は de:code 2019 のセッション準備などを進めており、あまり情報のキャッチアップをできていなかったのですが、最終日ぐらいは、SQL Server / SQL Database 関連の最新情報を眺めてみようかと。

Read the rest of this entry »

Written by masayuki.ozawa

5月 6th, 2019 at 5:09 pm

Azure SQL Database Edge の情報のメモ

leave a comment

Twitter のタイムラインを見ていたところ、Azure SQL Database Edge というワードが出てきており、ニュースサイトで紹介されていました。

ブチザッキ兄さんに、公式のアナウンスを教えてもらえました。

 

Intelligent cloud and intelligent edge applications have evolved from primarily low-compute IoT devices working with the cloud to powerful compute at the edge, which requires a new modern hybrid application approach. A key aspect of enabling this is supporting the spectrum of edge compute and data needs. SQL Server and Azure SQL Database are the leading data engines for enterprise workloads on-premises and in the cloud, respectively, and today we are bringing these powerful data and analysis capabilities to the edge with Azure SQL Database Edge preview. Azure SQL Database Edge runs on ARM processors and provides capabilities like data streaming and time series data, with in-database machine learning and graph. And because Azure SQL Database Edge shares the same programming surface area with Azure SQL Database and SQL Server, you can easily take your applications to the edge without having to learn new tools and languages, allowing you to preserve consistency in application management and security control. This consistency in database programming and control plane across cloud and edge is essential to running a secure and well-managed hybrid application.

ARM プロセッサ上でも動作させられる、エッジに配置できるデータエンジンということで、次のような機能を備えているようです。

  • ARM / Intel デバイスで動作するようにチューニングされた 500MB未満の軽量な SQL Server エンジン
  • 時系列データ / データストリーミング機能を提供
    • リレーショナルデータ / 時系列データ / グラフデータを組み合わせて利用できる
  • ML / Spark によりデータベース内で機械学習を実行
    • ML Service + Big Data Cluster の Spark 部分のようなイメージでしょうか?
  • グラフデータ
    • SQL Server のグラフテーブルの機能でしょうか?
  • 単一の管理プレーンよる展開と更新
    • Azure IoT のような感じで管理することができる

Get to know Azure SQL Database Edge で概要の PDF が公開されています。

Build 2019 で Simplify Edge Architecture with Azure SQL Database Edge というセッションがあるので詳細はここで出てきそうですね。

Read the rest of this entry »

Written by masayuki.ozawa

5月 3rd, 2019 at 8:10 pm

Managed Instance でパブリックエンドポイントがサポートされました

leave a comment

Managed Instance (MI) は VNET 内にデプロイを行う、PaaS の SQL Server であり、利用するためには VNET が必須となっています。

当初は、VNET にアクセスできる環境のみが MI に接続することができていたのですが、今回パブリックエンドポイントの機能が追加されました。

これにより、MI をデプロイした VNET に接続を行っていない環境からもアクセスが可能となります。

Read the rest of this entry »

Written by masayuki.ozawa

4月 14th, 2019 at 6:32 pm

Managed Instance でタイムゾーンの設定が追加されたようです

leave a comment

2019/5/23 追記

GA しました!!

General Availability: Time zone choice for Azure SQL Database Managed Instance

Managed Instance (MI) の今後の機能改善として、タイムゾーンの設定変更がフィードバックとして挙がっていました。

本日、MI をデプロイしようとしたところ、MI の新規作成時にタイムゾーンを追加することができるインタフェースが追加されていました。

image

Read the rest of this entry »

Written by masayuki.ozawa

4月 9th, 2019 at 11:10 pm