Azure Synapse Analytics のサーバーレス SQL プール (プレビュー)Serverless SQL pool (preview) in Azure Synapse Analytics

すべての Azure Synapse Analytics ワークスペース (プレビュー) には、レイク内のデータに対してクエリを実行するために使用できるサーバーレス SQL プール (プレビュー) エンドポイントがあります。Every Azure Synapse Analytics workspace (preview) comes with serverless SQL pool (preview) endpoints that you can use to query data in the lake.

サーバーレス SQL プールは、データ レイク内のデータに対するクエリ サービスです。Serverless SQL pool is a query service over the data in your data lake. これを使用すると、次の機能を通じてデータにアクセスできます。It enables you to access your data through the following functionalities:

  • 専用のストアにデータをコピーしたり読み込んだりすることなく、インプレースでデータのクエリを実行できる、使い慣れた T-SQL 構文。A familiar T-SQL syntax to query data in place without the need to copy or load data into a specialized store.
  • さまざまなビジネス インテリジェンスおよびアドホック クエリ実行ツール (最も人気のあるドライバーなど) を提供する、T-SQL インターフェイスを介した統合接続。Integrated connectivity via the T-SQL interface that offers a wide range of business intelligence and ad-hoc querying tools, including the most popular drivers.

サーバーレス SQL プールは、大規模なデータとコンピューティング機能を対象として構築された分散データ処理システムです。Serverless SQL pool is a distributed data processing system, built for large-scale data and computational functions. サーバーレス SQL プールでは、ワークロードに応じて数秒から数分でビッグ データを分析することができます。Serverless SQL pool enables you to analyze your Big Data in seconds to minutes, depending on the workload. クエリ実行のフォールトトレランスが組み込まれているため、大規模なデータ セットを対象とする実行時間の長いクエリの場合でも、高い信頼性と成功率が実現します。Thanks to built-in query execution fault-tolerance, the system provides high reliability and success rates even for long-running queries involving large data sets.

サーバーレス SQL プールはサーバーレスであるため、設定するインフラストラクチャも管理するクラスターもありません。Serverless SQL pool is serverless, hence there's no infrastructure to setup or clusters to maintain. このサービスの既定のエンドポイントはすべての Azure Synapse ワークスペース内で提供されるため、ワークスペースが作成されるとすぐにデータのクエリ実行を開始できます。A default endpoint for this service is provided within every Azure Synapse workspace, so you can start querying data as soon as the workspace is created.

予約されているリソースには課金されません。実行するクエリによって処理されるデータに対してのみ課金されるため、このモデルはまさに従量課金制モデルになっています。There is no charge for resources reserved, you are only being charged for the data processed by queries you run, hence this model is a true pay-per-use model.

データ パイプラインで Apache Spark for Azure Synapse を使用する場合は、データの準備、クレンジング、またはエンリッチメントのために、プロセスで作成した Spark 外部テーブルに対してクエリをサーバーレス SQL プールから直接実行できます。If you use Apache Spark for Azure Synapse in your data pipeline, for data preparation, cleansing or enrichment, you can query external Spark tables you've created in the process, directly from serverless SQL pool. Private Link を使用して、サーバーレス SQL プール エンドポイントをマネージド ワークスペース VNet に組み込みます。Use Private Link to bring your serverless SQL pool endpoint into your managed workspace VNet.

サーバーレス SQL プールのベネフィットServerless SQL pool benefits

データ レイク内のデータを探索したり、そこから分析情報を得たり、既存のデータ変換パイプラインを最適化したりする必要がある場合は、サーバーレス SQL プールを活用することができます。If you need to explore data in the data lake, gain insights from it or optimize your existing data transformation pipeline, you can benefit from using serverless SQL pool. これは、次のシナリオに適しています。It is suitable for the following scenarios:

  • 基本の検出と探索 - データ レイク内のさまざまな形式 (Parquet、CSV、JSON) のデータをすばやく把握できるため、そこから分析情報を抽出する方法を計画することができます。Basic discovery and exploration - Quickly reason about the data in various formats (Parquet, CSV, JSON) in your data lake, so you can plan how to extract insights from it.
  • 論理データ ウェアハウス - データの再配置や変換を行うことなく、生または異種のデータに基づいてリレーショナル抽象化を実現します。これにより、常に最新のデータを表示できます。Logical data warehouse – Provide a relational abstraction on top of raw or disparate data without relocating and transforming data, allowing always up-to-date view of your data.
  • データ変換 - T-SQL を使用して、効率性が高くシンプルかつスケーラブルな方法でレイク内のデータを変換できるので、それを BI ツールなどにフィードしたり、リレーショナル データ ストア (Synapse SQL データベース、Azure SQL Database など) に読み込んだりできます。Data transformation - Simple, scalable, and performant way to transform data in the lake using T-SQL, so it can be fed to BI and other tools, or loaded into a relational data store (Synapse SQL databases, Azure SQL Database, etc.).

