Build 2019 で発表された Azure SQL Database serverless を少し触ってみました。
ドキュメントはこちらから。
基本的な考え方としては AWS の Aurora サーバーレス に通じるものがあるのかと。
(Azure SQL Database serverless は、現時点では最大 4 コアのモデルまでの小さなサイズでの提供となっていますので、スケール面での考え方は異なりますが)
Read the rest of this entry »
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
Build 2019 で発表された Azure SQL Database serverless を少し触ってみました。
ドキュメントはこちらから。
基本的な考え方としては AWS の Aurora サーバーレス に通じるものがあるのかと。
(Azure SQL Database serverless は、現時点では最大 4 コアのモデルまでの小さなサイズでの提供となっていますので、スケール面での考え方は異なりますが)
Read the rest of this entry »
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 »
SQL Server とデータの送受信を行う際には「TDS」(Tabular Data Stream Protocol) が使用されています。
接続からクエリを実行するまでの流れってどうだったけと思った時には、プロトコルのドキュメントから詳細を確認することができます。
接続までの流れについては、How it works: SQL Serverの接続編 もとても参考になります。
SQL Server / SQL Database
Managed Instance
SQL Data Warehouse
Migration
Data Analyze
Azure Data Studio
■ 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 から
SQL Server 2019 では PolyBase の機能が進化し「データ仮想化」が一つのキーワードとなっています。
PolyBase は、SQL Server 2016 から実装された機能だったはずですが、SQL Server 2016 / 2017 では、Hadoop と Azure BLOB Storage の接続のみをサポートしており、オブジェクトストレージ上のデータに対してクエリを実行するための機能としての利用でした。
SQL Server 2019 になり、オブジェクトストレージの他に「ODBC 汎用コネクタ」がサポートされるようになり、アクセスできるデータソースが大幅に増加しました。
標準で、SQL Server / Oracle / Teradata / MongoDB へのアクセスもできるようになっているのですが、これらについては、「標準で導入されている ODBC ドライバー」となっており、実装については ODBC と同様です。
SQL Server 2019 のセミナーを毎月実施させていただいている中で「PolyBase とリンクサーバーの違い」について質問されることがあります。
これらの違いについては、次のドキュメントで解説が行われています。
GW 中は de:code 2019 のセッション準備などを進めており、あまり情報のキャッチアップをできていなかったのですが、最終日ぐらいは、SQL Server / SQL Database 関連の最新情報を眺めてみようかと。
Read the rest of this entry »
SQL Server 2019 CTP 2.5 と SSMS 18.0 が公開されました。
SSMS 18.0 は今回のタイミングで GA となり、正式版です。
Build 2019 で新しい CTP 出るのかなと思っていたのですが、4 月内に新しい Preview 出てきましたね。
Build では新しい発表あるのでしょうか??
公式のアナウンスとしては以下になります。
SQL Server の権限設定ですが、基本的な考え方は プリンシパル (データベース エンジン) に記載されている内容となります。
権限としては、次の二種類に分けられます。
「ログイン」と「ユーザー」という複数のプリンシパルに分かれているため、理解しづらい構成になっているのですが、SSMS を使用しながらであればわかりやすいかなと思いましたので軽くまとめてみようかと。
Read the rest of this entry »
SQL Server の統計情報の更新タイミングというと「データ量の 20% が更新された場合」に自動更新の対象となるというのが一般的に知られている内容ではないでしょうか。
これについては 統計 に記載されています。
SQL Server 2014 (12.x) まで、SQL Server は変更された行の割合に基づくしきい値を使用します。 これには、テーブル内の行数は考慮されません。 しきい値は次のようになります。
- 統計情報が評価された時点でテーブルのカーディナリティが 500 以下の場合、500 回変更されるたびに更新されます。
- 統計情報が評価された時点でテーブルのカーディナリティが 500 よりも大きい場合、500 プラス 20% の数の変更があるたびに更新されます。