100GB SSBパフォーマンステストを例に、ByteHouseクラウドデータウェアハウスでデータ分析の旅を始めましょう。

100GB SSBパフォーマンステストを例に、ByteHouseクラウドデータウェアハウスでデータ分析の旅を始めましょう。

I. 従来のデータ ウェアハウスの進化: クラウド データ ウェアハウス

近年、データの「爆発的な」増加に伴い、ますます多くのデータが生成、収集、保存されるようになりました。膨大なデータの真の価値を掘り起こし、ビジネスチャンスを抽出し、将来に対する洞察を得ることは、現代の企業や組織にとって無視できない命題となっています。

データの量と複雑さが増すにつれて、データ分析と処理の技術アーキテクチャも進化しています。膨大なデータ分析に直面すると、従来の OLAP テクノロジー アーキテクチャの問題点がますます明らかになります。たとえば、容量の拡張と縮小には長い時間がかかり、リソースの使用率が低下し、コストが高くなります。運用・保守の構成が複雑で、専門の技術者の介入が必要になります。

このような問題を解決するために、クラウド データ ウェアハウスの概念が生まれました。従来のデータ ウェアハウス アーキテクチャとは異なり、クラウド ネイティブ データ ウェアハウスはクラウド プラットフォームの基本リソースを活用してリソースの動的な拡張と縮小を実現し、リソース使用率を最大化することで、実際の使用量に基づいた従量課金モデルを実現します。

クラウド ネイティブ データ プラットフォームである ByteHouse は、アーキテクチャ レベルから始まり、ストレージとコンピューティングを分離するクラウド ネイティブ アーキテクチャを通じてクラウド インフラストラクチャに完全に適応します。 ByteDance内で、ByteHouseはすでにユーザー成長ビジネス、広告、A/Bテストなど、分析アプリケーションシナリオの80%をサポートしています。その卓越した分析性能に加え、ByteHouseのすぐに使える従量課金制の機能により、企業や個人の参入障壁が大幅に下がり、わずか数分でデータ分析の魅力を体験できます。口先だけでは済まない。次に、ByteHouse クラウド データ ウェアハウスの強力な機能を実際のケースを通じて体験してみましょう。

II. ByteHouse をすぐに使い始める - 軽量クラウド データ ウェアハウス

この章では、ByteHouse Cloud Data Warehouse を使用して SSB ベンチマーク テストを実行します。読者に製品のパフォーマンスを理解させると同時に、製品内の各モジュールの機能を理解してもらい、データ分析の旅を開き、膨大なデータを分析することでデータ分析を加速させます。以下は、ByteHouse のアーキテクチャの概要です。

SSBベンチマーク

SSB (Star Schema Benchmark) は、マサチューセッツ州立大学ボストン校の研究者によって定義された実際のビジネス アプリケーションに基づくデータ モデルです。 SSB は TPC-H 標準の改良版です。主に、TPC-H のスノーフレーク モデルをより一般的なスター モデルに変更し、ベンチマーク クエリを複雑なアドホック クエリからより固定された構造の OLAP クエリに変更します。これは主に、OLAP エンジンと軽量データ ウェアハウス シナリオのクエリ パフォーマンスをシミュレートおよびテストするために使用されます。 SSB ベンチマークは比較的中立的で、実際のビジネス シナリオに近いため、学界や産業界で広く使用されています。

