標準 SQL では、データ量が多いと不完全な結果が生成される可能性があります。Dedicated SQL は、計算リソースを追加することで分析パフォーマンスとデータ容量を向上させます。さまざまなニーズに対応するために、拡張モードと完全精度モードを提供します。このトピックでは、Dedicated SQL の概念、原則、課金、および制限について説明します。
Dedicated SQL を使用する理由
標準クエリの制限
標準クエリには、大規模データを処理する場合、次の制限があります。
不正確な結果: リソースの制限 (タイムスライス、IO、データ量など) により、一部のデータがロードされない場合があり、統計の精度に影響します。
パフォーマンスのボトルネック: 単一のシャードは 400 MB のデータ量のみをサポートします。TB レベル以上のログ量での同時実行分析要件は制限される可能性があります。
リソース競合: マルチテナント共有リソースは、ローカルリソースの競合につながる可能性があります。
Dedicated SQL のコアバリュー
拡張モード
拡張モードは、リアルタイム性と高い同時実行性が求められるシナリオに適しています。主な機能は次のとおりです。
パフォーマンスの向上: 単一ノードの処理容量は 2 GB で、最大 100 の同時実行スレッドをサポートします。
典型的なシナリオ: リアルタイム監視 (API 成功率アラートなど)、および高同時実行ポイントクエリ分析。
完全精度モード
完全精度モードは、結果の精度に非常に高い要件があるシナリオに適しています。主な機能は次のとおりです。
ゼロエラー保証: 時間とリソースをトレードオフすることで、完全なデータロードを保証します。
専用リソース: 完了またはタイムアウトするまで安定した動作。
典型的なシナリオ: 財務調整、セキュリティ監査、超長期、大規模トレンド分析などの重大な分析シナリオ。
SQL の最大実行時間は 55 秒で、同時実行制限は 5 です。
側面 | 拡張モード | 完全精度モード |
中心となる目標 | パフォーマンスの高速化 | 結果の精度 |
リソース戦略 | 共有リソースプール、自動スケーリング | 専用リソースプール + 時間と精度のトレードオフ |
典型的なシナリオ | リアルタイム監視、高同時実行分析 | 財務調整、セキュリティ監査、超長期、大規模トレンド分析などの重大な分析シナリオ |
精度の許容範囲 | 限定的なエラーを許容 | ゼロエラーの厳格な要求 |
Dedicated SQL の典型的なシナリオ
SQL 拡張
Simple Log Service のデータは、シャードに格納する必要があります。SQL 分析を使用する場合、単一シャードのデータ処理能力は制限されます。データ規模が大きすぎると、パフォーマンスの問題やデータスキャン切り捨てが発生する可能性があります。シャード数を増やすと読み取り/書き込み機能は向上しますが、これは新しく書き込まれたデータにのみ影響し、リアルタイム消費のクライアントが多すぎる可能性があります。SQL 拡張により、リソーススケジューリングで自動スケーリングが可能になり、SQL 分析機能を動的に向上させることができます。典型的なシナリオは次のとおりです。
リアルタイム分析などの高パフォーマンスデータ分析。
月次データなどの長期データ分析。
数百億行の大規模分析。
SQL の同時実行数が 15 を超えるレポートおよびポイントクエリ分析を含む、高同時実行分析。
SQL 完全精度
Simple Log Service が大規模データ分析を実行する場合、次の状況によりデータロードが中断される可能性があります。
タイムスライスの枯渇: 割り当てられた時間リソースが使い果たされています。
データ量がしきい値を超えている: ロードされたデータの合計量が制限を超えています。
データ行数がしきい値を超えている: ロードされた行数が制限を超えています。
IO 操作数がしきい値を超えている: ディスク読み取り数が制限を超えています。
これらの状況により、一部のデータが完全にロードされない場合があり、最終結果の精度に影響します。SQL 完全精度は、これらの問題を解決できます。典型的なシナリオは次のとおりです。
ビジネス監視アラート: 重要なビジネス監視には、正確なデータ分析結果が必要です。
事業運営分析: 収益、財務、維持、コンバージョンに関連する主要指標の分析など、重大な分析シナリオ。
オンラインデータサービス: SQL 分析結果に基づいて外部ユーザーにデータサービスを提供し、分析結果が完全に正確である必要があります。
Dedicated SQL の課金方法
料金は、SQL 文を実行してデータを分析する際に消費される CPU 時間に基づいて計算されます。単位: コア時間 (1 時間あたり 1 コアの使用)。詳細については、「Dedicated SQL の課金例」をご参照ください。
従量課金制: Dedicated SQL の料金 = 時間単位で計算された CPU 時間 × 1 時間あたりの価格。
リソースプラン: 購入したリソースプランは、課金項目の CU に基づいて課金項目の料金を相殺するために使用されます。
分析機能の制限
制限 | 標準インスタンス | Dedicated SQL インスタンス | |
SQL 拡張 | 完全精度 | ||
同時実行性 | プロジェクトあたり最大 15 の同時クエリ。 | プロジェクトあたり最大 100 の同時クエリ。 | プロジェクトあたり最大 5 つの同時クエリ。 |
データ量 | 1 つのクエリで最大 400 MB のログデータをスキャンできます (キャッシュデータを除く)。この制限を超えるデータは切り捨てられ、不完全なクエリ結果としてマークされます。 | 1 つのクエリで最大 2 GB のログデータをスキャンできます (キャッシュデータを除く)。この制限を超えるデータは切り捨てられ、不完全なクエリ結果としてマークされます。 | 無制限。 |
有効化する方法 | デフォルトでは、ログ分析機能は有効になっています。 | Dedicated SQL を手動で有効にするためのスイッチが用意されています。 | Dedicated SQL を手動で有効にするためのスイッチが用意されています。 |
料金 | 無料。 | 実際の CPU 時間に基づいて課金されます。 | 実際の CPU 時間に基づいて課金されます。 |
データ有効性メカニズム | ログ分析機能が有効になった後に Log Service に書き込まれたデータのみを分析できます。 既存データを分析する必要がある場合は、既存データを インデックスの再作成する必要があります。 | ログ分析機能が有効になった後に Log Service に書き込まれたデータのみを分析できます。 既存データを分析する必要がある場合は、既存データを インデックスの再作成する必要があります。 | ログ分析機能が有効になった後に Log Service に書き込まれたデータのみを分析できます。 既存データを分析する必要がある場合は、既存データを インデックスの再作成する必要があります。 |
結果の戻り値 | デフォルトでは、分析は最大 100 行と 100 MB のデータを返します。100 MB を超えるとエラーが発生します。 より多くのデータを返す必要がある場合は、LIMIT 句を使用します。 | デフォルトでは、分析は最大 100 行と 100 MB のデータを返します。100 MB を超えるとエラーが発生します。 より多くのデータを返す必要がある場合は、LIMIT 句を使用します。 | デフォルトでは、分析は最大 100 行と 100 MB のデータを返します。100 MB を超えるとエラーが発生します。 より多くのデータを返す必要がある場合は、LIMIT 句を使用します。 |
最大フィールド長 | 最大値は 16,384 バイト (16 KB) です。この制限を超えるデータは分析されません。 説明 デフォルト値は 2,048 バイト (2 KB) です。この制限を変更するには、[最大フィールド長] を調整します。変更は新しいデータにのみ適用されます。詳細については、「インデックスの作成」をご参照ください。 | 最大値は 16,384 バイト (16 KB) です。この制限を超えるデータは分析されません。 説明 デフォルト値は 2,048 バイト (2 KB) です。この制限を変更するには、[最大フィールド長] を調整します。変更は新しいデータにのみ適用されます。詳細については、「インデックスの作成」をご参照ください。 | 最大値は 16,384 バイト (16 KB) です。この制限を超えるデータは分析されません。 説明 デフォルト値は 2,048 バイト (2 KB) です。この制限を変更するには、[最大フィールド長] を調整します。変更は新しいデータにのみ適用されます。詳細については、「インデックスの作成」をご参照ください。 |
タイムアウト期間 | 分析操作の最大タイムアウト期間は 55 秒です。 | 分析操作の最大タイムアウト期間は 55 秒です。 | 分析操作の最大タイムアウト期間は 55 秒です。 |
倍精度型フィールド値のビット数 | 倍精度型フィールド値は 52 ビットに制限されています。これを超えると、浮動小数点数の精度が失われる可能性があります。 | 倍精度型フィールド値は 52 ビットに制限されています。これを超えると、浮動小数点数の精度が失われる可能性があります。 | 倍精度型フィールド値は 52 ビットに制限されています。これを超えると、浮動小数点数の精度が失われる可能性があります。 |