このトピックでは、ApsaraDB for SelectDB に関するよくある質問 (FAQ) への回答を提供します。
-
製品の選定
-
課金
-
ユースケース
-
インスタンス接続
-
その他
セルフマネージド Doris と比較した場合の ApsaraDB for SelectDB のメリット
ApsaraDB for SelectDB には、次のメリットがあります:
-
ストレージとコンピューティングの分離をサポートしています。複数のクラスターでストレージを共有できるため、ストレージコストを最大 90% 削減できます。
-
ホットデータとコールドデータに対して、キャッシュとオブジェクトストレージを用いた階層型ストレージを使用することで、ストレージコストを削減します。
-
バックエンド (BE) クラスターのみを構成します。これにより、フロントエンド (FE) リソースのコストが不要になり、初期セットアップコストを削減できます。
-
ApsaraDB for SelectDB は、すぐに利用できるクラウドネイティブサービスです。ビジュアルコンソールと API により、デプロイと O&M を自動化でき、運用効率が向上します。
-
ApsaraDB for SelectDB は、SQL エディター、検索と分析、クエリ監査、セッション管理、メタデータ管理など、データ開発と管理のための使いやすいビジュアルツールを提供します。これらのツールにより、開発者および管理者の作業負荷を軽減できます。
-
O&M の作業は最小限で済みます。
-
ApsaraDB for SelectDB のカーネルは、Apache Doris を商用グレードかつクラウド向けに最適化したバージョンです。これにより成熟度と安定性が確保され、Alibaba Cloud と SelectDB チームによるプロフェッショナルなサポートも提供されます。
複数コンピューティングクラスターのメリット
ApsaraDB for SelectDB インスタンスには複数のコンピューティングクラスターを含めることができます。各クラスターは 1 つ以上のバックエンド (BE) ノードで構成され、ビッグデータシステムにおけるコンピューティングリソースグループまたはキューのように機能します。 インスタンス内のすべてのコンピューティングクラスターは、次の機能を共有します:
-
データ共有:すべてのクラスターが同一データを共有するため、冗長性を防ぎます。
-
コンピューティングの分離:クラスターリソースは物理的に分離されており、ワークロードの分離が可能です。キャッシュも分離され、各クラスターのアクセスパターンに基づいてデータがキャッシュされます。
-
マルチリード、マルチライト:すべてのクラスターで同時読み取りと書き込みをサポートします。並列に書き込まれたデータは、コミット後すぐにすべてのクラスターでクエリできます。
これらの機能により、読み取り/書き込みワークロードの分離、オンライン分析とオフライン分析の分離、本番環境とテスト環境の分離などのユースケースにおいて、複数のコンピューティングクラスターが最適です。
サブスクリプションインスタンスで従量課金の請求が発生するのはなぜですか?
サブスクリプションの ApsaraDB for SelectDB インスタンスを購入すると、前払い料金にはデフォルトクラスターが含まれます。ただし、インスタンスが使用するストレージは別途、従量課金で課金されます。データ量の増加に伴いストレージ使用量は弾力的にスケールし、実際の使用量に基づいて課金されます。また、サブスクリプションインスタンス内に従量課金クラスターを作成することもできます。そのため、従量課金ストレージと従量課金クラスターの両方で追加の請求が発生する場合があります。
ApsaraDB for SelectDB のユースケース
ApsaraDB for SelectDB は主に次のシナリオで使用されます:
-
リアルタイムレポーティングと分析。
-
アドホックな多次元分析。
-
ログの検索と分析。
-
データレイクハウス分析。
ApsaraDB for SelectDB はトリガーをサポートしていますか?
ApsaraDB for SelectDB はトリガーをサポートしていません。
ApsaraDB for SelectDB は VPC または vSwitch の変更をサポートしていますか?
いいえ。VPC と vSwitch はインスタンス作成時に選択する必要があり、その後は変更できません。インスタンスを作成する前にネットワーク構成を計画してください。
「connect timed out」エラーのトラブルシューティング
このエラーは、クライアントと SelectDB インスタンス間のネットワーク接続の問題を示します。クライアントと SelectDB インスタンスが同じ Virtual Private Cloud (VPC) 内にあり、かつ SelectDB
-
クライアントマシンから、
pingコマンドを使用して SelectDB インスタンスの VPC アドレスに ping を実行します。マシンと SelectDB インスタンス間のネットワーク接続を確認するか、telnetコマンドを使用してデータベースポート 9030 および 8080 に到達可能かどうかを確認します。 -
クライアントの IP アドレスが ApsaraDB for SelectDB のホワイトリストに含まれていることを確認してください。含まれていない場合は、「ホワイトリストの設定」をご参照ください。
-
ApsaraDB for SelectDB のホワイトリストに設定されているクライアント IP アドレスが正しいことを確認してください。
オフィスネットワークのパブリック IP アドレスは頻繁に変わる場合があります。表示されている IP アドレスが実際のパブリック IP ではない可能性があります。whatsmyip などの IP 確認サービスを使用して、パブリック IP アドレスを確認してください。
SelectDB インスタンスとクライアントが異なる VPC にある場合は、インターネット経由で接続する必要があります。次の手順に従ってください:
-
ApsaraDB for SelectDB インスタンスのパブリックエンドポイントを申請してください。手順については、「パブリックエンドポイントの申請または解放」をご参照ください。
-
クライアントの IP アドレスを ApsaraDB for SelectDB のホワイトリストに追加してください。手順については、「ホワイトリストの設定」をご参照ください。
説明オフィスネットワークのパブリック IP アドレスは頻繁に変わる場合があります。表示されている IP アドレスが実際のパブリック IP ではない可能性があります。whatsmyip などの IP 確認サービスを使用して、パブリック IP アドレスを確認してください。
-
クラスターに接続してください。手順については、「インスタンスへの接続」をご参照ください。
データソースカタログに接続できない
一般的な原因と解決策は次のとおりです:
-
原因 1:対象のデータソースと SelectDB インスタンスが異なる VPC にあり、それらの間にネットワーク接続がありません。
解決策:対象のデータソースと SelectDB インスタンス間のネットワーク接続の問題を解決してください。詳細については、「ApsaraDB for SelectDB インスタンスとデータソース間のネットワーク接続問題の解決方法」をご参照ください。
-
原因 2:データソースの IP アドレスが ApsaraDB for SelectDB のホワイトリストに含まれていません。
解決策:データソースの IP アドレスを取得し、ApsaraDB for SelectDB のホワイトリストに追加してください。手順については、「ホワイトリストの設定」をご参照ください。
説明オフィスネットワークのパブリック IP アドレスは頻繁に変わる場合があります。表示されている IP アドレスが実際のパブリック IP ではない可能性があります。whatsmyip などの IP 確認サービスを使用して、パブリック IP アドレスを確認してください。
-
原因 3:MySQL や HDFS などの対象データソース側で独自のホワイトリストが設定されています。
解決策:SelectDB インスタンスの IP アドレスを取得し、対象データソースのホワイトリストに追加してください。
-
ApsaraDB for SelectDB インスタンスが存在する VPC の IP CIDR ブロックを取得するには、「ApsaraDB for SelectDB インスタンスが配置されている VPC の IP CIDR ブロックの確認方法」をご参照ください。
-
ApsaraDB for SelectDB インスタンスのパブリック IP アドレスを取得するには、そのパブリックエンドポイントに対して
pingコマンドを実行してくださいSelectDB。
-
データソースとのネットワーク問題の解決
SelectDB インスタンスとデータソースが同一リージョンの同一 VPC にある場合は、双方の IP アドレスが互いのホワイトリストに追加されているかを確認してください。追加されていない場合は、必要な IP アドレスを追加してください。手順については、「ホワイトリストの設定」をご参照ください。
SelectDB インスタンスとデータソースが前述の条件を満たさない場合は、ホワイトリストを設定する前に、接続性を確立するための適切なネットワークソリューションを選択する必要があります。
|
シナリオ |
解決策 |
|
オンプレミスとクラウドリソース間の接続性 |
|
|
アカウント間の VPC 接続性 |
|
|
リージョン間およびアカウント間の VPC 接続性 |
Cloud Enterprise Network を使用して、リージョン間およびアカウント間の VPC 接続性を実現する (Basic Edition) |
|
同一リージョン内の異なる VPC 間の接続性 |
Cloud Enterprise Network を使用して、同一リージョンの VPC 接続性を実現する (Basic Edition) |
|
異なる VPC 間の接続性 |
|
|
インターネット経由の接続性 |
VPC の IP CIDR ブロックの確認
ApsaraDB for SelectDB インスタンスの IP アドレス範囲は、関連付けられている vSwitch の IPv4 CIDR ブロックによって決まります。確認するには、次の手順に従ってください:
-
インスタンスの vSwitch ID を確認します。
-
ApsaraDB for SelectDB コンソールにログインします。
-
ページ左上で、インスタンスが存在するリージョンを選択します。[インスタンス] ページで対象の インスタンス ID をクリックし、インスタンスの詳細 ページを開きます。
-
インスタンスの詳細 ページで、ネットワーク情報 セクションにあるインスタンスの vSwitch ID を確認します。
-
-
vSwitch ID に対応する IPv4 CIDR ブロックを確認します。
-
Virtual Private Cloud コンソールに移動し、vSwitch のページを開きます。
-
ページ左上で、ApsaraDB for SelectDB インスタンスと同じリージョンを選択します。
-
検索ボックスに対象の vSwitch ID を入力し、検索アイコンをクリックします。
-
vSwitch の一覧で、対象 vSwitch の [IPv4 CIDR block] を確認します。
-
アプリケーションが ApsaraDB for SelectDB に接続できない原因
一般的な原因と解決策は次のとおりです:
-
原因 1:ネットワーク環境が正しくありません。アプリケーションとインスタンスが同じ VPC にある場合は内部接続を使用してください。それ以外の場合は、パブリックエンドポイントを申請してインターネット経由で接続する必要があります。
解決策:アプリケーションと SelectDB インスタンスが同じ VPC にあるかを確認してください。同じ VPC にない場合は、パブリックエンドポイントを使用してインスタンスに接続してください。パブリックエンドポイントの申請方法については、「パブリックエンドポイントの申請または解放」をご参照ください。
-
原因 2:ホワイトリストが設定されていません。
解決策:アプリケーションサーバーの IP アドレスを ApsaraDB for SelectDB インスタンスのホワイトリストに追加してください。手順については、「ホワイトリストの設定」をご参照ください。
-
原因 3:アプリケーションが稼働している ECS インスタンスのセキュリティグループルールでトラフィックが許可されていません。
解決策:トラフィックを許可するようにセキュリティグループを設定してください。詳細については、「Security group operations」をご参照ください。
-
原因 4:社内ファイアウォールが接続をブロックしています。
解決策:接続を許可するようにファイアウォールルールを変更してください。
-
原因 5:接続文字列内のユーザー名またはパスワードに、
!@#$%^&*()_+=などの特殊文字が含まれています。これらの文字をエスケープしない場合、接続に失敗する可能性があります。解決策:次のルールに従って、接続文字列内の特殊文字をエスケープしてください。
! : %21 @ : %40 # : %23 $ : %24 % : %25 ^ : %5e & : %26 * : %2a ( : %28 ) : %29 _ : %5f + : %2b = : %3dたとえば、パスワードが
ab@#cの場合、接続文字列内のパスワードは特殊文字をエスケープするとab%40%23cになります。 -
原因 6:アカウントに支払い遅延があります。支払い遅延があるとインスタンスがロックされ、アクセスできなくなります。
解決策:Alibaba Cloud アカウントに支払い遅延がないかを確認してください。支払い遅延がある場合は、直ちに支払いを完了してください
クラスター作成時のリソース不足エラーへの対処法
次の手順でトラブルシューティングを実施してください:
-
API から返されるエラーコードを確認し、エラーの種類を特定してください。
-
InvalidVSwitch.NoIP(HTTP 404):選択した vSwitch に十分な利用可能 IP アドレスがありません。 -
InsufficientResourceCapacity(HTTP 403):ゾーンに十分なコンピューティングリソースのキャパシティがありません。
-
-
エラーが
InvalidVSwitch.NoIP(vSwitch IP アドレス不足) である場合:-
VPC コンソールにログインし、vSwitch の利用可能 IP アドレス数を確認してください。
-
十分な利用可能 IP アドレスがある別の vSwitch を選択してください。
-
または、ゾーン冗長 のデプロイアーキテクチャを選択して、複数ゾーンの vSwitch にリソースを分散してください。
-
-
エラーが
InsufficientResourceCapacity(リソース容量不足) の場合:-
別のゾーンを選択してください。
-
クラスターの仕様を下げてください。
-
または、ゾーン冗長 のデプロイアーキテクチャを選択してください。
-
クラスター仕様を削減して解決できるのは、 InsufficientResourceCapacity のみです。コンピューティング仕様を削減してもクラスターで必要な IP アドレス数は変わらないため、 InvalidVSwitch.NoIP は解決されません。
ApsaraDB for SelectDB からデータを読み取る方法
一般的な方法は次のとおりです:
-
JDBC を使用してデータを読み取る:ApsaraDB for SelectDB は MySQL プロトコルと互換性があるため、MySQL と同様に JDBC を使用して ApsaraDB for SelectDB からデータを読み取ることができます。この方法は実装が簡単であるため、小規模なデータセット (数十 GB 程度のテーブルなど) に適しています。
-
Flink
Doris Connectorを使用したデータ読み取り:Flink Doris Connectorは、SelectDB インスタンスの BE ノードに直接接続して、データを高効率で読み取ることができます。セキュリティ上の理由から、SelectDB のテクニカルサポートに連絡して、必要なアクセス権限をリクエストする必要があります。
バックエンド (BE) ノードの表示
インスタンスに接続した後、次のコマンドを実行して BE ノードを表示してください:
SHOW backends;
バックエンド (BE) ノードの追加
BE ノードはフルマネージドです。ApsaraDB for SelectDB インスタンスの購入後に追加や管理を行う必要はありません。
BE クラスターエンドポイントの取得
通常は、インスタンスエンドポイントを使用して ApsaraDB for SelectDB の読み取りと書き込みを行えるため、BE クラスターエンドポイントは不要です。データインポートやモニタリングなどのタスクで BE クラスターに直接接続する必要がある場合は、次の手順に従ってください:
-
インスタンスエンドポイントを取得します。
ApsaraDB for SelectDB コンソールの [Instance Details] ページで、インスタンスの VPC アドレス または インターネットアドレス を確認してください。
-
BE クラスターエンドポイントを取得します。
インスタンスの クラスター管理 ページで、該当する BE クラスター ID をコピーしてください。インスタンスエンドポイントのプレフィックスを BE クラスター ID に置き換えて、BE クラスターエンドポイントを作成します。たとえば、インスタンスエンドポイントが
selectdb-cn-g4***.selectdbfe.rds.aliyuncs.comの場合、BE クラスターエンドポイントはselectdb-gs***.selectdbbe.rds.aliyuncs.comになります。 -
BE クラスターに適切なポートを使用します。
Stream Load のインポートにはポート 8040、モニタリングメトリクスのスクレイピングにはポート 8060 を使用してください。
Stream Load における区切り文字の処理
新しい列区切り文字と行区切り文字を指定し、データが区切り文字と競合しないようにインポートデータを変更する必要があります。これにより、データが正しく解析されるようになります。以下のセクションで例を示します:
データに行区切り文字が含まれている場合
インポートされたデータに指定された行区切り文字、たとえばデフォルトの行区切り文字 \n が含まれている場合は、新しい行区切り文字を指定する必要があります。
たとえば、データファイルに次の内容が含まれているとします:
Zhang San\n,25,Shaanxi
Li Si\n,30,Beijingこのシナリオでは、ファイル内の \n はデータであり、行区切り文字ではありません。ただし、デフォルトの行区切り文字も \n です。ファイルが正しく解析されるようにするには、line_delimiter パラメーターを使用して新しい行区切り文字を指定し、ファイル内の各データ行の末尾に新しい区切り文字を明示的に追加する必要があります。以下に例を示します:
インポートの行区切り文字を設定します。
たとえば、デフォルトの行区切り文字
\nを\r\nに置き換えるには、データをインポートするときに-H "line_delimiter:\r\n"を設定する必要があります。指定された行区切り文字を各データ行の末尾に追加します。サンプルテキストは次のように変更する必要があります:
Zhang San\n,25,Shaanxi\r\n Li Si\n,30,Beijing\r\n
データに列区切り文字が含まれている場合
インポートされたデータに指定された列区切り文字、たとえばデフォルトの列区切り文字 \t が含まれている場合は、新しい列区切り文字を指定する必要があります。
たとえば、データファイルに次の内容が含まれているとします:
Zhang San\t 25 Shaanxi
Li Si\t 30 Beijingこのシナリオでは、ファイル内の \t はデータであり、列区切り文字ではありません。ただし、デフォルトの列区切り文字も \t (タブ文字) です。ファイルが正しく解析されるようにするには、column_separator パラメーターを使用して新しい列区切り文字を指定し、ファイル内の列間に新しい区切り文字を明示的に追加する必要があります。以下に例を示します:
インポートの列区切り文字を設定します。
たとえば、デフォルトの列区切り文字
\tをコンマ(,)に置き換えるには、データをインポートするときに-H "column_separator:,"を設定する必要があります。指定された列区切り文字をデータ列の間に追加します。サンプルテキストは次のように変更する必要があります:
Zhang San\t,25,Shaanxi Li Si\t,30,Beijing