SSB ベンチマークにおける対応するテーブル構造を以下に示します。 SSB は主にスター モデルを採用しており、これには 1 つのファクト テーブル lineorder と 4 つのディメンション テーブル customer、part、dwdate、supplier が含まれていることがわかります。各ディメンション テーブルは、主キーを通じてファクト テーブルに関連付けられます。テストでは、複数のテーブルの関連付け、グループ化、複雑な条件、その他の組み合わせを含む 13 個の SQL クエリを実行します。詳細については、SSB ドキュメント (https://www.cs.umb.edu/~poneil/StarSchemaB.pdf) を参照してください。

ステップ1:公式サイトに登録し、ByteHouseを有効化する

ByteHouse Cloud Data Warehouse Volcano Engine の公式 Web サイトにアクセスし、Volcano Engine アカウントを登録し、実名認証を完了してから、製品コンソールにログインします。テスト用に製品を起動します。現在、ByteHouse は年間および月間サブスクリプションと従量課金制の 2 つのインスタンス モードをサポートしているため、ビジネス ニーズに応じて選択できます。

ByteHouse クラウド データ ウェアハウス Volcano Engine 公式ウェブサイト

https://www.volcengine.com/product/bytehouse-cloud

製品コンソール

https://console.volcengine.com/bytehouse

ステップ2: 計算グループを作成する

コンソールにログインすると、データベース テーブル管理、データの読み込み、SQL ワークシート、計算グループ、クエリ履歴、ロール管理など、いくつかの主要なモジュールが表示されます。それぞれ以下の機能があります。

データベース テーブル管理: データベース、データ テーブル、ビューなどのデータ オブジェクトを作成および管理するために使用されます。データの読み込み: オブジェクト ストレージ、Kafka などのさまざまなオフラインおよびリアルタイム データ ソースからデータを書き込むために使用されます。SQL ワークシート: インターフェイスで SQL クエリを編集、管理、実行します。コンピューティング グループ: データ クエリなどの操作を実行するための仮想コンピューティング リソースを作成および管理します。クエリ履歴: SQL の履歴実行レコード、ステータス、クエリの詳細などを表示するために使用されます。

データベースの作成やテーブルの作成、クエリなどの後続の操作を容易にするために、まずByteHouseコンソールでモデルLのコンピューティンググループを作成します(次の図を参照)。

コンピューティング グループは、オンデマンドでスケールアウトできる Bytehouse 内のコンピューティング リソースのクラスターです。コンピューティング グループは、DQL や DML などのデータ クエリ操作を実行するために必要な CPU、メモリ、一時ストレージなどのリソースを提供します。 ByteHouse コンピューティング グループは、弾力的な拡張と縮小、読み取りと書き込みの分離、ストレージとコンピューティングの分離などを実現でき、リソースに対するきめ細かい権限制御を実行できます。

ステップ3: データベーステーブルを作成する

コンソールページでssb_``100という名前のデータベースを作成します

作成が完了したら、SQL ワークシート モジュールに入り、次のテーブル作成ステートメントを通じて 4 つのデータ テーブル (ファクト テーブル) を作成し、対応する SQL ステートメントを保存します。

テーブルssb_100 .customerを作成します

C_CUSTKEY UInt32
C_NAME文字列
C_ADDRESS文字列
C_CITY LowCardinality (文字列)、
C_NATION LowCardinality (文字列)、
C_REGION LowCardinality (文字列)、
C_PHONE文字列
C_MKTSEGMENT LowCardinality (文字列)、
C_PLACEHOLDER Nullable (文字列)

ENGINE = CnchMergeTree ORDER BY ( C_CUSTKEY );
テーブルssb_100を作成します行順序

LO_ORDERKEY UInt32
LO_LINENUMBER UInt8
LO_CUSTKEY UInt32
LO_PARTKEY UInt32
LO_SUPPKEY UInt32
LO_ORDERDATE日付
LO_ORDERPRIORITY LowCardinality (文字列)、
LO_SHIPPRIORITY UInt8
LO_QUANTITY UInt8
LO_EXTENDEDPRICE UInt32
LO_ORDTOTALPRICE UInt32
LO_DISCOUNT UInt8
LO_REVENUE UInt32
LO_SUPPLYCOST UInt32
LO_TAX UInt8
LO_COMMITDATE日付
LO_SHIPMODE LowCardinality (文字列)、
LO_PLACEHOLDER Nullable (文字列)

ENGINE = CnchMergeTree PARTITION BY to Year ( LO_ORDERDATE ) ORDER BY ( LO_ORDERDATE , LO_ORDERKEY );
テーブルssb_100を作成します一部

P_PARTKEY UInt32
P_NAME文字列
P_MFGR LowCardinality (文字列)、
P_CATEGORY LowCardinality (文字列)、
P_BRAND LowCardinality (文字列)、
P_COLOR LowCardinality (文字列)、
P_TYPE LowCardinality (文字列)、
P_SIZE UInt8
P_CONTAINER LowCardinality (文字列)、
P_PLACEHOLDER Nullable (文字列)

ENGINE = CnchMergeTree ORDER BY P_PARTKEY ;
テーブルssb_100 .supplierを作成します

S_SUPPKEY UInt32
S_NAME文字列
S_ADDRESS文字列
S_CITY LowCardinality (文字列)、
S_NATION LowCardinality (文字列)、
S_REGION LowCardinality (文字列)、
S_PHONE文字列
S_PLACEHOLDER Nullable (文字列)

ENGINE = CnchMergeTree ORDER BY S_SUPPKEY ;
テーブルssb_100を作成します dwdate

D_DATEKEY UInt32
D_DATE文字列
D_DAYOFWEEK文字列--セクション2.6サイズ8として定義されています水曜日9文字です
D_MONTH文字列
D_YEAR UInt32
D_YEARMONTHNUM UInt32
D_YEARMONTH文字列
D_DAYNUMINWEEK UInt32
D_DAYNUMINMONTH UInt32 ,
D_DAYNUMINYEAR UInt32
D_MONTHNUMINYEAR UInt32 ,
D_WEEKNUMINYEAR UInt32
D_SELLINGSEASON文字列
D_LASTDAYINWEEKFL UInt32 ,
D_LASTDAYINMONTHFL UInt32 ,
D_HOLIDAYFL UInt32
D_WEEKDAYFL UInt32
S_PLACEHOLDER Nullable (文字列)

ENGINE = CnchMergeTree () ORDER BY ( D_DATEKEY );

SQL が実行されると、コンソールの左側にある対応するデータ オブジェクト ページに、作成された 5 つのワークシート (customer、dwdate、lineorder、part、supplier) が表示されます。

ステップ4: オブジェクトストレージからSSBデータをインポートする

SSB_100 GB データセットを事前に生成し、オブジェクトストレージ (AWS S3 や Volcano Engine TOS など) に保存することで、データを ByteHouse に簡単にすばやくインポートして分析できます。この演習では、Volcano Engine TOS のデータ ソースを構成してデータをインポートします。

まず、データ読み込みモジュールで、新しいオブジェクトストレージデータソースを作成し、対応するキーを設定してVolcano Engineオブジェクトストレージに接続します。

新しいデータソースに接続したら、bytehouse-shared-datasetのストレージバケットと、対応するssb_100/lineorder.csvのパスを選択します。

以前に作成したデータベース ssb_100 と対応するテーブル lineorder を選択し、[作成] を押します。他の 4 つのワークシートのデータをロードする手順を繰り返します。

データソースに保存されるデータ項目数は以下のとおりです。インポートが完了すると、データ テーブル内の行数をカウントし、精度検証を実行するために使用されます。

インポート タスクを作成したら、「開始」をクリックしてインポート タスクを開始します。タスクが開始されると、リソースが割り当てられ、数秒以内にインポート タスクが初期化されます。インポート処理中は、推定時間とインポートの進行状況が表示されます。インポートタスクの実行詳細では、インポートステータス、インポート詳細ログ、構成情報などを表示できます。

ステップ5: データ処理と分析

1. オリジナルクエリテスト

SSB の 13 個のクエリ ステートメントを実行して、複数テーブルの関連付けや並べ替えなどのシナリオでパフォーマンス テストを実行します。クエリステートメントは次のとおりです。

 --プレウォーム
ssb_100から*選択します C_CUSTKEYによる顧客注文記述制限100 ;
ssb_100から*選択します dwdate order by D_DATEKEY desc limit 100 ;
ssb_100から*選択します linearorder LO_ORDERKEYによる順序desc制限100 ;
ssb_100から*選択します P_PARTKEYによる部品順序、降順制限100 ;
ssb_100から*選択しますサプライヤー順序S_SUPPKEYによる降順制限100 ;
ssb_100から*選択します linearorder_flat LO_ORDERKEYによる順序、降順、制限100 ;

-- Q1.1
収益として合計( LO_EXTENDEDPRICE * LO_DISCOUNT )を選択
ssb_100より行順序
ここで、 toYear ( LO_ORDERDATE ) = 1993
LO_DISCOUNT1 3
かつLO_QUANTITY < 25 ;

-- Q1.2
収益として合計( LO_EXTENDEDPRICE * LO_DISCOUNT )を選択
ssb_100より行順序
ここで、 toYYYYMM ( LO_ORDERDATE ) = 199401
LO_DISCOUNT4 6
LO_QUANTITY26 35です

-- Q1.3
収益として合計( LO_EXTENDEDPRICE * LO_DISCOUNT )を選択
ssb_100より行順序
ここで、 toISOWeek ( LO_ORDERDATE ) = 6
そしてtoYear ( LO_ORDERDATE ) = 1994
LO_DISCOUNT5 7
LO_QUANTITY26 35です

-- Q2.1
LO_REVENUE、 LO_ORDERDATEd_yearP_BRANDとしてsum ( LO_REVENUE )、 toYear ( LO_ORDERDATE )を選択
ssb_100より線形順序ssb_100 パーツssb_100 サプライヤー
ここで、 LO_PARTKEY = P_PARTKEY LO_SUPPKEY = S_SUPPKEY
P_CATEGORY = 'MFGR#53' S_REGION = ' AMERICA'
GROUP BY d_yearP_BRAND ;

-- Q2.2
SELECT sum ( LO_REVENUE )、 toYear ( LO_ORDERDATE ) AS yearP_BRAND
ssb_100より線形順序ssb_100 パーツssb_100 サプライヤー
ここで、 LO_PARTKEY = P_PARTKEYかつLO_SUPPKEY = S_SUPPKEY
P_BRAND > = 'MFGR#2221'かつP_BRAND <= 'MFGR#2228'かつS_REGION = 'ASIA'
GROUP BYP_BRAND
ORDER BY yearP_BRAND ;

-- Q2.3
SELECT sum ( LO_REVENUE )、 toYear ( LO_ORDERDATE ) AS yearP_BRAND
ssb_100より線形順序ssb_100 パーツssb_100 サプライヤー
ここで、 LO_PARTKEY = P_PARTKEYかつLO_SUPPKEY = S_SUPPKEY
P_BRAND = 'MFGR#2239' S_REGION = ' EUROPE'
GROUP BYP_BRAND
ORDER BY yearP_BRAND ;

-- Q3.1
C_NATIONS_NATIONtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100より行順序ssb_100 パーツssb_100 サプライヤーssb_100 お客様
ここで、 LO_PARTKEY = P_PARTKEY LO_SUPPKEY = S_SUPPKEY LO_CUSTKEY = C_CUSTKEY
C_REGION = 'ASIA'かつS_REGION = 'ASIA'かつyear >= 1992かつyear < = 1997
GROUP BY C_NATIONS_NATION
ORDER BYASC収益DESC ;

-- Q3.2
C_CITYS_CITYtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100より行順序ssb_100 パーツssb_100 サプライヤーssb_100 お客様
ここで、 LO_PARTKEY = P_PARTKEY LO_SUPPKEY = S_SUPPKEY LO_CUSTKEY = C_CUSTKEY
C_NATION = ' UNITED STATES'かつS_NATION = 'UNITED STATES'かつyear >= 1992かつyear <= 1997
C_CITYS_CITYグループ化
ORDER BYASC収益DESC ;

-- Q3.3
C_CITYS_CITYtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100より行順序ssb_100 パーツssb_100 サプライヤーssb_100 お客様
ここで、 LO_PARTKEY = P_PARTKEY LO_SUPPKEY = S_SUPPKEY LO_CUSTKEY = C_CUSTKEY
かつ( C_CITY = 'UNITED KI1'またはC_CITY = 'UNITED KI5' )かつ( S_CITY = 'UNITED KI1'またはS_CITY = 'UNITED KI5' )かつ>= 1992かつ<= 1997
C_CITYS_CITYグループ化
ORDER BYASC収益DESC ;

-- Q3.4
C_CITYS_CITYtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100より行順序ssb_100 パーツssb_100 サプライヤーssb_100 お客様
ここで、 LO_PARTKEY = P_PARTKEY LO_SUPPKEY = S_SUPPKEY LO_CUSTKEY = C_CUSTKEY
かつ( C_CITY = 'UNITED KI1'またはC_CITY = 'UNITED KI5' ) AND ( S_CITY = 'UNITED KI1'またはS_CITY = 'UNITED KI5' ) AND toYYYYMM ( LO_ORDERDATE ) = 199712
GROUP BY C_CITYS_CITY
ORDER BYASC収益DESC ;

-- Q4 ​​.1
SELECT toYear ( LO_ORDERDATE ) AS yearC_NATIONsum ( LO_REVENUE - LO_SUPPLYCOST ) AS profit
ssb_100より行順序ssb_100 パーツssb_100 サプライヤーssb_100 お客様
ここで、 LO_PARTKEY = P_PARTKEY LO_SUPPKEY = S_SUPPKEY LO_CUSTKEY = C_CUSTKEY
C_REGION = 'AMERICA'かつS_REGION = 'AMERICA'かつ( P_MFGR = ' MFGR#1'またはP_MFGR = 'MFGR#2' )
GROUP BYC_NATION
ORDER BY year ASCC_NATION ASC ;

-- Q4.2
toYear ( LO_ORDERDATE ) AS yearS_NATIONP_CATEGORYsum ( LO_REVENUE - LO_SUPPLYCOST ) AS profitを選択します
ssb_100より行順序ssb_100 パーツssb_100 サプライヤーssb_100 お客様
ここで、 LO_PARTKEY = P_PARTKEY LO_SUPPKEY = S_SUPPKEY LO_CUSTKEY = C_CUSTKEY
かつC_REGION = 'AMERICA' AND S_REGION = 'AMERICA' AND ( year = 1997 OR year = 1998 ) AND ( P_MFGR = 'MFGR#1' OR P_MFGR = 'MFGR#2' )
S_NATIONP_CATEGORYグループ化
ORDER BY year ASCS_NATION ASCP_CATEGORY ASC ;

-- Q4.3
toYear ( LO_ORDERDATE ) AS yearS_CITYP_BRANDsum ( LO_REVENUE - LO_SUPPLYCOST ) AS profitを選択します
ssb_100より線形順序ssb_100 パーツssb_100 サプライヤー
ここで、 LO_PARTKEY = P_PARTKEYかつLO_SUPPKEY = S_SUPPKEY
S_NATION = 'UNITED STATES' AND ( year = 1997 OR year = 1998 ) AND P_CATEGORY = 'MFGR#14'
S_CITYP_BRANDグループ化
ORDER BY year ASCS_CITY ASCP_BRAND ASC ;

2. フラットテーブルテスト

SSB データ セットのテストを容易にするために、SSB を書き直してスター モデルを平坦化し、分析用の大きな幅広のテーブルに変換することができます。

注: テーブルのフラット化を確実に実行するには、パラメータ SET max_memory_usage = 20000000000; を構成する必要があります。さらに、実行タイムアウトによる障害を回避するには、ByteHouse コンソール ([マイ アカウント] > [クエリ構成] > [クエリ タイムアウト]) でクエリ タイムアウトを 3600 秒に設定する必要があります。

最大メモリ使用量20000000000設定します
send_timeout3600設定します
受信タイムアウト3600設定します
ssb_100が存在しない場合はテーブルを作成します線形順序フラット
エンジン= CnchMergeTree
to Yearによるパーティション化( LO_ORDERDATE )
( LO_ORDERDATELO_ORDERKEY )による順序付け
選択
L . LO_ORDERKEYLO_ORDERKEYとして
L. LO_LINENUMBER をLO_LINENUMBERとして
L. LO_CUSTKEYLO_CUSTKEYとして
L. LO_PARTKEYをLO_PARTKEYとして
L. LO_SUPPKEYLO_SUPPKEYとして
L. LO_ORDERDATEとしてLO_ORDERDATE
L. LO_ORDERPRIORITYとしてLO_ORDERPRIORITY
L. LO_SHIPPRIORITYLO_SHIPPRIORITYとして
L. LO_QUANTITYLO_QUANTITYとして
L. LO_EXTENDEDPRICELO_EXTENDEDPRICEとして
L. LO_ORDTOTALPRICEとしてLO_ORDTOTALPRICE
L . LO_DISCOUNTLO_DISCOUNTとして
L. LO_REVENUE をLO_REVENUEとして
L. LO_SUPPLYCOST をLO_SUPPLYCOSTとして
L . LO_TAXLO_TAXとして
L. LO_COMMITDATEとしてLO_COMMITDATE
L. LO_SHIPMODE をLO_SHIPMODEとして
C. C_NAME をC_NAMEとして
C. C_ADDRESSC_ADDRESSとして
C. C_CITYC_CITYとして
C. C_NATIONC_NATIONとして
C. C_REGIONC_REGIONとして
C. C_PHONEC_PHONEとして
C. C_MKTSEGMENT をC_MKTSEGMENTとして
S . S_NAMEとしてS_NAME
S . S_ADDRESSS_ADDRESSとして
S . S_CITYS_CITYとして
S . S_NATIONS_NATIONとして
S . S_REGIONS_REGIONとして
S . S_PHONES_PHONEとして
P . P_NAME をP_NAMEとして
P . P_MFGRP_MFGRとして
P . P_CATEGORYP_CATEGORYとして
P . P_BRAND をP_BRANDとして
P . P_COLORP_COLORとして
P . P_TYPEP_TYPEとして
P . P_SIZE はP_SIZEとして
P . P_CONTAINERP_CONTAINERとして
ssb_100より行順序Lとする
内部結合ssb_100 顧客C on Cです C_CUSTKEY = L LO_カスタマーキー
内部結合ssb_100 S上のSとしてのサプライヤー S_SUPPKEY = L LO_SUPPKEY
内部結合ssb_100 部分をP上のPとして表します P_PARTKEY = L LO_PARTKEY ;

テーブルが作成された後、次に示すようにクエリ ステートメントを実行して SSB パフォーマンス テストが実行されます。

 --F1.1
SELECT sum ( LO_EXTENDEDPRICE * LO_DISCOUNT ) AS収益
ssb_100よりラインオーダーフラット
WHERE toYear ( LO_ORDERDATE ) = 1993
13のLO_DISCOUNT
かつLO_QUANTITY < 25 ;
--F1.2
SELECT sum ( LO_EXTENDEDPRICE * LO_DISCOUNT ) AS収益
ssb_100よりラインオーダーフラット
WHERE toYYYYMM ( LO_ORDERDATE ) = 199401
46のLO_DISCOUNT
かつ、 LO_QUANTITY26から35の間である
--F1.3
SELECT sum ( LO_EXTENDEDPRICE * LO_DISCOUNT ) AS収益
ssb_100よりラインオーダーフラット
WHERE toISOWeek ( LO_ORDERDATE ) = 6
AND toYear ( LO_ORDERDATE ) = 1994
57のLO_DISCOUNT
かつ、 LO_QUANTITY26から35の間である
--F2.1
SELECT sum ( LO_REVENUE )、 toYear ( LO_ORDERDATE ) AS yearP_BRAND
ssb_100よりラインオーダーフラット
P_CATEGORY = 'MFGR#12'かつS_REGION = 'AMERICA'の場合
GROUP BYP_BRAND
ORDER BY yearP_BRAND ;
--F2.2
SELECT sum ( LO_REVENUE )、 toYear ( LO_ORDERDATE ) AS yearP_BRAND
ssb_100よりラインオーダーフラット
P_BRAND >= 'MFGR#2221'かつP_BRAND <= 'MFGR#2228'かつS_REGION = 'ASIA' の場合
GROUP BYP_BRAND
ORDER BY yearP_BRAND ;
--F2.3
SELECT sum ( LO_REVENUE )、 toYear ( LO_ORDERDATE ) AS yearP_BRAND
ssb_100よりラインオーダーフラット
P_BRAND = 'MFGR#2239'かつS_REGION = 'EUROPE'の場合
GROUP BYP_BRAND
ORDER BY yearP_BRAND ;
--F3.1
C_NATIONS_NATIONtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100よりラインオーダーフラット
C_REGION = 'ASIA'かつS_REGION = 'ASIA'かつyear >= 1992かつyear <= 1997 の場合
GROUP BY C_NATIONS_NATION
ORDER BYASC収益DESC ;
--F3.2
C_CITYS_CITYtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100よりラインオーダーフラット
C_NATION = 'UNITED STATES'かつS_NATION = 'UNITED STATES'かつyear >= 1992かつyear <= 1997 の場合
C_CITYS_CITYグループ化
ORDER BYASC収益DESC ;
--F3.3
C_CITYS_CITYtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100よりラインオーダーフラット
ここで、 ( C_CITY = 'UNITED KI1'またはC_CITY = 'UNITED KI5' )かつ( S_CITY = 'UNITED KI1'またはS_CITY = 'UNITED KI5' )かつyear >= 1992かつyear <= 1997
C_CITYS_CITYグループ化
ORDER BYASC収益DESC ;
--F3.4
C_CITYS_CITYtoYear ( LO_ORDERDATE ) ASyearsum ( LO_REVENUE ) ASrevenueを選択します
ssb_100よりラインオーダーフラット
ここで( C_CITY = 'UNITED KI1'またはC_CITY = 'UNITED KI5' )かつ( S_CITY = 'UNITED KI1'またはS_CITY = 'UNITED KI5' )かつtoYYYYMM ( LO_ORDERDATE ) = 199712
C_CITYS_CITYグループ化
ORDER BYASC収益DESC ;
--F4.1
toYear ( LO_ORDERDATE ) AS yearC_NATIONsum ( LO_REVENUE - LO_SUPPLYCOST ) AS profit選択します
ssb_100よりラインオーダーフラット
C_REGION = 'AMERICA'かつS_REGION = 'AMERICA'かつ( P_MFGR = 'MFGR#1'またはP_MFGR = 'MFGR#2' )
GROUP BYC_NATION
ORDER BY year ASCC_NATION ASC ;
--F4.2
toYear ( LO_ORDERDATE ) AS yearS_NATIONP_CATEGORYsum ( LO_REVENUE - LO_SUPPLYCOST ) AS profitを選択します
ssb_100よりラインオーダーフラット
C_REGION = 'AMERICA'かつS_REGION = 'AMERICA'かつ( year = 1997またはyear = 1998 )かつ( P_MFGR = 'MFGR#1'またはP_MFGR = 'MFGR#2' )の場合
S_NATIONP_CATEGORYグループ化
ORDER BY year ASCS_NATION ASCP_CATEGORY ASC ;
--F4.3
toYear ( LO_ORDERDATE ) AS yearS_CITYP_BRANDsum ( LO_REVENUE - LO_SUPPLYCOST ) AS profitを選択します
ssb_100よりラインオーダーフラット
S_NATION = 'UNITED STATES'かつ( year = 1997またはyear = 1998 )かつP_CATEGORY = 'MFGR#14'
S_CITYP_BRANDグループ化
ORDER BY year ASCS_CITY ASCP_BRAND ASC ;

III.クエリ結果とコスト分析

実行後、統計クエリの結果は次のようになります。

注: クエリ結果が表示されるまでの時間は、構成パラメータとリソース構成によって異なる場合があります。クエリの最適化については、ByteHouse にお問い合わせください。

クエリが完了すると、ByteHouse コンピューティング グループの詳細ページで、クエリの合計数や CPU/メモリ使用率などのワークロードを表示して、コンピューティング リソースの使用状況を確認できます。

このストレス テストに基づく推定によると、コンピューティング リソースとストレージ リソースの消費量は次の表のようになります。 ByteHouse Cloud Data Warehouse バージョンは使用量に応じて課金されるため、アイドル時のコンピューティング グループの自動シャットダウンをサポートし、アイドル料金は請求されないため、リソースを大幅に節約できます。テストが完了した後、推定総消費量は約31.23元になります。

<<:  VMware Kit Colbert: 技術革新を活用して持続可能な開発を促進し、協力してネットゼロ炭素排出の達成を目指す

>>:  より軽く、より強く、よりスマートに! Bonree ONE Spring正式版がリリースされました

推薦する

外部リンクを構築する3つの型破りな方法

外部リンクは、SEO 担当者が常に重視する問題であり、初期の頃は SEO の最も重要な最適化作業とさ...

2021 年のエンタープライズ クラウド コンピューティング戦略の 7 つのトレンド

2021 年にビジネス成果の向上を目指す CIO にとって、最優先の目標は、ハイブリッド クラウドの...

新しいウェブサイトを立ち上げるときに4つのことをすれば、5分以内にインデックスされることも夢ではありません。

みなさんこんにちは。私は先週、4 つのウェブサイトを立ち上げました。これらの 4 つのウェブサイトを...

2015年中国インターネットの9つの主要発展傾向

昨年の正月頃、筆者は「2014年中国インターネットトップ10ニュース予測」と題する記事を執筆し、多く...

usshosting-月額3.74ドル/KVM/メモリ2g/ハードディスク75g/トラフィック2T/カナダ

usshosting は非常に新しい VPS 販売業者です。公式には 2009 年に設立されました。...

経済の不確実性と気候変動が将来のネットワークを再構築する

今日、動的な作業環境、変化するデバイス要件、経済の不確実性などの市場の力により、新しい働き方、ビジネ...

ネット資本運用でMLMが復活:人材獲得の本質はより隠されている

2009年に「自主連鎖販売」が摘発されて以来、国はこのねずみ講の取り締まりに乗り出し、多くのねずみ講...

マーケティングの罠分析: あなたも罠にかかっているかも

インターネットが隆盛を極めるこの時代、ますます人気が高まっているオンライン マーケティングは人々の注...

サーバー仮想化技術におけるゴースト吹きランプトリオ: KVM、XEN、OVZ

人気オンラインドラマ『鬼が灯を消す:神秘の古城』については、私のように毎回更新を早く待っているネット...

ウェブマスターネットワークニュース:Tmall Wirelessの取引額が1億元を超え、テンセントがXiaomiに投資すると噂される

1. テンセント・シャオミスキャンダルシーズン2:ソフトウェアとハ​​ードウェアの統合製品への賭けテ...

コンテンツが王様の時代:検索エンジンはブログをターゲットにするでしょうか?

コンテンツこそが王様だということは、SEO の初期の頃から言われてきました。これまでの SEO に関...

SNSサイト運営におけるユーザーの帰属意識分析

康盛のUCHomeの登場、そしてその後のWeiboの概念を取り入れたThinkSNS、ThinkSA...

ディスカッション: フレンドリーリンクの場合、BR と PR のどちらを重視しますか?

私は同じ分野のウェブマスターと友好的なリンクの問題について議論し、今日は暇な時間に記事を書くことにし...

オウルクラウド:米国セラデータセンター+CUVIPライン+弾力性のあるカスタマイズクラウドサーバー、10G防御、20%割引、月額19元から

Oulu Cloudは、米国ロサンゼルスのceraデータセンターにクラウドサーバーを新設しました。こ...