サーバーレス SQL プールは、さまざまな職務の役に立ちます。Different professional roles can benefit from serverless SQL pool:

  • データ エンジニアは、このサービスを使用してレイクの探索、データの変換、準備を行えるほか、データ変換パイプラインを簡素化できます。Data Engineers can explore the lake, transform and prepare data using this service, and simplify their data transformation pipelines. 詳細については、こちらのチュートリアルをご覧ください。For more information, check this tutorial.
  • データ サイエンティストは、OPENROWSET や自動スキーマ推論などの機能を利用して、レイク内のデータの内容と構造を迅速に把握することができます。Data Scientists can quickly reason about the contents and structure of the data in the lake, thanks to features such as OPENROWSET and automatic schema inference.
  • データ アナリストは、使い慣れた T-SQL 言語や、サーバーレス SQL プールに接続できるお気に入りのツールを使用して、データ サイエンティストまたはデータ エンジニアによって作成されたデータと Spark 外部テーブルを探索できます。Data Analysts can explore data and Spark external tables created by Data Scientists or Data Engineers using familiar T-SQL language or their favorite tools, which can connect to serverless SQL pool.
  • BI プロフェッショナルは、レイク内のデータおよび Spark テーブルに基づいて Power BI レポートをすばやく作成できます。BI Professionals can quickly create Power BI reports on top of data in the lake and Spark tables.

サーバーレス SQL プールを使い始める方法How to start using serverless SQL pool

サーバーレス SQL プール エンドポイントは、すべての Azure Synapse ワークスペース内で提供されます。Serverless SQL pool endpoint is provided within every Azure Synapse workspace. ワークスペースを作成し、使い慣れたツールを使用してすぐにデータのクエリ実行を開始できます。You can create a workspace and start querying data instantly using tools you are familiar with.

クライアント ツールClient tools

サーバーレス SQL プールでは、既存の SQL アドホック クエリ実行およびビジネス インテリジェンス ツールをデータ レイクに利用できます。Serverless SQL pool enables existing SQL ad-hoc querying and business intelligence tools to tap into the data lake. 使い慣れた T-SQL 構文を使えるため、SQL 製品との TDS 接続を確立できるツールであれば、Synapse SQL オンデマンドに接続してクエリを実行できます。As it provides familiar T-SQL syntax, any tool capable to establish TDS connection SQL offerings can connect to and query Synapse SQL on-demand. Azure Data Studio に接続してアドホック クエリを実行したり、Power BI に接続して数分で分析情報を得たりできます。You can connect with Azure Data Studio and run ad-hoc queries or connect with Power BI to gain insights in a matter of minutes.

T-SQL のサポートT-SQL support

サーバーレス SQL プールでは T-SQL クエリの実行領域を提供します。これは、半構造化データと非構造化データのクエリ実行に関する機能に対応できるよう、いくつかの点でわずかに強化、拡張されています。Serverless SQL pool offers T-SQL querying surface area, which is slightly enhanced/extended in some aspects to accommodate for experiences around querying semi-structured and unstructured data. さらに、サーバーレス SQL プールの設計上の理由から、T-SQL 言語の一部の要素はサポートされていません。たとえば、DML 機能は現在サポートされていません。Furthermore, some aspects of the T-SQL language aren't supported due to the design of serverless SQL pool, as an example, DML functionality is currently not supported.

  • なじみのある概念を使用してワークロードを整理できます。Workload can be organized using familiar concepts:
  • データベース - サーバーレス SQL プール エンドポイントには複数のデータベースを設定できます。Databases - serverless SQL pool endpoint can have multiple databases.
  • スキーマ - データベース内には、スキーマと呼ばれるオブジェクト所有者グループが 1 つまたは複数存在します。Schemas - Within a database, there can be one or many object ownership groups called schemas.
  • ビューViews
  • 外部リソース - データ ソース、ファイル形式、テーブルExternal resources – data sources, file formats, and tables

