SE の雑記

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

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

de:code 2019 の DP01 Big Data Cluster 入門の資料を公開しております

leave a comment

先日、登壇させていただいた de:code 2019 の SQL Server 2019 Big Data Cluster 入門の資料を Github で公開させていただきました。

https://github.com/MasayukiOzawa/decode-2019
こちらにスライドの PDF も公開してあります。
今回のデモは Azure Data Studio の Notebook を使用して実施しましたので、Github 上のデモ用コンテンツも実行済みの Notebook の形でアップロードしてあります。
どんなことができるか、どんな動作になるかはそのまま確認していただけるかと。

Written by Masayuki.Ozawa

6月 5th, 2019 at 10:32 pm

Posted in SQL Server

Tagged with ,

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

SQL Server の「高速挿入」についての覚書

leave a comment

最近、SQL Server の Bulk Insert について、調査することが何回かあり、その中で「高速挿入」(Fast Inserts / Fast Load Context) の動作をどこまで見れるか、考えたことがあったので、その覚書を。
詳細な情報としては次の内容を参照してください。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 27th, 2019 at 12:06 am

Posted in SQL Server

Tagged with

SQL Server 2019 CTP 3.0 がリリースされました

leave a comment

月次でリリースされている SQL Server 2019 の Preview の CTP 3.0 がリリースされました。
de:code の 1 週間前にリリースされたので、「俺のセッションに影響はないのか!?」と、ちょっと焦りましたがなんとかなりそうです。
アナウンスはこちら。

詳細についてはリリースノートや What’s New で確認できます。

ざっくりとした内容は次のようなものです。
Read the rest of this entry »

Written by Masayuki.Ozawa

5月 23rd, 2019 at 11:47 pm

Posted in SQL Server

Tagged with ,

Azure Data Factory の Mapping Data Flow と Wrangling Data Flow について

leave a comment

Build 2019 でアナウンスの合った、Azure Data Factory (ADF) の Mapping Data Flow と Wrangling Data Flow についてメモを残しておこうかと。 Read the rest of this entry »

Written by Masayuki.Ozawa

5月 15th, 2019 at 11:25 pm

Posted in Azure Data Factory

Tagged with

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

SQL Server のプロトコルのドキュメント

leave a comment

SQL Server とデータの送受信を行う際には「TDS」(Tabular Data Stream Protocol) が使用されています。
接続からクエリを実行するまでの流れってどうだったけと思った時には、プロトコルのドキュメントから詳細を確認することができます。

接続までの流れについては、How it works: SQL Serverの接続編 もとても参考になります。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 10th, 2019 at 8:06 am

Posted in SQL Server

Tagged with

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