ablog

不器用で落着きのない技術者のメモ

クエリ の検索結果:

Redshift のデータシェアリング設定手順

AWS

…" を実行し、以下のクエリの <name space> に指定する grant usage on datashare central_db to namespace 'b77f3524-8f94-46f9-bc61-b7d8a3026df5'; consumer 側 select producer_namespace from svv_datashares where share_name = 'test_db'; -- 上のクエリで取得した "producer_namesp…

Redshift で CREATE TEMP TABLE は QMR の Memory to disk (1 MB blocks) にひっかかる

AWS

…k の制限にあたり、クエリが中止される。 CREATE TEMP TABLE ZONO_CHARAI DISTSTYLE EVEN SORTKEY(lo_orderkey) AS SELECT * FROM lineorder; ERROR: Query (1267776) cancelled by WLM abort action of Query Monitoring Rule "temp_usage_default_queue". DETAIL: -----------…

Redsfhit でどのグループにユーザーが所属しているか確認する

AWS

クエリ select pg_user.usename, pg_user.usesysid, pg_group.groname, pg_group.grolist from pg_user,pg_group; 実行結果 usename | usesysid | groname | grolist ------------------------------+----------+----------------------------+--------- rdsdb | 1 |…

よく使う pgbench のオプション

ベンチマーク用オプション -t: 指定した回数トランザクションを実行する (回数を指定) -T: 指定した秒数トランザクションを実行する(期間を指定) -c: データベースセッション数 -j: ワーカースレッド数 -f : 実行するSQLスクリプトファイル名 -r: コマンド毎のレイテンシーをレポート出力する -n: クエリを実行する前に VACUUM しない。 参考 pgbench ぜんぜんわからない。俺たちは雰囲気でpgbenchを使っていた。 - Qiita

Redshift でクエリを同時多重実行検証をするスクリプト

…ng の検証などで、クエリを同時実行し、クエリ単体のレスポンス要件と複数クエリのスループット要件の両方を満たしているかを検証したりする bash スクリプト。bash スクリプトから pgbench を読んでいる。Amazon Linux on EC2 に pgbench をインストールして、bash スクリプトを置けば実行できる。 セットアップ EC2 EC2 インスタンス(m5.large、Amazon Linux 2)を作成する pgbench のインストール Amaz…

Redshift でワークロードキュー毎のクエリ同時実行数を確認する

AWS

…実行中とキュー待ちのクエリ数 マネジメントコンソールで[Redshift]-[クラスターを選択]-[クエリのモニタリング]-[ワークロードの同時実行] オレンジ色:実行中のクエリ数 青色:ワークロードキュー待ちのクエリ数 「キューに入れられたクエリとクラスターでのクエリの実行」に表示される、オレンジ色と青色のバーが見て取れます。 オレンジ色が実行中のクエリで、青色がキューに入っているもののそのまま動いていない、云わば「待たされている」クエリです。つまり、青色が多いということは…

psql on EC2 で Redshift のクエリの結果セットが大きい場合のボトルネックを調べる

AWS

サマリー EC2インスタンス(t2.micro)から psql で Redshift に結果セットが100GB以上と大きい select 文を発行すると、CloudWatch メトリクスでネットワーク受信量 (バイト数)が約500MB/分になる。 m5.large では約3.2GB/分のスループットが出た。 t2.micro(帯域:最大 5 Gbps=625MB/s) 約500MB/分 m5.large(帯域:最大 10 Gbps=1.25GB/s) 約3.2GB/分 検証手…

Amazon Redshift の VACUUM について

AWS

…ム処理中のテーブルにクエリおよび書き込み操作を実行できるが、データ操作言語 (DML) コマンドおよびバキュームを同時に実行すると両方の処理時間が長くなる可能性がある。バキューム処理中にUPDATEおよびDELETEステートメントを実行する場合は、システムのパフォーマンスが低減する場合がある。VACUUM DELETEは、更新操作と削除操作を一時的にブロックする。 バキューム操作の実行中、クエリのパフォーマンスがある程度低下することが予想されます。バキューム操作が終了すると直…

Redshift で pg_table_def に問い合わせてテーブルのソートキーを調べる

AWS

…ストを表示できる。 クエリ \pset pager set search_path to '$user', public, schema1, schema2; select * from pg_table_def where sortkey <> 0 and schemaname not in ('pg_catalog') order by schemaname, tablename, sortkey; 結果 schemaname | tablename | column |…

Amazon Aurora の CloudWatch メトリクス VolumeReadIOPs/VolumeWriteIOPs は5分間の合計