以下を使用してセキュリティを適用できます。Security can be enforced using:

  • ログインとユーザーLogins and users
  • ストレージ アカウントへのアクセスを制御するための資格情報Credentials to control access to storage accounts
  • オブジェクト レベル単位での権限の許可、拒否、取り消しGrant, deny, and revoke permissions per object level
  • Azure Active Directory の統合Azure Active Directory integration

サポートされている T-SQL:Supported T-SQL:

  • SQL 関数の大部分を含む、完全な SELECT 領域がサポートされますFull SELECT surface area is supported, including a majority of SQL functions
  • CETAS - CREATE EXTERNAL TABLE AS SELECTCETAS - CREATE EXTERNAL TABLE AS SELECT
  • ビューとセキュリティのみに関連する DDL ステートメントDDL statements related to views and security only

サーバーレス SQL プールにはローカル ストレージがなく、メタデータ オブジェクトのみがデータベースに格納されます。Serverless SQL pool has no local storage, only metadata objects are stored in databases. したがって、次の概念に関連する T-SQL はサポートされていません。Therefore, T-SQL related to the following concepts isn't supported:

  • テーブルTables
  • トリガーTriggers
  • 具体化されたビューMaterialized views
  • ビューとセキュリティに関連しない DDL ステートメントDDL statements other than ones related to views and security
  • DML ステートメントDML statements

拡張機能Extensions

サーバーレス SQL プールでは、データ レイク内のファイルに格納されているデータに対するインプレース クエリをスムーズに実行できるように、次の機能を追加して既存の OPENROWSET 関数を拡張します。In order to enable smooth experience for in place querying of data residing in files in data lake, serverless SQL pool extends the existing OPENROWSET function by adding following capabilities:

複数のファイルまたはフォルダーに対するクエリの実行Query multiple files or folders

PARQUET ファイル形式PARQUET file format

区切りテキストを操作するための追加オプション (フィールド ターミネータ、行ターミネータ、エスケープ文字)Additional options for working with delimited text (field terminator, row terminator, escape char)

選択した列のサブセットの読み取りRead a chosen subset of columns

スキーマ推論Schema inference

filename 関数filename function

filepath 関数filepath function

複合型と入れ子または繰り返しのデータ構造の操作Work with complex types and nested or repeated data structures

SecuritySecurity

サーバーレス SQL プールには、データへのアクセスをセキュリティで保護するためのメカニズムが用意されています。Serverless SQL pool offers mechanisms to secure access to your data.

Azure Active Directory との統合と多要素認証Azure Active Directory integration and multi-factor authentication

サーバーレス SQL プールでは、Azure Active Directory との統合によって、データベース ユーザーの ID とその他の Microsoft サービスを一元的に管理できます。Serverless SQL pool enables you to centrally manage identities of database user and other Microsoft services with Azure Active Directory integration. この機能は、アクセス許可の管理を簡略化し、セキュリティを強化します。This capability simplifies permission management and enhances security. Azure Active Directory (Azure AD) では、多要素認証 (MFA) をサポートしています。これにより、シングル サインオン プロセスをサポートすると同時に、データとアプリケーションのセキュリティが強化されます。Azure Active Directory (Azure AD) supports multi-factor authentication (MFA) to increase data and application security while supporting a single sign-on process.

認証Authentication

サーバーレス SQL プールの認証とは、エンドポイントへの接続時にユーザーが自分の ID を証明する方法のことです。Serverless SQL pool authentication refers to how users prove their identity when connecting to the endpoint. 2 種類の認証がサポートされています。Two types of authentication are supported:

  • SQL 認証SQL Authentication

    この認証方法では、ユーザー名とパスワードを使用します。This authentication method uses a username and password.

  • Azure Active Directory 認証 :Azure Active Directory Authentication :

    この認証方法では、Azure Active Directory によって管理されている ID を使用します。This authentication method uses identities managed by Azure Active Directory. Azure AD ユーザーの場合、多要素認証を有効にできます。For Azure AD users, multi-factor authentication can be enabled. 可能であれば、Active Directory 認証 (統合セキュリティ) を使用します。Use Active Directory authentication (integrated security) whenever possible.