…ージをリクエストするクエリの課金読み取りオペレーションが発生します。これはストレージからロードする必要があります。課金読み取りオペレーションはストレージからクエリの結果が読み取られるのと同様に急増することがありますが、その後バッファキャッシュにロードされます。 ヒント Aurora MySQL クラスターがパラレルクエリを使用している場合、VolumeReadIOPS 値が増加することがあります。パラレルクエリでは、バッファプールは使用されません。したがって、クエリは高速です…

psql で select 結果を変数にセットして、その後の select のフィルタ条件に変数を埋め込む

…Redshift でクエリ実行後に pg_last_query_id() で直前のクエリIDを取得して、stl_query や svl_query_summary からクエリIDでフィルタして性能情報を取得したかったんだけど、psql だとクエリ実行後に \gset を実行するとカラム名が変数名になって結果をセットすることができた。 yoheia/exec_query_perf.sql at master · yoheia/yoheia · GitHub -- query i…

AWS DMS タスク停止時に PostgreSQL の WAL が溜り続けないようにする

AWS

…iita 次のようなクエリを実行して、レプリケーションスロットの有無とサイズを確認します。PostgreSQL v9 psql=> select slot_name, pg_size_pretty(pg_xlog_location_diff(pg_current_xlog_location(),restart_lsn)) as replicationSlotLag, active from pg_replication_slots ; PostgreSQL v10 および v…

Teradata のスロットルについて

…ムで一度に実行されるクエリー数を制限します。スロットルを作成するときに述語を指定します。述語には有効なSQL WHERE句を指定する必要があります。既存のUDF、SQL演算子、ワークロードの管理属性、およびANDやORの組み合わせを使用できます。同時並行性の上限を設定するには、特定の時点で実行できる、述語を照合するクエリーの最大数を指定します。各クエリーはシステムへの適用が許可される前に、すべての述語に合格する必要があります。この制限に達した後に実行依頼されたクエリーは実行待…

Teradata のプロファイルについて

…ータベース割り当て クエリー バンド (中略)プロファイルの作成 1. 好みのクライアント ソフトウェアを開いて、SQLリクエストを作成します。例えば、次のようになります。 CREATE PROFILE profile_name AS ACCOUNT = ('account_str1','account_str2') DEFAULT DATABASE = database_name, SPOOL = spool_space, PASSWORD = (EXPIRE = n_da…

Amazon Redshift でクエリの単体性能を計測するスクリプト

AWS

yoheia/aws/redshift/redshift_measuring_query_exec_time at master · yoheia/yoheia · GitHub

Amazon Redshift のクエリモニタリングルールで一時ディスク使用量の多いクエリーを中止する

…ift の WLM クエリモニタリングルールで、一時ディスクを1MB以上使っているクエリを中止してみた。 以下の例では 1MB 以一時ディスクを使用したクエリを中止している。 実行結果 [ec2-user@ip-172-31-0-222 ~]$ export LC_ALL=C [ec2-user@ip-172-31-0-222 ~]$ psql "host=redshift-cluster-2.********.ap-northeast-1.redshift.amazonaw…

Amazon Redshift のクエリモニタリングルールで長時間実行クエリーを中止する

…ift の WLM クエリモニタリングルールで、一定時間以上実行されているクエリを中止してみた。 以下の例では 10 秒以上要したクエリを中止している。 実行結果 [ec2-user@ip-172-31-0-222 ~]$ export LC_ALL=C [ec2-user@ip-172-31-0-222 ~]$ cat lineorder.sql select count(a.*) from lineorder a, lineorder b, lineorder c; [e…

Aurora PostgreSQL に RDS Proxy 経由で同時多重でクエリを発行中に Reader インスタンスを削除してみる

AWS

…y 経由で同時多重でクエリを発行中に Reader インスタンスを削除すると、クエリでエラーが発生するか確認してみた。 To Do pgbench で -d オプション付きで試す。 検証手順 psql で接続する $ psql -h apg117-2-test-read-only.endpoint.proxy-********.ap-northeast-1.rds.amazonaws.com -p 5432 -d postgres -U awsuser pgbench でテー…

RDS Proxy 経由で Aurora の Reader エンドポイントに同時多重でクエリを発行して均等分散することを確認した

AWS

…r エンドポイントでクエリが均等分散しない場合 - ablog について RDS Proxy 経由だとどうだろうと思って検証してみたら、概ね均等分散してくれてた。 検証手順 psql で接続する $ psql -h apg117-2-test-read-only.endpoint.proxy-********.ap-northeast-1.rds.amazonaws.com -p 5432 -d postgres -U awsuser pgbench でテーブルを作成してデー…

pcp_detach_node -g で既存セッションに影響なくバックエンドのDBを切り離せるか確認した

…タッチ実行後に新規にクエリに振分けられ、セッションがなくなるまでデタッチされない pcp_detach_node だと強制的にデタッチされるが既存セッションに影響がある 手順 pgbench で Pgpool-II 経由で PostgreSQL に繰り返しクエリを発行する while : do pgbench -Sn -c 10 -j 10 -t 10000 -U awsuser -h localhost -d postgres -p 9999 done Pgpool-II …

Aurora PostgreSQL でインスタンスのクラッシュを発生させる

AWS

…みたメモ。 障害挿入クエリ関数 aurora_inject_crash() を使用して、Aurora PostgreSQL インスタンスのクラッシュを強制的に発生させることができます。 この障害挿入クエリでは、フェイルオーバーが発生しません。フェイルオーバーをテストする場合、RDS コンソールで DB クラスターの [フェイルオーバー] インスタンスアクションを選択するか、AWS CLI の failover-db-cluster コマンド、または RDS API の Fai…

Amazon Linux 2 に PostgreSQL 9.2 をインストールする

AWS

… x 2ノード) にクエリを実行できることを確認した。 $ sudo yum install -y postgresql postgresql-contrib postgresql-devel (中略) Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : postgresql-9.2.24-6.amzn2.x…

AppConfig で料金が高騰した場合に、呼び出し元を特定する Athena クエリ for CloudTrail

AWS

…呼び出し元を特定するクエリ SELECT useridentity.arn AS useridentity_arn, count(*) as configurationReceived FROM cloudtrail_table WHERE eventsource = 'appconfig.amazonaws.com' AND eventname = 'GetConfiguration' AND date = '2021/06/20' -- 確認したい日付に変更すること AN…

Salesforce の APEX を使ってみる

…を選択する 「HelloWorldTestClass」を選択、[Add Selected] をクリックし、[Run] をクリックする。 データを確認する 開発者コンソールの [Query Editor] タブを選択し、以下のようにクエリを実行するとデータを参照できる。 SELECT Book__c.Name, Book__c.Price__c from Book__c [Create New] をクリックすると、レコードを追加することができる 参考 Apex クイックスタート

クエリエディタで "sObject type 'Contact' is not supported." と怒られる

事象 クエリエディタで クエリを実行すると "sObject type 'Contact' is not supported." とエラーメッセージが表示される。 解決策 クエリエディタの "Use Tooling API" のチェックを外す。 参考 Help | Training | Salesforce sObject type 'Account' is not supported-- What is this meaning - Salesforce Developer…

Aurora PostgreSQL に発行されたクエリテキストを確認する方法

AWS

Performance Insights トップSQL タブでおおよそどのインスタンスでどのクエリが発行されたかを確認 Aurora PostgreSQL互換でクエリログを取得する - ablog Aurora PostgreSQL で pg_stat_statements ビューを参照できるようにする - ablog

Aurora PostgreSQL で vacuum truncate を試す

AWS

…ルに Slave でクエリすると以下のエラーが発生し、セッションが切断されることがある(参考: RDS PostgreSQL での VACUUM とリードレプリカでの SELECT のコンフリクト - ablog) “User query might have needed to see row versions that must be removed. “User was holding a relation lock for too long. 原因 VACUUM の最…

Aurora PostgreSQL の Reader エンドポイントでクエリが均等分散しない場合

AWS

…L に負荷をかけるとクエリが均等分散せず、特定の Reader に負荷が偏る(pgpool-IIに接続して show pool_nodes を実行、select_cnt でインスタンス毎のクエリ実行回数を確認)。 /etc/pgpool-II/pgpool.conf backend_hostname0 = 'aurora-postgres117.cluster-********.ap-northeast-1.rds.amazonaws.com' backend_port0 =…

pg8000 を使って RDS Proxy 経由で Aurora PostgreSQL にクエリを発行するとタイムアウトする

…stgreSQL にクエリを発行しようとするとタイムアウトする pg8000 から直接 Aurora PostfreSQL へ接続するとクエリの発行に成功する psycopg2 を使うと RDS Proxy 経由でもクエリの発行に成功する 事象詳細 Python スクリプトで出力したログ $ bash pg8000_rds-proxy_test.sh 2021-04-29 04:13:18.841675: Start pg8000_rds-proxy_test.py. 202…

IIS のアクセスログを Amazon Athena でクエリする

AWS

…w3c-log/' クエリを実行してみる。 select cs_uri_stem, count(1) as cnt FROM "default"."iis_w3c_logs" group by cs_uri_stem order by cnt desc; Parquet に CTAS する CREATE TABLE iis_w3c_logs_parquet WITH ( format = 'PARQUET', external_location = 's3://iis-log…