承認Authorization

承認とは、サーバーレス SQL プール データベース内でユーザーにどのような操作が許可されるかを示すものであり、ユーザー アカウントのデータベース ロールのメンバーシップとオブジェクトレベルのアクセス許可によって制御されます。Authorization refers to what a user can do within a serverless SQL pool database, and is controlled by your user account's database role memberships and object-level permissions.

SQL 認証が使用される場合、SQL ユーザーはサーバーレス SQL プール内にのみ存在し、アクセス許可のスコープはサーバーレス SQL プール内のオブジェクトに設定されます。If SQL Authentication is used, the SQL user exists only in serverless SQL pool and permissions are scoped to the objects in serverless SQL pool. 他のサービス (Azure Storage など) のセキュリティ保護可能なオブジェクトへのアクセスは、SQL ユーザーに対して直接許可することができません。これは、そのユーザーがサーバーレス SQL プールのスコープでのみ存在するためです。Access to securable objects in other services (such as Azure Storage) can't be granted to SQL user directly since it only exists in scope of serverless SQL pool. SQL ユーザーは、サポートされている承認の種類のいずれかを使用して、ファイルにアクセスする必要があります。The SQL user needs to use one of the supported authorization types to access the files.

Azure AD 認証が使用される場合、ユーザーはサーバーレス SQL プールやその他のサービス (Azure Storage など) にサインインして、Azure AD ユーザーにアクセス許可を付与できます。If Azure AD authentication is used, a user can sign in to serverless SQL pool and other services, like Azure Storage, and can grant permissions to the Azure AD user.

ストレージ アカウントへのアクセスAccess to storage accounts

サーバーレス SQL プール サービスにログインしたユーザーは、Azure Storage 内のファイルにアクセスしてクエリを実行する権限を持っている必要があります。A user that is logged into the serverless SQL pool service must be authorized to access and query the files in Azure Storage. サーバーレス SQL プールでは、次の種類の承認がサポートされます。serverless SQL pool supports the following authorization types:

  • Shared Access Signature (SAS) を使用すると、ストレージ アカウント内のリソースへの委任アクセスが可能になります。Shared access signature (SAS) provides delegated access to resources in storage account. SAS では、アカウント キーを共有することなく、ストレージ アカウントのリソースへのアクセス権をクライアントに付与できます。With a SAS, you can grant clients access to resources in storage account, without sharing account keys. SAS を使用すると、有効期間、付与されるアクセス許可、許容される IP アドレス範囲、許容されるプロトコル (https または http) など、SAS を使用しているクライアントに付与するアクセス権の種類をきめ細かく制御できます。A SAS gives you granular control over the type of access you grant to clients who have the SAS: validity interval, granted permissions, acceptable IP address range, acceptable protocol (https/http).

  • ユーザー ID ("パススルー" とも呼ばれる) は、サーバーレス SQL プールにログインしている Azure AD ユーザーの ID がデータへのアクセスの承認に使用される承認の種類です。User Identity (also known as "pass-through") is an authorization type where the identity of the Azure AD user that logged into serverless SQL pool is used to authorize access to the data. データにアクセスする前に、Azure Storage の管理者が、データにアクセスするためのアクセス許可を Azure AD ユーザーに付与する必要があります。Before accessing the data, Azure Storage administrator must grant permissions to Azure AD user for accessing the data. この種類の承認では、サーバーレス SQL プールにログインした Azure AD ユーザーを使用するため、ユーザーの種類が SQL の場合はサポートされません。This authorization type uses the Azure AD user that logged into serverless SQL pool, therefore it's not supported for SQL user types.

次のステップNext steps

エンドポイント接続とファイルに対するクエリ実行に関する追加情報については、次の記事をご覧ください。Additional information on endpoint connection and querying files can be found in the following articles: