mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 23:21:59 +00:00
Merge remote-tracking branch 'origin' into unbundled-packager
This commit is contained in:
commit
9e9e723061
@ -2,13 +2,6 @@
|
||||
"docker/packager/deb": {
|
||||
"name": "yandex/clickhouse-deb-builder",
|
||||
"dependent": [
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
"docker/test/stateless",
|
||||
"docker/test/stateless_with_coverage",
|
||||
"docker/test/stateless_pytest",
|
||||
"docker/test/coverage",
|
||||
>>>>>>> origin
|
||||
"docker/packager/unbundled"
|
||||
]
|
||||
},
|
||||
@ -152,6 +145,10 @@
|
||||
"docker/test/base": {
|
||||
"name": "yandex/clickhouse-test-base",
|
||||
"dependent": [
|
||||
"docker/test/stateless",
|
||||
"docker/test/stateless_with_coverage",
|
||||
"docker/test/stateless_pytest",
|
||||
"docker/test/coverage"
|
||||
]
|
||||
},
|
||||
"docker/packager/unbundled": {
|
||||
|
@ -1,15 +1,15 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 17
|
||||
toc_title: "AMPLab Big Data\u30D9\u30F3\u30C1\u30DE\u30FC\u30AF"
|
||||
toc_title: "AMPLab Big Data ベンチマーク"
|
||||
---
|
||||
|
||||
# AMPLab Big Dataベンチマーク {#amplab-big-data-benchmark}
|
||||
# AMPLab Big Data ベンチマーク {#amplab-big-data-benchmark}
|
||||
|
||||
参照https://amplab.cs.berkeley.edu/benchmark/
|
||||
https://amplab.cs.berkeley.edu/benchmark/ を参照して下さい。
|
||||
|
||||
https://aws.amazon.com で無料アカウントにサインアップしてください。クレジットカード、電子メール、電話番号が必要です。
|
||||
https://console.aws.amazon.com/iam/home?nc2=h\_m\_sc\#security\_credential で新しいアクセスキーを取得します。
|
||||
|
||||
で無料アカウントにサインアップhttps://aws.amazon.com.それはクレジットカード、電子メール、および電話番号が必要です。 新しいアクセスキーを取得するhttps://console.aws.amazon.com/iam/home?nc2=h\_m\_sc\#security\_credential
|
||||
|
||||
コンソールで以下を実行します:
|
||||
|
||||
@ -90,7 +90,7 @@ CREATE TABLE uservisits_5nodes_on_single
|
||||
) ENGINE = MergeTree(visitDate, visitDate, 8192);
|
||||
```
|
||||
|
||||
コンソールに戻る:
|
||||
コンソールに戻って以下を実行します:
|
||||
|
||||
``` bash
|
||||
$ for i in tiny/rankings/*.deflate; do echo $i; zlib-flate -uncompress < $i | clickhouse-client --host=example-perftest01j --query="INSERT INTO rankings_tiny FORMAT CSV"; done
|
||||
@ -101,7 +101,7 @@ $ for i in 5nodes/rankings/*.deflate; do echo $i; zlib-flate -uncompress < $i |
|
||||
$ for i in 5nodes/uservisits/*.deflate; do echo $i; zlib-flate -uncompress < $i | clickhouse-client --host=example-perftest01j --query="INSERT INTO uservisits_5nodes_on_single FORMAT CSV"; done
|
||||
```
|
||||
|
||||
クエリデータの取得サンプル:
|
||||
データの取得サンプルクエリ:
|
||||
|
||||
``` sql
|
||||
SELECT pageURL, pageRank FROM rankings_1node WHERE pageRank > 1000
|
||||
|
@ -1,14 +1,11 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 19
|
||||
toc_title: "Criteo\u304B\u3089\u30C6\u30E9\u30D0\u30A4\u30C8\u306E\u30AF\u30EA\u30C3\
|
||||
\u30AF\u30ED\u30B0"
|
||||
toc_title: "Criteo のテラバイトクリックログ"
|
||||
---
|
||||
|
||||
# Criteoからのクリックログのテラバイト {#terabyte-of-click-logs-from-criteo}
|
||||
# Criteo のテラバイトクリックログ {#terabyte-of-click-logs-from-criteo}
|
||||
|
||||
データのダウンロードhttp://labs.criteo.com/downloads/download-terabyte-click-logs/
|
||||
http://labs.criteo.com/downloads/download-terabyte-click-logs/ から データをダウンロードして下さい。
|
||||
|
||||
ログをインポートするテーブルを作成します:
|
||||
|
||||
|
@ -1,15 +1,13 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_folder_title: "\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u4F8B"
|
||||
toc_folder_title: "データセット例"
|
||||
toc_priority: 12
|
||||
toc_title: "\u306F\u3058\u3081\u306B"
|
||||
toc_title: "イントロダクション"
|
||||
---
|
||||
|
||||
# データセット例 {#example-datasets}
|
||||
|
||||
この方法について説明し得る例データセットおよび輸入しClickHouse.
|
||||
一部のデータセットの例ではクエリーもございます。
|
||||
このセクションでは、データセット例を取得し、ClickHouseにそれらをインポートする方法について説明します。
|
||||
いくつかのデータセット例では、クエリも利用可能です。
|
||||
|
||||
- [匿名Yandexの。メトリカデータセット](metrica.md)
|
||||
- [Star Schemaベンチマーク](star-schema.md)
|
||||
|
@ -1,41 +1,41 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 14
|
||||
toc_title: "Yandex.\u30E1\u30C8\u30EA\u30AB\u30C7\u30FC\u30BF"
|
||||
toc_title: "Yandex.Metrica データ"
|
||||
---
|
||||
|
||||
# 匿名Yandexの。メトリカデータ {#anonymized-yandex-metrica-data}
|
||||
# 匿名化された Yandex.Metrica データ {#anonymized-yandex-metrica-data}
|
||||
|
||||
データセット (`hits_v1`)と訪問 (`visits_v1` Yandexの)。メトリカ につなげていくかを学びますYandex.メトリカ [クリックハウスの歴史](../../introduction/history.md) セクション
|
||||
データセットは、Yandex.Metricaのヒット数(`hits_v1`)と訪問数(`visits_v1`)に関する匿名化されたデータを含む2つのテーブルから構成されています。
|
||||
Yandex.Metricaについての詳細は [ClickHouse history](../../introduction/history.md) のセクションを参照してください。
|
||||
|
||||
のデータセットのテーブル、つぶやきの本文は、以下のクエリをダウンロードした圧縮 `tsv.xz` ファイルに対して割. それに加えて、の拡張バージョン `hits` テーブルを含む100万行はTSVでhttps://clickhouse-datasets.s3.yandex.net/hits/tsv/hits\_100m\_obfuscated\_v1.tsv.xz としての準備が大切でhttps://clickhouse-datasets.s3.yandex.net/hits/partitions/hits\_100m\_obfuscated\_v1.tar.xz.
|
||||
データセットは2つのテーブルから構成されており、どちらも圧縮された `tsv.xz` ファイルまたは準備されたパーティションとしてダウンロードすることができます。
|
||||
さらに、1億行を含む`hits`テーブルの拡張版が TSVとして https://clickhouse-datasets.s3.yandex.net/hits/tsv/hits_100m_obfuscated_v1.tsv.xz に、準備されたパーティションとして https://clickhouse-datasets.s3.yandex.net/hits/partitions/hits_100m_obfuscated_v1.tar.xz にあります。
|
||||
|
||||
## 取得のテーブルから調の間仕切り {#obtaining-tables-from-prepared-partitions}
|
||||
## パーティション済みテーブルの取得 {#obtaining-tables-from-prepared-partitions}
|
||||
|
||||
ダウンロード、輸入のヒットテーブル:
|
||||
hits テーブルのダウンロードとインポート:
|
||||
|
||||
``` bash
|
||||
curl -O https://clickhouse-datasets.s3.yandex.net/hits/partitions/hits_v1.tar
|
||||
tar xvf hits_v1.tar -C /var/lib/clickhouse # path to ClickHouse data directory
|
||||
# check permissions on unpacked data, fix if required
|
||||
tar xvf hits_v1.tar -C /var/lib/clickhouse # ClickHouse のデータディレクトリへのパス
|
||||
# 展開されたデータのパーミッションをチェックし、必要に応じて修正します。
|
||||
sudo service clickhouse-server restart
|
||||
clickhouse-client --query "SELECT COUNT(*) FROM datasets.hits_v1"
|
||||
```
|
||||
|
||||
ダウンロード、輸入訪問:
|
||||
visits のダウンロードとインポート:
|
||||
|
||||
``` bash
|
||||
curl -O https://clickhouse-datasets.s3.yandex.net/visits/partitions/visits_v1.tar
|
||||
tar xvf visits_v1.tar -C /var/lib/clickhouse # path to ClickHouse data directory
|
||||
# check permissions on unpacked data, fix if required
|
||||
tar xvf visits_v1.tar -C /var/lib/clickhouse # ClickHouse のデータディレクトリへのパス
|
||||
# 展開されたデータのパーミッションをチェックし、必要に応じて修正します。
|
||||
sudo service clickhouse-server restart
|
||||
clickhouse-client --query "SELECT COUNT(*) FROM datasets.visits_v1"
|
||||
```
|
||||
|
||||
## 圧縮TSVファイルからのテーブルの取得 {#obtaining-tables-from-compressed-tsv-file}
|
||||
## 圧縮されたTSVファイルからのテーブルの取得 {#obtaining-tables-from-compressed-tsv-file}
|
||||
|
||||
圧縮TSVファイルか:
|
||||
圧縮TSVファイルのダウンロードと hits テーブルのインポート:
|
||||
|
||||
``` bash
|
||||
curl https://clickhouse-datasets.s3.yandex.net/hits/tsv/hits_v1.tsv.xz | unxz --threads=`nproc` > hits_v1.tsv
|
||||
@ -49,7 +49,7 @@ clickhouse-client --query "OPTIMIZE TABLE datasets.hits_v1 FINAL"
|
||||
clickhouse-client --query "SELECT COUNT(*) FROM datasets.hits_v1"
|
||||
```
|
||||
|
||||
ダウンロード、輸入からの訪問圧縮tsvファイル:
|
||||
圧縮TSVファイルのダウンロードと visits テーブルのインポート:
|
||||
|
||||
``` bash
|
||||
curl https://clickhouse-datasets.s3.yandex.net/visits/tsv/visits_v1.tsv.xz | unxz --threads=`nproc` > visits_v1.tsv
|
||||
@ -65,6 +65,6 @@ clickhouse-client --query "SELECT COUNT(*) FROM datasets.visits_v1"
|
||||
|
||||
## クエリの例 {#example-queries}
|
||||
|
||||
[ClickHouseチュートリアル](../../getting-started/tutorial.md) Yandexに基づいています。Metricaデータの推奨使うことができるようにこのデータやトランザクションデータだけを通してチュートリアルです。
|
||||
[ClickHouse tutorial](../../getting-started/tutorial.md) は Yandex.Metrica のデータセットに基づいているため、このチュートリアルを実施するのがおすすめです。
|
||||
|
||||
追加の質問をこれらのテーブルで見られるもので、 [ステートフルテスト](https://github.com/ClickHouse/ClickHouse/tree/master/tests/queries/1_stateful) クリックハウ `test.hists` と `test.visits` )がある。
|
||||
これらのテーブルに関する他のクエリ例は、ClickHouse の [stateful tests](https://github.com/ClickHouse/ClickHouse/tree/master/tests/queries/1_stateful) で見つけることができます。(それらは`test.hirsts` と`test.visits` という名前です)
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,20 +1,18 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 15
|
||||
toc_title: "\u30AA\u30F3\u30BF\u30A4\u30E0"
|
||||
toc_title: OnTime
|
||||
---
|
||||
|
||||
# オンタイム {#ontime}
|
||||
# OnTime {#ontime}
|
||||
|
||||
このデータセットは二つの方法で取得できます:
|
||||
|
||||
- 生データからインポート
|
||||
- ダウンロード調の間仕切り
|
||||
- パーティション済みのダウンロード
|
||||
|
||||
## 生データからインポート {#import-from-raw-data}
|
||||
|
||||
デー:
|
||||
データのダウンロード:
|
||||
|
||||
``` bash
|
||||
for s in `seq 1987 2018`
|
||||
@ -26,7 +24,7 @@ done
|
||||
done
|
||||
```
|
||||
|
||||
(からhttps://github.com/Percona-Lab/ontime-airline-performance/blob/master/download.sh )
|
||||
(https://github.com/Percona-Lab/ontime-airline-performance/blob/master/download.sh より)
|
||||
|
||||
テーブルの作成:
|
||||
|
||||
@ -153,7 +151,7 @@ SETTINGS index_granularity = 8192;
|
||||
$ for i in *.zip; do echo $i; unzip -cq $i '*.csv' | sed 's/\.00//g' | clickhouse-client --host=example-perftest01j --query="INSERT INTO ontime FORMAT CSVWithNames"; done
|
||||
```
|
||||
|
||||
## ダウンロード調の間仕切り {#download-of-prepared-partitions}
|
||||
## パーティション済みデータのダウンロード {#download-of-prepared-partitions}
|
||||
|
||||
``` bash
|
||||
$ curl -O https://clickhouse-datasets.s3.yandex.net/ontime/partitions/ontime.tar
|
||||
@ -164,7 +162,7 @@ $ clickhouse-client --query "select count(*) from datasets.ontime"
|
||||
```
|
||||
|
||||
!!! info "情報"
|
||||
以下で説明するクエリを実行する場合は、完全なテーブル名を使用する必要があります, `datasets.ontime`.
|
||||
以下で説明するクエリを実行する場合は、`datasets.ontime` のような 完全なテーブル名を使用する必要があります。
|
||||
|
||||
## クエリ {#queries}
|
||||
|
||||
@ -190,7 +188,7 @@ GROUP BY DayOfWeek
|
||||
ORDER BY c DESC;
|
||||
```
|
||||
|
||||
Q2。 10分以上遅延したフライトの数は、2000年から2008年の曜日でグループ化されています
|
||||
Q2. 2000年から2008年までの10分以上遅延したフライトの数を曜日ごとにグループ化
|
||||
|
||||
``` sql
|
||||
SELECT DayOfWeek, count(*) AS c
|
||||
@ -200,7 +198,7 @@ GROUP BY DayOfWeek
|
||||
ORDER BY c DESC;
|
||||
```
|
||||
|
||||
Q3. 2000年から2008年の空港による遅延の数
|
||||
Q3. 2000年から2008年までの空港別の遅延件数
|
||||
|
||||
``` sql
|
||||
SELECT Origin, count(*) AS c
|
||||
@ -211,7 +209,7 @@ ORDER BY c DESC
|
||||
LIMIT 10;
|
||||
```
|
||||
|
||||
Q4 2007年のキャリア別の遅延の数
|
||||
Q4. 2007年のキャリア別の遅延の数
|
||||
|
||||
``` sql
|
||||
SELECT Carrier, count(*)
|
||||
@ -221,7 +219,7 @@ GROUP BY Carrier
|
||||
ORDER BY count(*) DESC;
|
||||
```
|
||||
|
||||
Q5 2007年のキャリア別遅延の割合
|
||||
Q5. 2007年のキャリア別遅延の割合
|
||||
|
||||
``` sql
|
||||
SELECT Carrier, c, c2, c*100/c2 as c3
|
||||
@ -257,7 +255,7 @@ GROUP BY Carrier
|
||||
ORDER BY c3 DESC
|
||||
```
|
||||
|
||||
Q6 年のより広い範囲のための前の要求、2000-2008
|
||||
Q6. 前のリクエストを2000年から2008年までに広げたもの
|
||||
|
||||
``` sql
|
||||
SELECT Carrier, c, c2, c*100/c2 as c3
|
||||
@ -293,7 +291,7 @@ GROUP BY Carrier
|
||||
ORDER BY c3 DESC;
|
||||
```
|
||||
|
||||
Q7 年ごとに10分以上遅延したフライトの割合
|
||||
Q7. 年別の、10分以上遅延したフライトの割合
|
||||
|
||||
``` sql
|
||||
SELECT Year, c1/c2
|
||||
@ -326,7 +324,7 @@ GROUP BY Year
|
||||
ORDER BY Year;
|
||||
```
|
||||
|
||||
Q8 さまざまな年の範囲のための直接接続された都市の数によって最も人気のある目的地
|
||||
Q8. 複数年の、直行都市数別の人気の高い目的地
|
||||
|
||||
``` sql
|
||||
SELECT DestCityName, uniqExact(OriginCityName) AS u
|
||||
@ -400,7 +398,7 @@ ORDER BY c DESC
|
||||
LIMIT 10;
|
||||
```
|
||||
|
||||
この性能試験はVadim Tkachenkoによって作成されました。 見る:
|
||||
このパフォーマンステストは、Vadim Tkachenkoによって作成されました。以下を参照してください。
|
||||
|
||||
- https://www.percona.com/blog/2009/10/02/analyzing-air-traffic-performance-with-infobright-and-monetdb/
|
||||
- https://www.percona.com/blog/2009/10/26/air-traffic-queries-in-luciddb/
|
||||
|
@ -1,13 +1,11 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 20
|
||||
toc_title: "Star Schema\u30D9\u30F3\u30C1\u30DE\u30FC\u30AF"
|
||||
toc_title: "スタースキーマ ベンチマーク"
|
||||
---
|
||||
|
||||
# Star Schemaベンチマーク {#star-schema-benchmark}
|
||||
# スタースキーマ ベンチマーク {#star-schema-benchmark}
|
||||
|
||||
Dbgenのコンパイル:
|
||||
dbgen のコンパイル:
|
||||
|
||||
``` bash
|
||||
$ git clone git@github.com:vadimtk/ssb-dbgen.git
|
||||
@ -18,7 +16,7 @@ $ make
|
||||
データの生成:
|
||||
|
||||
!!! warning "注意"
|
||||
と `-s 100` dbgenは600万行(67GB)を生成します。 `-s 1000` それは6億行を生成します(これは多くの時間がかかります)
|
||||
`-s 100` をつけるとdbgenは600万行(67GB)を生成します。 `-s 1000` は6億行を生成します(これには非常に時間がかかります)
|
||||
|
||||
``` bash
|
||||
$ ./dbgen -s 1000 -T c
|
||||
@ -102,7 +100,7 @@ $ clickhouse-client --query "INSERT INTO supplier FORMAT CSV" < supplier.tbl
|
||||
$ clickhouse-client --query "INSERT INTO lineorder FORMAT CSV" < lineorder.tbl
|
||||
```
|
||||
|
||||
変換 “star schema” 非正規化に “flat schema”:
|
||||
「star schema」を非正規化された「flat schema」に変換します。
|
||||
|
||||
``` sql
|
||||
SET max_memory_usage = 20000000000;
|
||||
|
@ -1,13 +1,11 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 18
|
||||
toc_title: "\u30A6\u30A3\u30AD\u30B9\u30BF\u30C3\u30C8"
|
||||
toc_title: WikiStat
|
||||
---
|
||||
|
||||
# ウィキスタット {#wikistat}
|
||||
# WikiStat {#wikistat}
|
||||
|
||||
参照:http://dumps.wikimedia.org/other/pagecounts-raw/
|
||||
参照: http://dumps.wikimedia.org/other/pagecounts-raw/
|
||||
|
||||
テーブルの作成:
|
||||
|
||||
|
@ -1,17 +1,16 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_folder_title: "\u306F\u3058\u3081\u306B"
|
||||
toc_folder_title: "はじめに"
|
||||
toc_hidden: true
|
||||
toc_priority: 8
|
||||
toc_title: "\u96A0\u3057"
|
||||
toc_title: hidden
|
||||
---
|
||||
|
||||
# はじめに {#getting-started}
|
||||
|
||||
あなたがClickHouseに新しく、そのパフォーマンスの実践的な感覚を取得したい場合は、まず第一に、あなたが通過する必要があります [インストール処理](install.md). その後できます:
|
||||
あなたが ClickHouse は初めてで、そのパフォーマンスを体感するためのハンズオンを行いたい場合は、最初に [インストール](../getting-started/install.md) を行って下さい。
|
||||
そうすると、以下を実施できるようになります。
|
||||
|
||||
- [詳細なチュートリアルを通過](tutorial.md)
|
||||
- [データセット例の実験](example-datasets/ontime.md)
|
||||
- [詳細なチュートリアル](../getting-started/tutorial.md)
|
||||
- [データセット例を用いて試す](../getting-started/example-datasets/ontime.md)
|
||||
|
||||
[元の記事](https://clickhouse.tech/docs/en/getting_started/) <!--hide-->
|
||||
|
@ -1,48 +1,47 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 11
|
||||
toc_title: "\u8A2D\u7F6E"
|
||||
toc_title: "インストール"
|
||||
---
|
||||
|
||||
# 設置 {#installation}
|
||||
# インストール {#installation}
|
||||
|
||||
## システム要件 {#system-requirements}
|
||||
|
||||
ClickHouseは、x86\_64、AArch64、またはPowerPC64LE CPUアーキテクチャを持つLinux、FreeBSD、またはMac OS X上で実行できます。
|
||||
ClickHouseは、x86_64、AArch64、またはPowerPC64LE CPUアーキテクチャを持つLinux、FreeBSD、またはMac OS X上で実行できます。
|
||||
|
||||
公式の事前ビルドされたバイナリは、通常、x86\_64用にコンパイルされ、SSE4.2命令セットを利用するため、特に明記されていない限り、それをサポートす このコマンドをチェックが現在のCPU支援のためのSSE4.2:
|
||||
公式のプレビルドバイナリは通常、x86_64用にコンパイルされており、SSE 4.2命令セットを利用しています。現在のCPUがSSE 4.2をサポートしているかどうかを確認するコマンドは以下の通りです:
|
||||
|
||||
``` bash
|
||||
$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
|
||||
```
|
||||
|
||||
走ClickHouseにプロセッサーをサポートしていないSSE4.2てAArch64はPowerPC64LE建築き [ソースからClickHouseを構築](#from-sources) 適切な構成調節を使って。
|
||||
SSEをサポートしていないプロセッサ上でClickHouseを実行するには SSE 4.2 がサポートされているか、AArch64またはPowerPC64LEアーキテクチャで上で、適切な設定と調整を行い、[ソースからClickHouseをビルド](#from-sources)する必要があります。
|
||||
|
||||
## 利用できる設置選択 {#available-installation-options}
|
||||
## 利用可能なインストールオプション {#available-installation-options}
|
||||
|
||||
### DEBパッケージから {#install-from-deb-packages}
|
||||
|
||||
公式の事前コンパイルを使用することをお勧めします `deb` DebianまたはUbuntu用のパッケージ。 走りこれらのコマンド置パッケージ:
|
||||
Debian や Ubuntu 用にコンパイル済みの公式パッケージ `deb` を使用することをお勧めします。以下のコマンドを実行してパッケージをインストールして下さい:
|
||||
|
||||
|
||||
``` bash
|
||||
{% include 'install/deb.sh' %}
|
||||
```
|
||||
|
||||
最新のバージョンを使用する場合は、置き換えます `stable` と `testing` (これはテスト環境に推奨されます)。
|
||||
最新版を使いたい場合は、`stable`を`testing`に置き換えてください。(テスト環境ではこれを推奨します)
|
||||
|
||||
でもダウンロードとインストールパッケージ動 [ここに](https://repo.clickhouse.tech/deb/stable/main/).
|
||||
同様に、[こちら](https://repo.clickhouse.tech/deb/stable/main/)からパッケージをダウンロードして、手動でインストールすることもできます。
|
||||
|
||||
#### パッケージ {#packages}
|
||||
|
||||
- `clickhouse-common-static` — Installs ClickHouse compiled binary files.
|
||||
- `clickhouse-server` — Creates a symbolic link for `clickhouse-server` とをインストールしデフォルトのサーバーの設定をします。
|
||||
- `clickhouse-client` — Creates a symbolic link for `clickhouse-client` そして他の顧客関連の用具。 および設置お客様の設定ファイルです。
|
||||
- `clickhouse-common-static-dbg` — Installs ClickHouse compiled binary files with debug info.
|
||||
- `clickhouse-common-static` — コンパイルされた ClickHouse のバイナリファイルをインストールします。
|
||||
- `clickhouse-server` — `clickhouse-server` へのシンボリックリンクを作成し、デフォルトのサーバ設定をインストールします。
|
||||
- `clickhouse-client` — `clickhouse-server` および他のclient関連のツールへのシンボリックリンクを作成し、client関連の設定ファイルをインストールします。
|
||||
- `clickhouse-common-static-dbg` — コンパイルされた ClickHouse のバイナリファイルを、デバッグ情報と一緒にインストールします。
|
||||
|
||||
### RPMパッケージから {#from-rpm-packages}
|
||||
|
||||
公式の事前コンパイルを使用することをお勧めします `rpm` CentOS、RedHat、その他すべてのrpmベースのLinuxディストリビューション用のパッケージ。
|
||||
CentOS、RedHat、その他すべてのrpmベースのLinuxディストリビューションでは、公式のコンパイル済み `rpm` パッケージを使用することを推奨します。
|
||||
|
||||
まず、公式リポジトリを追加する必要があります:
|
||||
|
||||
@ -52,22 +51,21 @@ sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
|
||||
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
|
||||
```
|
||||
|
||||
最新のバージョンを使用する場合は、置き換えます `stable` と `testing` (これはテスト環境に推奨されます)。 その `prestable` タグは時々あまりにも利用可能です。
|
||||
最新版を使いたい場合は `stable` を `testing` に置き換えてください。(テスト環境ではこれが推奨されています)。`prestable` もしばしば同様に利用できます。
|
||||
|
||||
そこにこれらのコマンド置パッケージ:
|
||||
そして、以下のコマンドを実行してパッケージをインストールします:
|
||||
|
||||
``` bash
|
||||
sudo yum install clickhouse-server clickhouse-client
|
||||
```
|
||||
|
||||
でもダウンロードとインストールパッケージ動 [ここに](https://repo.clickhouse.tech/rpm/stable/x86_64).
|
||||
同様に、[こちら](https://repo.clickhouse.tech/rpm/stable/x86_64) からパッケージをダウンロードして、手動でインストールすることもできます。
|
||||
|
||||
### Tgzアーカイブから {#from-tgz-archives}
|
||||
|
||||
公式の事前コンパイルを使用することをお勧めします `tgz` のインストール `deb` または `rpm` パッケージはできません。
|
||||
すべての Linux ディストリビューションで、`deb` や `rpm` パッケージがインストールできない場合は、公式のコンパイル済み `tgz` アーカイブを使用することをお勧めします。
|
||||
|
||||
必要なバージョンは次のとおりです `curl` または `wget` リポジトリからhttps://repo.clickhouse.tech/tgz/.
|
||||
その後、アーカイブをダウンロードは開梱と設置と設置のためのイントロダクションです。 最新バージョンの例:
|
||||
必要なバージョンは、リポジトリ https://repo.clickhouse.tech/tgz/ から `curl` または `wget` でダウンロードできます。その後、ダウンロードしたアーカイブを解凍し、インストールスクリプトでインストールしてください。最新版の例は以下です:
|
||||
|
||||
``` bash
|
||||
export LATEST_VERSION=`curl https://api.github.com/repos/ClickHouse/ClickHouse/tags 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n 1`
|
||||
@ -90,69 +88,80 @@ tar -xzvf clickhouse-client-$LATEST_VERSION.tgz
|
||||
sudo clickhouse-client-$LATEST_VERSION/install/doinst.sh
|
||||
```
|
||||
|
||||
本番環境では、最新のものを使用することをお勧めします `stable`-バージョン。 き、その番号をGitHubのページhttps://github.com/ClickHouse/ClickHouse/tags とpostfix `-stable`.
|
||||
本番環境では、最新の `stable` バージョンを使うことをお勧めします。GitHub のページ https://github.com/ClickHouse/ClickHouse/tags で 接尾辞 `-stable` となっているバージョン番号として確認できます。
|
||||
|
||||
### Dockerイメージから {#from-docker-image}
|
||||
|
||||
Docker内でClickHouseを実行するには、次のガイドに従います [Dockerハブ](https://hub.docker.com/r/yandex/clickhouse-server/). このように映像公 `deb` 中のパッケージ。
|
||||
Docker内でClickHouseを実行するには、次の [DockerHub](https://hub.docker.com/r/yandex/clickhouse-server/) のガイドに従います。それらのイメージでは内部で公式の `deb` パッケージを使っています。
|
||||
|
||||
### 非標準環境向けの事前コンパイルされたバイナリから {#from-binaries-non-linux}
|
||||
|
||||
非LinuxオペレーティングシステムとAArch64 CPUアーキテクチャのために、ClickHouseのビルドは `master` ブランチの最新のコミットからクロスコンパイルされたバイナリを提供しています。(数時間の遅延があります)
|
||||
|
||||
|
||||
- [macOS](https://builds.clickhouse.tech/master/macos/clickhouse) — `curl -O 'https://builds.clickhouse.tech/master/macos/clickhouse' && chmod a+x ./clickhouse`
|
||||
- [FreeBSD](https://builds.clickhouse.tech/master/freebsd/clickhouse) — `curl -O 'https://builds.clickhouse.tech/master/freebsd/clickhouse' && chmod a+x ./clickhouse`
|
||||
- [AArch64](https://builds.clickhouse.tech/master/aarch64/clickhouse) — `curl -O 'https://builds.clickhouse.tech/master/aarch64/clickhouse' && chmod a+x ./clickhouse`
|
||||
|
||||
ダウンロード後、`clickhouse client` を使ってサーバーに接続したり、`clickhouse local` を使ってローカルデータを処理したりすることができます。`clickhouse server` を実行するには、GitHubから[server](https://github.com/ClickHouse/ClickHouse/blob/master/programs/server/config.xml)と[users](https://github.com/ClickHouse/ClickHouse/blob/master/programs/server/users.xml)の設定ファイルを追加でダウンロードする必要があります。
|
||||
|
||||
これらのビルドは十分ににテストされていないため、本番環境での使用は推奨されていませんが、自己責任で行うことができます。これらでは、ClickHouseの機能のサブセットのみが利用可能です。
|
||||
|
||||
### ソースから {#from-sources}
|
||||
|
||||
ClickHouseを手動でコンパイルするには、以下の手順に従います [Linux](../development/build.md) または [Mac OS X](../development/build-osx.md).
|
||||
ClickHouseを手動でコンパイルするには,次の [Linux](../development/build.md) または [Mac OS X](../development/build-osx.md) の指示に従ってください.
|
||||
|
||||
できるコンパイルパッケージはインストールしていたプログラムを使用もインストールせずにパッケージ。 またビルを手動で無数の組み合わせで自分だけのSSE4.2に必要構築のためのAArch64定する必要はありません。
|
||||
パッケージをコンパイルしてインストールすることもできますし、パッケージをインストールせずにプログラムを使用することもできます。また、手動でビルドすることで、SSE 4.2 の要件を無効にしたり、AArch64 CPU 用にビルドしたりすることもできます。
|
||||
|
||||
Client: programs/clickhouse-client
|
||||
Server: programs/clickhouse-server
|
||||
|
||||
データフォルダとメタデータフォルダを作成し、 `chown` 目的のユーザーのためのそれら。 それらのパスは、サーバー設定(src/programs/server/config)で変更することができます。xml)、デフォルトでは:
|
||||
ユーザのために、データとメタデータのフォルダを作成して `chown` する必要があります。それらのパスはサーバ設定 (src/programs/server/config.xml) で変更することができます。デフォルトは以下です:
|
||||
|
||||
/opt/clickhouse/data/default/
|
||||
/opt/clickhouse/metadata/default/
|
||||
|
||||
Gentooでは、以下を使用することができます `emerge clickhouse` ソースからClickHouseをインストールする。
|
||||
Gentooでは, ソースからClickHouseをインストールするために `emerge clickhouse` を使うことができます。
|
||||
|
||||
## 起動 {#launch}
|
||||
|
||||
サーバを起動デーモンとして、:
|
||||
サーバをデーモンとして起動するには:
|
||||
|
||||
``` bash
|
||||
$ sudo service clickhouse-server start
|
||||
```
|
||||
|
||||
あなたが持っていない場合 `service` コマンドとして実行
|
||||
`service` コマンドがない場合は以下のように実行します:
|
||||
|
||||
``` bash
|
||||
$ sudo /etc/init.d/clickhouse-server start
|
||||
```
|
||||
|
||||
のログを参照してください `/var/log/clickhouse-server/` ディレクトリ。
|
||||
`/var/log/clickhouse-server/` ディレクトリのログを参照してください。
|
||||
|
||||
サーバーが起動しない場合は、ファイル内の構成を確認してください `/etc/clickhouse-server/config.xml`.
|
||||
サーバが起動しない場合は、`/etc/clickhouse-server/config.xml` ファイル内の設定を確認してください。
|
||||
|
||||
または手動で開始のサーバーからのコンソール:
|
||||
同様に、コンソールから以下のように手動で起動することができます:
|
||||
|
||||
``` bash
|
||||
$ clickhouse-server --config-file=/etc/clickhouse-server/config.xml
|
||||
```
|
||||
|
||||
この場合、ログはコンソールに印刷され、開発中に便利です。
|
||||
設定ファイルがカレントディレクトリにある場合は、 `--config-file` パラメータ。 デフォルトでは、 `./config.xml`.
|
||||
この場合、コンソールに開発時に便利なログが出力されます。設定ファイルがカレントディレクトリにある場合は、`--config-file` パラメータを指定する必要はありません。デフォルトでは `./config.xml` を使用します。
|
||||
|
||||
ClickHouse対応アクセス制限を設定します。 彼らはに位置しています `users.xml` ファイル(隣のファイル `config.xml`).
|
||||
デフォルトでは、 `default` ユーザー、パスワードなし。 見る `user/default/networks`.
|
||||
詳細については [“Configuration Files”](../operations/configuration-files.md).
|
||||
|
||||
Serverを起動した後、コマンドラインクライアントを使用してserverに接続できます:
|
||||
ClickHouseはアクセス制限の設定をサポートしています.それらは `users.xml` ファイル( `config.xml` の隣)にあります。デフォルトでは、`default` ユーザは、パスワードなしでどこからでもアクセスが許可されます。`user/default/networks` を参照し、詳細について、[「設定ファイル」](../operations/configuration-files.md)の項を参照してください。
|
||||
|
||||
|
||||
サーバを起動した後、コマンドラインクライアントを使用してサーバに接続することができます:
|
||||
|
||||
``` bash
|
||||
$ clickhouse-client
|
||||
```
|
||||
|
||||
デフォルトでは、 `localhost:9000` ユーザーに代わって `default` パスワードなし。 また、リモートサーバに接続するために使用することもできます `--host` 引数。
|
||||
デフォルトでは、ユーザ `default` で `localhost:9000` にパスワードなしで接続します。また、`--host` 引数を使ってリモートサーバに接続することもできます。
|
||||
|
||||
端末はUTF-8エンコードを使用する必要があります。
|
||||
詳細については [“Command-line client”](../interfaces/cli.md).
|
||||
端末はUTF-8エンコーディングを使用する必要があります。詳細については、[コマンドラインクライアント」](../interfaces/cli.md)を参照してください。
|
||||
|
||||
例:
|
||||
|
||||
@ -175,8 +184,8 @@ SELECT 1
|
||||
:)
|
||||
```
|
||||
|
||||
**生、おめでとうございます、システムを作ります!!**
|
||||
**おめでとうございます!システムが動きました!**
|
||||
|
||||
継続実験をダウンロードでき、試験データセットやじ [チュートリ](https://clickhouse.tech/tutorial.html).
|
||||
動作確認を続けるには、テストデータセットをダウンロードするか、[チュートリアル](https://clickhouse.tech/tutorial.html)を参照してください。
|
||||
|
||||
[元の記事](https://clickhouse.tech/docs/en/getting_started/install/) <!--hide-->
|
||||
|
@ -1,48 +1,72 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 14
|
||||
toc_title: "\u904A\u3073\u5834"
|
||||
toc_title: Playground
|
||||
---
|
||||
|
||||
# ClickHouseの運動場 {#clickhouse-playground}
|
||||
# ClickHouse Playground {#clickhouse-playground}
|
||||
|
||||
[ClickHouseの運動場](https://play.clickhouse.tech?file=welcome) "いちばん、人を考える実験ClickHouseによる走行クエリを瞬時にな設定をサーバまたはクラスター
|
||||
複数の例ではデータセットの遊び場などのサンプルのクエリを表すClickHouse特徴です。
|
||||
[ClickHouse Playground](https://play.clickhouse.tech) では、サーバーやクラスタを設定することなく、即座にクエリを実行して ClickHouse を試すことができます。
|
||||
いくつかの例のデータセットは、Playground だけでなく、ClickHouse の機能を示すサンプルクエリとして利用可能です. また、 ClickHouse の LTS リリースで試すこともできます。
|
||||
|
||||
クエリは読み取り専用ユーザーとして実行されます。 いくつかの制限を意味します:
|
||||
ClickHouse Playground は、[Yandex.Cloud](https://cloud.yandex.com/)にホストされている m2.small [Managed Service for ClickHouse](https://cloud.yandex.com/services/managed-clickhouse) インスタンス(4 vCPU, 32 GB RAM) で提供されています。クラウドプロバイダの詳細情報については[こちら](../commercial/cloud.md)。
|
||||
|
||||
- DDLクエリは許可されません
|
||||
- 挿入クエリは許可されません
|
||||
任意の HTTP クライアントを使用してプレイグラウンドへのクエリを作成することができます。例えば[curl](https://curl.haxx.se)、[wget](https://www.gnu.org/software/wget/)、[JDBC](../interfaces/jdbc.md)または[ODBC](../interfaces/odbc.md)ドライバを使用して接続を設定します。
|
||||
ClickHouse をサポートするソフトウェア製品の詳細情報は[こちら](../interfaces/index.md)をご覧ください。
|
||||
|
||||
次の設定も適用されます:
|
||||
- [`max_result_bytes=10485760`](../operations/settings/query_complexity/#max-result-bytes)
|
||||
- [`max_result_rows=2000`](../operations/settings/query_complexity/#setting-max_result_rows)
|
||||
- [`result_overflow_mode=break`](../operations/settings/query_complexity/#result-overflow-mode)
|
||||
- [`max_execution_time=60000`](../operations/settings/query_complexity/#max-execution-time)
|
||||
## 資格情報 {#credentials}
|
||||
|
||||
ClickHouseの運動場はm2の経験を与える。小さい
|
||||
[ClickHouseの管理サービス](https://cloud.yandex.com/services/managed-clickhouse)
|
||||
インスタンス [Yandex.クラウド](https://cloud.yandex.com/).
|
||||
詳細について [クラウドプロバイダー](../commercial/cloud.md).
|
||||
| パラメータ | 値 |
|
||||
| :---------------------------- | :-------------------------------------- |
|
||||
| HTTPS エンドポイント | `https://play-api.clickhouse.tech:8443` |
|
||||
| ネイティブ TCP エンドポイント | `play-api.clickhouse.tech:9440` |
|
||||
| ユーザ名 | `playgrounnd` |
|
||||
| パスワード | `clickhouse` |
|
||||
|
||||
ClickHouse遊びwebインタフェースによって、要求によClickHouse [HTTP API](../interfaces/http.md).
|
||||
コミュニケーションが円滑にバックエンドがありClickHouseクラスターになサーバーサイド願います。
|
||||
ClickHouse HTTPSエンドポイントは、遊び場の一部としても利用できます。
|
||||
|
||||
任意のHTTPクライアントを使用してplaygroundにクエリを実行できます。 [カール](https://curl.haxx.se) または [wget](https://www.gnu.org/software/wget/) または、次を使用して接続を設定します [JDBC](../interfaces/jdbc.md) または [ODBC](../interfaces/odbc.md) ドライバー
|
||||
ClickHouseをサポートするソフトウェア製品の詳細については、 [ここに](../interfaces/index.md).
|
||||
特定のClickHouseのリリースで試すために、追加のエンドポイントがあります。(ポートとユーザー/パスワードは上記と同じです)。
|
||||
|
||||
| パラメータ | 値 |
|
||||
|:-----------|:-----------------------------------------|
|
||||
| 端点 | https://play-api.クリックハウス技術:8443 |
|
||||
| ユーザ | `playground` |
|
||||
| パスワード | `clickhouse` |
|
||||
- 20.3 LTS: `play-api-v20-3.clickhouse.tech`
|
||||
- 19.14 LTS: `play-api-v19-14.clickhouse.tech`
|
||||
|
||||
このエンドポイントには安全な接続が必要です。
|
||||
!!! note "備考"
|
||||
これらのエンドポイントはすべて、安全なTLS接続が必要です。
|
||||
|
||||
例:
|
||||
|
||||
## 制限事項 {#limitations}
|
||||
|
||||
クエリは読み取り専用のユーザとして実行されます。これにはいくつかの制限があります。
|
||||
|
||||
- DDL クエリは許可されていません。
|
||||
- INSERT クエリは許可されていません。
|
||||
|
||||
また、以下の設定がなされています。
|
||||
|
||||
- [max\_result\_bytes=10485760](../operations/settings/query_complexity/#max-result-bytes)
|
||||
- [max\_result\_rows=2000](../operations/settings/query_complexity/#setting-max_result_rows)
|
||||
- [result\_overflow\_mode=break](../operations/settings/query_complexity/#result-overflow-mode)
|
||||
- [max\_execution\_time=60000](../operations/settings/query_complexity/#max-execution-time)
|
||||
|
||||
## 例 {#examples}
|
||||
|
||||
`curl` を用いて HTTPSエンドポイントへ接続する例:
|
||||
|
||||
``` bash
|
||||
curl "https://play-api.clickhouse.tech:8443/?query=SELECT+'Play+ClickHouse!';&user=playground&password=clickhouse&database=datasets"
|
||||
curl "https://play-api.clickhouse.tech:8443/?query=SELECT+'Play+ClickHouse\!';&user=playground&password=clickhouse&database=datasets"
|
||||
```
|
||||
|
||||
[CLI](../interfaces/cli.md) で TCP エンドポイントへ接続する例:
|
||||
|
||||
``` bash
|
||||
clickhouse client --secure -h play-api.clickhouse.tech --port 9440 -u playground --password clickhouse -q "SELECT 'Play ClickHouse\!'"
|
||||
```
|
||||
|
||||
## 実装の詳細 {#implementation-details}
|
||||
|
||||
ClickHouse PlaygroundのWebインタフェースは、ClickHouse [HTTP API](../interfaces/http.md)を介してリクエストを行います。
|
||||
Playgroundのバックエンドは、追加のサーバーサイドのアプリケーションを伴わない、ただのClickHouseクラスタです。
|
||||
上記のように, ClickHouse HTTPSとTCP/TLSのエンドポイントは Playground の一部としても公開されており、
|
||||
いずれも、上記の保護とよりよいグローバルな接続のためのレイヤを追加するために、[Cloudflare Spectrum](https://www.cloudflare.com/products/cloudflare-spectrum/) を介してプロキシされています。
|
||||
|
||||
!!! warning "注意"
|
||||
いかなる場合においても、インターネットにClickHouseサーバを公開することは **非推奨です**。
|
||||
プライベートネットワーク上でのみ接続を待機し、適切に設定されたファイアウォールによって保護されていることを確認してください。
|
||||
|
@ -1,35 +1,37 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 12
|
||||
toc_title: "\u30C1\u30E5\u30FC\u30C8\u30EA"
|
||||
toc_title: "チュートリアル"
|
||||
---
|
||||
|
||||
# ClickHouseチュートリアル {#clickhouse-tutorial}
|
||||
# ClickHouse チュートリアル {#clickhouse-tutorial}
|
||||
|
||||
## このチュートリアルから何を期待する? {#what-to-expect-from-this-tutorial}
|
||||
## このチュートリアルに期待されることは? {#what-to-expect-from-this-tutorial}
|
||||
|
||||
このチュートリアルでは、単純なClickHouseクラスターを設定する方法について説明します。 それは小さいが、耐障害性とスケーラブルになります。 次に、例のデータセットのいずれかを使用してデータを入力し、いくつかのデモクエリを実行します。
|
||||
このチュートリアルでは、単純なClickHouseクラスターを設定する方法について説明します。それは小規模ですが、耐障害性とスケーラブルになります。
|
||||
次に、データセット例のいずれかを使用してデータを入力し、いくつかのデモクエリを実行します。
|
||||
|
||||
## 単一ノードの設定 {#single-node-setup}
|
||||
|
||||
分散環境の複雑さを先送りするために、単一のサーバーまたは仮想マシンにClickHouseを展開することから始めます。 ClickHouseは通常、 [deb](install.md#install-from-deb-packages) または [rpm](install.md#from-rpm-packages) パッケージが、あります [代替案](install.md#from-docker-image) の営業システムな支援します。
|
||||
分散環境は複雑なので、まずは単一のサーバーまたは仮想マシンにClickHouseを展開することから始めます。
|
||||
ClickHouseは通常、[deb](../getting-started/install.md#install-from-deb-packages) or [rpm](../getting-started/install.md#from-rpm-packages) パッケージからインストールしますが、サポートされていないOSのために [代替案](install.md#from-docker-image) があります。
|
||||
|
||||
たとえば、次のように選択します `deb` パッケージと実行:
|
||||
例えば、`deb` パッケージを選択して実行する場合:
|
||||
|
||||
``` bash
|
||||
{% include 'install/deb.sh' %}
|
||||
```
|
||||
|
||||
インストールされたパッケージには何がありますか:
|
||||
インストールされたパッケージの内容:
|
||||
|
||||
- `clickhouse-client` パッケージ [clickhouse-クライアント](../interfaces/cli.md) 適用、相互ClickHouseコンソール顧客。
|
||||
- `clickhouse-common` パッケージが含まれてClickHouse実行可能ファイルです。
|
||||
- `clickhouse-server` パッケージを含む設定ファイルを実行ClickHouseしています。
|
||||
- `clickhouse-client` パッケージには [clickhouse-client](../interfaces/cli.md) アプリケーション、インタラクティブな ClickHouse コンソールクライアントが含まれています。
|
||||
- `clickhouse-common` パッケージには、ClickHouse実行可能ファイルが含まれています。
|
||||
- `clickhouse-server` パッケージには、ClickHouseをサーバとして実行するための設定ファイルが含まれています。
|
||||
|
||||
サーバー設定ファイルは `/etc/clickhouse-server/`. 更に行く前に、気づいて下さい `<path>` の要素 `config.xml`. Pathはデータストレージの場所を決定するため、ディスク容量の大きいボリューム上に配置する必要があります。 `/var/lib/clickhouse/`. 設定を調整したい場合は、直接編集するのは便利ではありません `config.xml` ファイルで、このように書き換え、将来のパッケージです。 のオーバーライドは、config要素の作成 [config内のファイル。dディレクトリ](../operations/configuration-files.md) として役立つ “patches” 設定する。xml。
|
||||
サーバ設定ファイルは `/etc/clickhouse-server/` にあります。先に進む前に、`config.xml` の `<path>` 要素に注目してください。
|
||||
パスはデータを保存する場所を決めるので、ディスク容量の大きいボリュームに配置する必要があります。デフォルト値は `/var/lib/clickhouse/` です。
|
||||
設定を調整したい場合、`config.xml` ファイルを直接編集するのは不便です。`config.xml` の要素をオーバーライドするために推奨される方法は、`config.xml` の「パッチ」として機能する [config.d ディレクトリ内のファイル](../operations/configuration-files.md) を作成することです。
|
||||
|
||||
お気づきの通り, `clickhouse-server` が開始後、自動的にパッケージ設置できます。 更新後も自動的に再起動されることはありません。 サーバーの起動方法はinitシステムによって異なります。:
|
||||
お気づきかもしれませんが、`clickhouse-server` は パッケージインストール後に自動的に起動されたり、アップデート後に自動的に再起動されることはありません。サーバの起動方法は init システムに依存しており、大抵は以下のようになっています:
|
||||
|
||||
``` bash
|
||||
sudo service clickhouse-server start
|
||||
@ -41,15 +43,15 @@ sudo service clickhouse-server start
|
||||
sudo /etc/init.d/clickhouse-server start
|
||||
```
|
||||
|
||||
サーバーログの既定の場所 `/var/log/clickhouse-server/`. サーバーは、クライアント接続を処理する準備ができています。 `Ready for connections` メッセージ
|
||||
サーバログのデフォルトの場所は `/var/log/clickhouse-server/` です。サーバが クライアントからの接続の準備が整うと、`Ready for connections` メッセージをログに出力します。
|
||||
|
||||
一度 `clickhouse-server` 稼働中であれば `clickhouse-client` サーバーに接続し、次のようなテストクエリを実行するには `SELECT "Hello, world!";`.
|
||||
一度 `clickhouse-server` を起動して実行すると、`clickhouse-client` を使ってサーバに接続し、`SELECT "Hello, world!";` のようなテストクエリを実行することができます。
|
||||
|
||||
<details markdown="1">
|
||||
|
||||
<summary>Clickhouse-クライアントのクイックヒント</summary>
|
||||
<summary>Clickhouse-クライアントのクイックtips</summary>
|
||||
|
||||
対話モード:
|
||||
インタラクティブモード:
|
||||
|
||||
``` bash
|
||||
clickhouse-client
|
||||
@ -71,7 +73,7 @@ echo 'SELECT 1' | clickhouse-client
|
||||
clickhouse-client <<< 'SELECT 1'
|
||||
```
|
||||
|
||||
指定した形式でファイルからデータを挿入する:
|
||||
指定したフォーマットでファイルからデータを insert する:
|
||||
|
||||
``` bash
|
||||
clickhouse-client --query='INSERT INTO table VALUES' < data.txt
|
||||
@ -80,39 +82,43 @@ clickhouse-client --query='INSERT INTO table FORMAT TabSeparated' < data.tsv
|
||||
|
||||
</details>
|
||||
|
||||
## インポート {#import-sample-dataset}
|
||||
## サンプルデータセットのインポート {#import-sample-dataset}
|
||||
|
||||
今度は、ClickHouseサーバーにサンプルデータを入力します。 このチュートリアルでは、Yandexの匿名化されたデータを使用します。Metrica、それがオープンソースになる前に、本番の方法でClickHouseを実行する最初のサービス(その詳細については [歴史セクション](../introduction/history.md)). そこには [Yandexのをインポートする複数の方法。メトリカデータセット](example-datasets/metrica.md) そして、チュートリアルのために、私たちは最も現実的なものに行きます。
|
||||
ClickHouseサーバーにいくつかのサンプルデータを入れてみましょう。
|
||||
このチュートリアルでは、ClickHouseがオープンソースになる以前(詳しくは [歴史について](../introduction/history.md) を参照)に初めて本番用途で使われたサービスである、Yandex.Metricaの匿名化されたデータを使用します。
|
||||
|
||||
### 表データのダウンロードと抽出 {#download-and-extract-table-data}
|
||||
[Yandex.Metrica データセットをインポートするにはいくつかの方法](../getting-started/example-datasets/metrica.md) がありますが, チュートリアルとして、最もよく使う方法を使用します。
|
||||
|
||||
### テーブルデータのダウンロードと展開 {#download-and-extract-table-data}
|
||||
|
||||
``` bash
|
||||
curl https://clickhouse-datasets.s3.yandex.net/hits/tsv/hits_v1.tsv.xz | unxz --threads=`nproc` > hits_v1.tsv
|
||||
curl https://clickhouse-datasets.s3.yandex.net/visits/tsv/visits_v1.tsv.xz | unxz --threads=`nproc` > visits_v1.tsv
|
||||
```
|
||||
|
||||
抽出されたファイルのサイズは約10GBです。
|
||||
展開されたファイルのサイズは約10GBです。
|
||||
|
||||
### テーブルの作成 {#create-tables}
|
||||
|
||||
ほとんどのデータベース管理システムClickHouse論理的にグテーブル “databases”. そこには `default` データベースが、我々は名前の新しいものを作成します `tutorial`:
|
||||
ほとんどのデータベース管理システムのように, ClickHouseは論理的にテーブルを "データベース" にグループ化します。
|
||||
`default` データベースがありますが、`tutorial` という名前の新しいものを作成します:
|
||||
|
||||
``` bash
|
||||
clickhouse-client --query "CREATE DATABASE IF NOT EXISTS tutorial"
|
||||
```
|
||||
|
||||
テーブルを作成するための構文は、データベースに比べて複雑です(参照 [参照](../sql-reference/statements/create.md). 一般に `CREATE TABLE` 声明を設定するつもの:
|
||||
テーブルを作成するための構文はデータベースに比べてはるかに複雑です([参照](../sql-reference/statements/create.md))。通常、`CREATE TABLE` 文は3つのキーを指定しなければなりません。
|
||||
|
||||
1. 作成するテーブルの名前。
|
||||
2. Table schema, i.e. list of columns and their [データ型](../sql-reference/data-types/index.md).
|
||||
3. [表エンジン](../engines/table-engines/index.md) このテーブルへのクエリが物理的に実行される方法に関するすべての詳細を決定します。
|
||||
2. テーブルのスキーマ。つまり、カラムと [データ型](../sql-reference/data-types/index.md) のリスト。
|
||||
3. [テーブルエンジン](../engines/table-engines/index.md) と、このテーブルへのクエリが物理的に実行される方法に関するすべての詳細を決定する設定。
|
||||
|
||||
Yandex.Metricaはweb分析サービスであり、サンプルデータセットは完全な機能をカバーしていないため、作成するテーブルは二つしかありません:
|
||||
Yandex.Metricaはウェブ解析サービスであり、サンプルデータセットでは機能が網羅されていないため、作成するテーブルは2つしかありません:
|
||||
|
||||
- `hits` とができるテーブルの各行動によるすべてのユーザーはすべてのwebサイトのサービスです。
|
||||
- `visits` はテーブルを含む組み立て済みセッションの代わりに個別に行動します。
|
||||
- `hits` はサービスの対象となるすべてのウェブサイト上ですべてのユーザが行った各アクションのテーブルです。
|
||||
- `visits` は、個々のアクションではなく、あらかじめ構築されたセッションを含むテーブルです。
|
||||
|
||||
これらのテーブルの実際のcreate tableクエリを見て実行しましょう:
|
||||
これらのテーブルの実際の CREATE TABLE クエリを実行しましょう:
|
||||
|
||||
``` sql
|
||||
CREATE TABLE tutorial.hits_v1
|
||||
@ -455,22 +461,22 @@ SAMPLE BY intHash32(UserID)
|
||||
SETTINGS index_granularity = 8192
|
||||
```
|
||||
|
||||
ドできるようになりました。方のクエリのインタラクティブモードの `clickhouse-client` (事前にクエリを指定せずに端末で起動するだけです)またはいくつか試してみてください [代替インターフェ](../interfaces/index.md) 望むなら
|
||||
これらのクエリは、`clickhouse-client` の対話型モード(事前にクエリを指定せずにターミナルで起動するだけです)を使って実行するか、[代替インターフェイス](../interfaces/index.md) で実行できます。
|
||||
|
||||
ご覧のとおり, `hits_v1` を使用して [基本的なMergeTreeエンジン](../engines/table-engines/mergetree-family/mergetree.md) は、 `visits_v1` を使用して [崩壊](../engines/table-engines/mergetree-family/collapsingmergetree.md) バリアント
|
||||
見ての通り、 `hits_v1` は [基本的な MergeTree エンジン](../engines/table-engines/mergetree-family/mergetree.md) を使っており、`visits_v1` は [Collapsing MergeTree](../engines/table-engines/mergetree-family/collapsingmergetree.md) という変種を使っています。
|
||||
|
||||
### デー {#import-data}
|
||||
### データのインポート {#import-data}
|
||||
|
||||
ClickHouseへのデータのインポートは [INSERT INTO](../sql-reference/statements/insert-into.md) 他の多くのSQLデータベースと同様のクエリ。 ただし、データは通常、次のいずれかで提供されます [対応するシリアル化形式](../interfaces/formats.md) 代わりに `VALUES` 句(これもサポートされています)。
|
||||
ClickHouseへのデータのインポートは、他の多くのSQLデータベースのように[INSERT INTO](../sql-reference/statements/insert-into.md)クエリを介して行われます。しかし、データは通常、`VALUES` 句 (これもサポートされています) の代わりに、[サポートされているシリアライズ形式](../interfaces/formats.md) のいずれかで提供されます。
|
||||
|
||||
ファイルをダウンロード前にタブ区切り形式では下記のように輸入したいお客様のコンソール:
|
||||
先ほどダウンロードしたファイルはタブ区切り形式になっており、コンソールクライアントから次のようにインポートします:
|
||||
|
||||
``` bash
|
||||
clickhouse-client --query "INSERT INTO tutorial.hits_v1 FORMAT TSV" --max_insert_block_size=100000 < hits_v1.tsv
|
||||
clickhouse-client --query "INSERT INTO tutorial.visits_v1 FORMAT TSV" --max_insert_block_size=100000 < visits_v1.tsv
|
||||
```
|
||||
|
||||
ClickHouseは多くの [調整する設定](../operations/settings/index.md) そして、コンソールクライアントでそれらを指定する一つの方法は、引数を介してです。 `--max_insert_block_size`. どのような設定が利用可能か、それらが何を意味し、デフォルトが何であるかを把握する最も簡単な方法は、 `system.settings` テーブル:
|
||||
ClickHouseには多くの [調整のための設定](../operations/settings/index.md) があり、コンソールクライアントで引数として指定する方法があります。どのような設定が利用可能で、それが何を意味し、デフォルトは何なのかを知る最も簡単な方法は、`system.settings` テーブルにクエリすることです:
|
||||
|
||||
``` sql
|
||||
SELECT name, value, changed, description
|
||||
@ -481,16 +487,19 @@ FORMAT TSV
|
||||
max_insert_block_size 1048576 0 "The maximum block size for insertion, if we control the creation of blocks for insertion."
|
||||
```
|
||||
|
||||
必要に応じ [OPTIMIZE](../sql-reference/statements/misc.md#misc_operations-optimize) インポート後のテーブル。 MergeTree-familyのエンジンで構成されているテーブルは、常にバックグラウンドでデータ部分のマージを行い、データストレージを最適化します(または少なくとも理にか これらのクエリのテーブルエンジンな保管の最適化現在の代わりについては後日、:
|
||||
必要に応じて、インポート後のテーブルを[OPTIMIZE](../sql-reference/statements/optimize.md)することができます。
|
||||
MergeTree-familyのエンジンで設定されているテーブルは、常にバックグラウンドでデータ部分のマージを行い、データストレージを最適化します(あるいは、少なくともそれが意味のあるものかどうかをチェックします)。
|
||||
|
||||
以下のクエリは、テーブルエンジンがストレージの最適化を後で行うのではなく、今すぐに行うように強制します:
|
||||
|
||||
``` bash
|
||||
clickhouse-client --query "OPTIMIZE TABLE tutorial.hits_v1 FINAL"
|
||||
clickhouse-client --query "OPTIMIZE TABLE tutorial.visits_v1 FINAL"
|
||||
```
|
||||
|
||||
これらのクエリはI/OとCPUを大量に消費する操作を開始するため、テーブルが一貫して新しいデータを受信する場合は、そのままにして、マージをバックグ
|
||||
これらのクエリは、I/OとCPUに負荷のかかる処理を開始するので、テーブルが継続して新しいデータを受け取る場合には、そのままにしてバックグラウンドでマージを実行させた方が良いでしょう。
|
||||
|
||||
今までチェックできる場合、テーブルの輸入に成功した:
|
||||
これで、テーブルのインポートが成功したかどうかを確認することができます:
|
||||
|
||||
``` bash
|
||||
clickhouse-client --query "SELECT COUNT(*) FROM tutorial.hits_v1"
|
||||
@ -519,18 +528,21 @@ FROM tutorial.visits_v1
|
||||
WHERE (CounterID = 912887) AND (toYYYYMM(StartDate) = 201403) AND (domain(StartURL) = 'yandex.ru')
|
||||
```
|
||||
|
||||
## クラスター展開 {#cluster-deployment}
|
||||
## クラスタのデプロイ {#cluster-deployment}
|
||||
|
||||
ClickHouseクラスターは均質なクラスターです。 設定手順:
|
||||
ClickHouseクラスタは均質なクラスタ(homogenous cluster)です。セットアップ手順は以下です:
|
||||
|
||||
1. イClickHouseサーバーのすべての機械のクラスター
|
||||
2. 構成ファイルでのクラスター設定の設定
|
||||
3. 各インスタ
|
||||
4. 作成 [分散テーブル](../engines/table-engines/special/distributed.md)
|
||||
1. クラスタのすべてのマシンにClickHouse serverをインストールする
|
||||
2. 設定ファイルにクラスタ設定を行う
|
||||
3. 各インスタンスにローカルテーブルを作成する
|
||||
4. [分散テーブル](../engines/table-engines/special/distributed.md) を作成する
|
||||
|
||||
[分散テーブル](../engines/table-engines/special/distributed.md) 実際には “view” ClickHouseクラスタのローカルテーブルに。 SELECTクエリから分散型のテーブル実行が持つリソースを活用したすべてのクラスターの破片. を指定しますconfigs複数のクラスターを作成した複数のテーブルのビューを提供する別のクラスター
|
||||
[分散テーブル](../engines/table-engines/special/distributed.md) は、
|
||||
実際には ClickHouse クラスタのローカルテーブルへの "ビュー "のようなものです。
|
||||
分散テーブルからの SELECT クエリは、すべてのクラスタのシャードのリソースを使用して実行されます。
|
||||
また、複数のクラスタのための設定を行い、異なるクラスタにビューを提供する複数の分散テーブルを作成することができます。
|
||||
|
||||
クラスターの設定例:
|
||||
3つのシャード、各1つのレプリカを持つクラスタの設定例:
|
||||
|
||||
``` xml
|
||||
<remote_servers>
|
||||
@ -557,37 +569,39 @@ ClickHouseクラスターは均質なクラスターです。 設定手順:
|
||||
</remote_servers>
|
||||
```
|
||||
|
||||
さらなる実証しましょう新しい地域のテーブルと同じ `CREATE TABLE` 私たちが使用したクエリ `hits_v1` しかし、異なるテーブル名:
|
||||
さらにデモンストレーションとして、`hits_v1` で使ったのと同じ `CREATE TABLE` クエリを使って新しいローカルテーブルを作成してみましょう:
|
||||
|
||||
``` sql
|
||||
CREATE TABLE tutorial.hits_local (...) ENGINE = MergeTree() ...
|
||||
```
|
||||
|
||||
クラスターのローカルテーブルにビューを提供する分散テーブルの作成:
|
||||
クラスタのローカルテーブルへのビューを提供する分散テーブルを作成します:
|
||||
|
||||
``` sql
|
||||
CREATE TABLE tutorial.hits_all AS tutorial.hits_local
|
||||
ENGINE = Distributed(perftest_3shards_1replicas, tutorial, hits_local, rand());
|
||||
```
|
||||
|
||||
一般的な方法は、クラスターのすべてのマシンで同様の分散テーブルを作成することです。 これは、クラスタの任意のマシン上で分散クエリを実行できます。 また、特定のSELECTクエリに対して一時的な分散テーブルを作成する別のオプションもあります [リモート](../sql-reference/table-functions/remote.md) テーブル関数。
|
||||
通常は、クラスタのすべてのマシンに同様の分散テーブルを作成します。これにより、クラスタのどのマシンでも分散クエリを実行することができます。
|
||||
また、[remote](../sql-reference/table-functions/remote.md) テーブル関数を使用して、与えられたSELECTクエリのための一時的な分散テーブルを作成する代替オプションもあります。
|
||||
|
||||
走ろう [INSERT SELECT](../sql-reference/statements/insert-into.md) 分散テーブルにテーブルを複数のサーバーに分散させます。
|
||||
分散テーブルに [INSERT SELECT](../sql-reference/statements/insert-into.md)を実行して、テーブルを複数のサーバに分散させてみましょう。
|
||||
|
||||
``` sql
|
||||
INSERT INTO tutorial.hits_all SELECT * FROM tutorial.hits_v1;
|
||||
```
|
||||
|
||||
!!! warning "通知"
|
||||
この方法は、大規模なテーブルのシャーディングには適していません。 別のツールがあります [クリックハウス-複写機](../operations/utilities/clickhouse-copier.md) 任意の大きなテーブルを再シャードできます。
|
||||
!!! warning "注意"
|
||||
この方法は、大きなテーブルのシャーディングには適していません。
|
||||
別のツール [clickhouse-copier](../operations/utilities/clickhouse-copier.md) があり、任意の大きなテーブルを再シャーディングすることができます。
|
||||
|
||||
予想されるように、計算上重いクエリは、3つのサーバーの代わりに使用するとn倍高速に実行されます。
|
||||
予想通り、計算量の多いクエリは、1台のサーバではなく3台のサーバを利用した方がN倍速く実行されます。
|
||||
|
||||
この場合、3つのシャードを持つクラスターを使用し、それぞれに単一のレプリカが含まれています。
|
||||
このケースでは、3つのシャードを持つクラスタを使用しており、それぞれに1つのレプリカが含まれています。
|
||||
|
||||
運用環境でレジリエンスを提供するには、各シャードに複数のアベイラビリティーゾーンまたはデータセンター(または少なくともラック)間に2-3個のレプリ ClickHouseでは、レプリカの数に制限はありません。
|
||||
本番環境でレジリエンスを提供するためには、各シャードが複数のアベイラビリティゾーンまたはデータセンター(または少なくともラック)の間で2~3個のレプリカを含むことをお勧めします。
|
||||
|
||||
レプリカを含むシャードのクラスターの設定例:
|
||||
3つのレプリカを含む1つのシャードのクラスタの設定例:
|
||||
|
||||
``` xml
|
||||
<remote_servers>
|
||||
@ -611,12 +625,16 @@ INSERT INTO tutorial.hits_all SELECT * FROM tutorial.hits_v1;
|
||||
</remote_servers>
|
||||
```
|
||||
|
||||
ネイティブレプリケーションを有効にするには [ZooKeeper](http://zookeeper.apache.org/) が必要です。
|
||||
ClickHouseは全てのレプリカ上でデータの整合性を取り、障害発生時には自動的にリストア処理を行います。
|
||||
ZooKeeperクラスタは別サーバ(ClickHouseを含む他のプロセスが稼働していない場所)に配置することをお勧めします。
|
||||
|
||||
ネイティブ複製を有効にする [飼育係](http://zookeeper.apache.org/) 必須です。 ClickHouseのデータの整合性はすべてのレプリカと回復手続き後の不動します。 別のサーバー(ClickHouseを含む他のプロセスが実行されていない場所)にZooKeeperクラスターを展開することをお勧めします。
|
||||
|
||||
!!! note "注"
|
||||
単純なケースでは、アプリケーションコードからすべてのレプリカにデータを書き込むことでデータを複製できます。 このアプローチは **ない** この場合、ClickHouseはすべてのレプリカでデータの一貫性を保証できません。 従ってそれはあなたの適用の責任になる。
|
||||
!!! note "備考"
|
||||
ZooKeeperは厳密な要件ではありません: いくつかの簡単なケースでは、アプリケーションコードからすべてのレプリカにデータを書き込むことでデータを複製することができます。このケースにおいて、このアプローチは **お勧めできません**。ClickHouseはすべてのレプリカ上でデータの一貫性を保証することができません。したがって、それはあなたのアプリケーションの責任になります。
|
||||
|
||||
ZooKeeperの場所は設定ファイルで指定されます:
|
||||
ZooKeeperの場所は設定ファイルで指定します:
|
||||
|
||||
``` xml
|
||||
<zookeeper>
|
||||
@ -644,7 +662,9 @@ ZooKeeperの場所は設定ファイルで指定されます:
|
||||
</macros>
|
||||
```
|
||||
|
||||
がない場合にレプリカの瞬間に複製表を作成し、新しい最初のレプリカスのインスタンスが作成. がある場合でライブレプリカを新たなレプリカのクローンからデータを設定しています。 するオプションを複製のテーブル、データを挿入します。 別のオプションを作れるレプリカを追加しその他の長期データを挿入出来ます。
|
||||
レプリケートされたテーブルの作成時にレプリカが存在しない場合、新しい最初のレプリカがインスタンス化されます。既に有効なレプリカがある場合は、新しいレプリカが既存のレプリカからデータをクローンします。
|
||||
最初にすべての複製されたテーブルを作成し、そこにデータを挿入する方法があります。別の方法として、いくつかのレプリカを作成して、データ挿入後またはデータ挿入中に他のレプリカを追加するという方法もあります。
|
||||
|
||||
|
||||
``` sql
|
||||
CREATE TABLE tutorial.hits_replica (...)
|
||||
@ -655,12 +675,18 @@ ENGINE = ReplcatedMergeTree(
|
||||
...
|
||||
```
|
||||
|
||||
ここでは、 [複製マージツリー](../engines/table-engines/mergetree-family/replication.md) テーブルエンジン。 パラメータでは、シャードとレプリカ識別子を含むZooKeeper pathを指定します。
|
||||
ここでは、[ReplicatedMergeTree](../engines/table-engines/mergetree-family/replication.md) テーブルエンジンを使用しています。
|
||||
パラメータには、シャードとレプリカの識別子を含む ZooKeeper path を指定します。
|
||||
|
||||
``` sql
|
||||
INSERT INTO tutorial.hits_replica SELECT * FROM tutorial.hits_local;
|
||||
```
|
||||
|
||||
複製はマルチマスターモードで動作します。 データは任意のレプリカにロードでき、システムはそれを他のインスタンスと自動的に同期します。 複製は非同期で一定の瞬間にも、すべてのレプリカを含む場合があり、最近に挿入されます。 少なくとも一つのレプリカのようにするためのデータで測定す 他の人は、データを同期し、再びアクティブになると一貫性を修復します。 この方法では、最近挿入されたデータが失われる可能性が低いことに注意してください。
|
||||
レプリケーションはマルチマスターモードで動作します。
|
||||
どのレプリカにもデータをロードすることができ、システムはそれを他のインスタンスと自動的に同期させます。
|
||||
レプリケーションは非同期なので、ある時点ですべてのレプリカに最近挿入されたデータが含まれているとは限りません。
|
||||
少なくとも1つのレプリカは、データの取り込みを可能にするために起動しておく必要があります。
|
||||
他のレプリカはデータを同期させ、再びアクティブになると整合性を修復します。
|
||||
この方法では、最近挿入されたデータが失われる可能性が低いことに注意してください。
|
||||
|
||||
[元の記事](https://clickhouse.tech/docs/en/getting_started/tutorial/) <!--hide-->
|
||||
|
@ -1,9 +1,9 @@
|
||||
---
|
||||
toc_priority: 3
|
||||
toc_title: "\u6982\u89B3"
|
||||
toc_priority: 0
|
||||
toc_title: "概要"
|
||||
---
|
||||
|
||||
# ClickHouseとは? {#clickhousetoha}
|
||||
# ClickHouseとは? {#what-is-clickhouse}
|
||||
|
||||
ClickHouseは、クエリのオンライン分析処理(OLAP)用の列指向のデータベース管理システム(DBMS)です。
|
||||
|
||||
@ -19,7 +19,6 @@ ClickHouseは、クエリのオンライン分析処理(OLAP)用の列指向
|
||||
つまり、行に関連するすべての値は物理的に隣り合わせに格納されます。
|
||||
|
||||
行指向のDBMSの例:MySQL, Postgres および MS SQL Server
|
||||
{: .grey }
|
||||
|
||||
列指向のDBMSでは、データは次のように保存されます:
|
||||
|
||||
@ -35,14 +34,13 @@ ClickHouseは、クエリのオンライン分析処理(OLAP)用の列指向
|
||||
異なる列の値は別々に保存され、同じ列のデータは一緒に保存されます。
|
||||
|
||||
列指向DBMSの例:Vertica, Paraccel (Actian Matrix and Amazon Redshift), Sybase IQ, Exasol, Infobright, InfiniDB, MonetDB (VectorWise and Actian Vector), LucidDB, SAP HANA, Google Dremel, Google PowerDrill, Druid および kdb+
|
||||
{: .grey }
|
||||
|
||||
異なったデータ格納の順序は、異なったシナリオにより適します。
|
||||
データアクセスシナリオとは、クエリの実行内容、頻度、割合を指します。クエリで読み取られるの各種データの量(行、列、バイト)。データの読み取りと更新の関係。作業データのサイズとローカルでの使用方法。トランザクションが使用されるかどうか、およびそれらがどの程度分離されているか。データ複製と論理的整合性の要件。クエリの種類ごとの遅延とスループットの要件など。
|
||||
|
||||
システムの負荷が高いほど、使用シナリオの要件に一致するようにセットアップされたシステムをカスタマイズすることがより重要になり、このカスタマイズはより細かくなります。大きく異なるシナリオに等しく適したシステムはありません。システムがさまざまなシナリオに適応可能である場合、高負荷下では、システムはすべてのシナリオを同等に不十分に処理するか、1つまたはいくつかの可能なシナリオでうまく機能します。
|
||||
|
||||
## OLAPシナリオの主要なプロパティ {#olapsinarionozhu-yao-napuropatei}
|
||||
## OLAPシナリオの主要なプロパティ {#key-properties-of-olap-scenario}
|
||||
|
||||
- リクエストの大部分は読み取りアクセス用である。
|
||||
- データは、単一行ではなく、かなり大きなバッチ(\> 1000行)で更新されます。または、まったく更新されない。
|
||||
@ -60,7 +58,7 @@ ClickHouseは、クエリのオンライン分析処理(OLAP)用の列指向
|
||||
|
||||
OLAPシナリオは、他の一般的なシナリオ(OLTPやKey-Valueアクセスなど)とは非常に異なることが容易にわかります。 したがって、まともなパフォーマンスを得るには、OLTPまたはKey-Value DBを使用して分析クエリを処理しようとするのは無意味です。 たとえば、分析にMongoDBまたはRedisを使用しようとすると、OLAPデータベースに比べてパフォーマンスが非常に低下します。
|
||||
|
||||
## OLAPシナリオで列指向データベースがよりよく機能する理由 {#olapsinariodelie-zhi-xiang-detabesugayoriyokuji-neng-suruli-you}
|
||||
## OLAPシナリオで列指向データベースがよりよく機能する理由 {#why-column-oriented-databases-work-better-in-the-olap-scenario}
|
||||
|
||||
列指向データベースは、OLAPシナリオにより適しています。ほとんどのクエリの処理が少なくとも100倍高速です。 理由を以下に詳しく説明しますが、その根拠は視覚的に簡単に説明できます:
|
||||
|
||||
@ -74,8 +72,7 @@ OLAPシナリオは、他の一般的なシナリオ(OLTPやKey-Valueアクセ
|
||||
|
||||
違いがわかりましたか?
|
||||
|
||||
### Input/output {#inputoutput}
|
||||
|
||||
### 入出力 {#inputoutput}
|
||||
1. 分析クエリでは、少数のテーブル列のみを読み取る必要があります。列指向のデータベースでは、必要なデータのみを読み取ることができます。たとえば、100のうち5つの列が必要な場合、I/Oが20倍削減されることが期待できます。
|
||||
2. データはパケットで読み取られるため、圧縮が容易です。列のデータも圧縮が簡単です。これにより、I/Oボリュームがさらに削減されます。
|
||||
3. I/Oの削減により、より多くのデータがシステムキャッシュに収まります。
|
||||
@ -97,4 +94,4 @@ OLAPシナリオは、他の一般的なシナリオ(OLTPやKey-Valueアクセ
|
||||
|
||||
CPU効率のために、クエリ言語は宣言型(SQLまたはMDX)、または少なくともベクトル(J、K)でなければなりません。 クエリには、最適化を可能にする暗黙的なループのみを含める必要があります。
|
||||
|
||||
[Original article](https://clickhouse.tech/docs/ja/) <!--hide-->
|
||||
{## [元の記事](https://clickhouse.tech/docs/en/) ##}
|
||||
|
24
docs/ja/sql-reference/statements/optimize.md
Normal file
24
docs/ja/sql-reference/statements/optimize.md
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
toc_priority: 49
|
||||
toc_title: OPTIMIZE
|
||||
---
|
||||
|
||||
# OPTIMIZE Statement {#misc_operations-optimize}
|
||||
|
||||
``` sql
|
||||
OPTIMIZE TABLE [db.]name [ON CLUSTER cluster] [PARTITION partition | PARTITION ID 'partition_id'] [FINAL] [DEDUPLICATE]
|
||||
```
|
||||
|
||||
This query tries to initialize an unscheduled merge of data parts for tables with a table engine from the [MergeTree](../../engines/table-engines/mergetree-family/mergetree.md) family.
|
||||
|
||||
The `OPTMIZE` query is also supported for the [MaterializedView](../../engines/table-engines/special/materializedview.md) and the [Buffer](../../engines/table-engines/special/buffer.md) engines. Other table engines aren’t supported.
|
||||
|
||||
When `OPTIMIZE` is used with the [ReplicatedMergeTree](../../engines/table-engines/mergetree-family/replication.md) family of table engines, ClickHouse creates a task for merging and waits for execution on all nodes (if the `replication_alter_partitions_sync` setting is enabled).
|
||||
|
||||
- If `OPTIMIZE` doesn’t perform a merge for any reason, it doesn’t notify the client. To enable notifications, use the [optimize\_throw\_if\_noop](../../operations/settings/settings.md#setting-optimize_throw_if_noop) setting.
|
||||
- If you specify a `PARTITION`, only the specified partition is optimized. [How to set partition expression](../../sql-reference/statements/alter.md#alter-how-to-specify-part-expr).
|
||||
- If you specify `FINAL`, optimization is performed even when all the data is already in one part.
|
||||
- If you specify `DEDUPLICATE`, then completely identical rows will be deduplicated (all columns are compared), it makes sense only for the MergeTree engine.
|
||||
|
||||
!!! warning "Warning"
|
||||
`OPTIMIZE` can’t fix the “Too many parts” error.
|
@ -3,6 +3,7 @@
|
||||
#include <boost/program_options.hpp>
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <pwd.h>
|
||||
|
||||
#if defined(__linux__)
|
||||
#include <syscall.h>
|
||||
@ -643,9 +644,14 @@ namespace
|
||||
|
||||
if (!user.empty())
|
||||
{
|
||||
bool need_sudo = geteuid() != 0;
|
||||
if (need_sudo)
|
||||
command = fmt::format("sudo -u '{}' {}", user, command);
|
||||
bool may_need_sudo = geteuid() != 0;
|
||||
if (may_need_sudo)
|
||||
{
|
||||
struct passwd *p = getpwuid(geteuid());
|
||||
// Only use sudo when we are not the given user
|
||||
if (p == nullptr || std::string(p->pw_name) != user)
|
||||
command = fmt::format("sudo -u '{}' {}", user, command);
|
||||
}
|
||||
else
|
||||
command = fmt::format("su -s /bin/sh '{}' -c '{}'", user, command);
|
||||
}
|
||||
|
@ -114,6 +114,7 @@ def rabbitmq_setup_teardown():
|
||||
|
||||
# Tests
|
||||
|
||||
@pytest.mark.skip(reason="Flaky")
|
||||
@pytest.mark.timeout(180)
|
||||
def test_rabbitmq_select_from_new_syntax_table(rabbitmq_cluster):
|
||||
instance.query('''
|
||||
@ -279,6 +280,7 @@ def test_rabbitmq_csv_with_delimiter(rabbitmq_cluster):
|
||||
rabbitmq_check_result(result, True)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Flaky")
|
||||
@pytest.mark.timeout(180)
|
||||
def test_rabbitmq_tsv_with_delimiter(rabbitmq_cluster):
|
||||
instance.query('''
|
||||
@ -400,6 +402,7 @@ def test_rabbitmq_materialized_view_with_subquery(rabbitmq_cluster):
|
||||
rabbitmq_check_result(result, True)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Flaky")
|
||||
@pytest.mark.timeout(180)
|
||||
def test_rabbitmq_many_materialized_views(rabbitmq_cluster):
|
||||
instance.query('''
|
||||
|
@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
git tag --list | grep -P 'v.+-(stable|lts)' | sort -V | xargs git show --format='%ai' | awk '/^v/ { version = $1 } /^[0-9]+/ { date = $1 } { if (version && date) { print version "\t" date; version = ""; date = ""; } }' | tac
|
||||
git tag --list | grep -P 'v.+-(stable|lts)' | sort -V | xargs git show --format='%ai' | awk '/^v/ { version = $1 } /^[0-9]+/ { if (version) { date = $1 } } { if (version && date) { print version "\t" date; version = ""; date = ""; } }' | tac
|
||||
|
@ -0,0 +1,208 @@
|
||||
v20.6.4.44-stable 2020-08-20
|
||||
v20.6.3.28-stable 2020-08-07
|
||||
v20.5.5.74-stable 2020-08-20
|
||||
v20.5.4.40-stable 2020-08-01
|
||||
v20.5.3.27-stable 2020-07-22
|
||||
v20.5.2.7-stable 2020-07-02
|
||||
v20.4.9.110-stable 2020-08-20
|
||||
v20.4.8.99-stable 2020-08-08
|
||||
v20.4.7.67-stable 2020-07-14
|
||||
v20.4.6.53-stable 2020-06-25
|
||||
v20.4.5.36-stable 2020-06-10
|
||||
v20.4.4.18-stable 2020-05-26
|
||||
v20.4.3.16-stable 2020-05-23
|
||||
v20.4.2.9-stable 2020-05-12
|
||||
v20.3.17.173-lts 2020-08-15
|
||||
v20.3.16.165-lts 2020-08-08
|
||||
v20.3.15.133-lts 2020-07-27
|
||||
v20.3.14.130-lts 2020-07-21
|
||||
v20.3.13.127-lts 2020-07-15
|
||||
v20.3.12.112-stable 2020-06-25
|
||||
v20.3.11.97-lts 2020-06-10
|
||||
v20.3.10.75-lts 2020-05-23
|
||||
v20.3.9.70-lts 2020-05-19
|
||||
v20.3.8.53-lts 2020-04-23
|
||||
v20.3.7.46-lts 2020-04-17
|
||||
v20.3.6.40-lts 2020-04-16
|
||||
v20.3.5.21-stable 2020-03-27
|
||||
v20.3.4.10-stable 2020-03-20
|
||||
v20.3.3.6-stable 2020-03-17
|
||||
v20.3.2.1-stable 2020-03-12
|
||||
v20.1.16.120-stable 2020-06-26
|
||||
v20.1.15.109-stable 2020-06-19
|
||||
v20.1.14.107-stable 2020-06-11
|
||||
v20.1.13.105-stable 2020-06-10
|
||||
v20.1.12.86-stable 2020-05-27
|
||||
v20.1.11.73-stable 2020-04-24
|
||||
v20.1.10.70-stable 2020-04-17
|
||||
v20.1.9.54-stable 2020-03-28
|
||||
v20.1.8.41-stable 2020-03-20
|
||||
v20.1.7.38-stable 2020-03-18
|
||||
v20.1.6.30-stable 2020-03-05
|
||||
v20.1.5.26-stable 2020-03-04
|
||||
v20.1.4.14-stable 2020-02-10
|
||||
v20.1.3.7-stable 2020-01-31
|
||||
v20.1.2.4-stable 2020-01-22
|
||||
v19.17.10.1-stable 2020-07-22
|
||||
v19.17.9.60-stable 2020-02-10
|
||||
v19.17.8.54-stable 2020-01-31
|
||||
v19.17.7.52-stable 2020-01-22
|
||||
v19.17.6.36-stable 2019-12-27
|
||||
v19.17.5.18-stable 2019-12-06
|
||||
v19.17.4.11-stable 2019-11-22
|
||||
v19.17.3.7-stable 2019-11-16
|
||||
v19.17.2.4-stable 2019-11-14
|
||||
v19.16.19.85-stable 2020-04-27
|
||||
v19.16.17.80-stable 2020-04-17
|
||||
v19.16.16.72-stable 2020-03-25
|
||||
v19.16.15.69-stable 2020-03-25
|
||||
v19.16.14.65-stable 2020-03-05
|
||||
v19.16.13.54-stable 2020-02-10
|
||||
v19.16.12.49-stable 2020-02-06
|
||||
v19.16.11.47-stable 2020-01-22
|
||||
v19.16.10.44-stable 2019-12-29
|
||||
v19.16.9.37-stable 2019-12-20
|
||||
v19.16.8.34-stable 2019-12-19
|
||||
v19.16.7.24-stable 2019-12-06
|
||||
v19.16.6.17-stable 2019-11-30
|
||||
v19.16.5.15-stable 2019-11-22
|
||||
v19.16.4.12-stable 2019-11-16
|
||||
v19.16.3.6-stable 2019-11-09
|
||||
v19.16.2.2-stable 2019-10-30
|
||||
v19.15.7.30-stable 2019-12-29
|
||||
v19.15.6.21-stable 2019-11-22
|
||||
v19.15.5.18-stable 2019-11-18
|
||||
v19.15.4.10-stable 2019-10-31
|
||||
v19.15.3.6-stable 2019-10-09
|
||||
v19.15.2.2-stable 2019-10-01
|
||||
v19.14.13.4-lts 2020-07-21
|
||||
v19.14.12.2-lts 2020-07-06
|
||||
v19.14.11.16-lts 2020-04-20
|
||||
v19.14.10.16-lts 2019-12-29
|
||||
v19.14.9.12-stable 2019-12-23
|
||||
v19.14.8.9-lts 2019-12-16
|
||||
v19.14.7.15-stable 2019-10-02
|
||||
v19.14.6.12-stable 2019-09-19
|
||||
v19.14.3.3-stable 2019-09-10
|
||||
v19.13.7.57-stable 2019-11-06
|
||||
v19.13.6.51-stable 2019-10-02
|
||||
v19.13.5.44-stable 2019-09-20
|
||||
v19.13.4.32-stable 2019-09-10
|
||||
v19.13.3.26-stable 2019-08-22
|
||||
v19.13.2.19-stable 2019-08-14
|
||||
v19.13.1.11-stable 2019-08-07
|
||||
v19.11.14.1-stable 2019-12-04
|
||||
v19.11.13.74-stable 2019-11-01
|
||||
v19.11.12.69-stable 2019-10-02
|
||||
v19.11.11.57-stable 2019-09-13
|
||||
v19.11.10.54-stable 2019-09-10
|
||||
v19.11.9.52-stable 2019-09-06
|
||||
v19.11.8.46-stable 2019-08-22
|
||||
v19.11.7.40-stable 2019-08-14
|
||||
v19.11.6.31-stable 2019-08-07
|
||||
v19.11.5.28-stable 2019-08-05
|
||||
v19.11.4.24-stable 2019-08-01
|
||||
v19.11.3.11-stable 2019-07-18
|
||||
v19.11.2.7-stable 2019-07-16
|
||||
v19.10.1.5-stable 2019-07-12
|
||||
v19.9.5.36-stable 2019-07-20
|
||||
v19.9.4.34-stable 2019-07-10
|
||||
v19.9.3.31-stable 2019-07-05
|
||||
v19.9.2.4-stable 2019-06-24
|
||||
v19.8.3.8-stable 2019-06-11
|
||||
v19.7.5.29-stable 2019-07-05
|
||||
v19.7.5.27-stable 2019-06-09
|
||||
v19.7.3.9-stable 2019-05-05
|
||||
v19.6.3.18-stable 2019-06-15
|
||||
v19.6.2.11-stable 2019-04-30
|
||||
v19.5.4.22-stable 2019-04-30
|
||||
v19.5.3.8-stable 2019-04-17
|
||||
v19.5.2.6-stable 2019-04-15
|
||||
v19.4.5.35-stable 2019-05-05
|
||||
v19.4.4.33-stable 2019-04-16
|
||||
v19.4.3.11-stable 2019-04-01
|
||||
v19.4.2.7-stable 2019-03-29
|
||||
v19.4.1.3-stable 2019-03-19
|
||||
v19.4.0.49-stable 2019-03-09
|
||||
v19.3.9.12-stable 2019-04-01
|
||||
v19.3.8.6-stable 2019-03-04
|
||||
v19.3.7-stable 2019-03-11
|
||||
v19.3.6-stable 2019-03-02
|
||||
v19.3.5-stable 2019-02-20
|
||||
v19.3.4-stable 2019-02-15
|
||||
v19.3.3-stable 2019-02-13
|
||||
v19.1.16.79-stable 2019-03-22
|
||||
v19.1.15.73-stable 2019-03-04
|
||||
v19.1.14-stable 2019-03-14
|
||||
v19.1.13-stable 2019-03-12
|
||||
v19.1.10-stable 2019-03-03
|
||||
v19.1.9-stable 2019-02-20
|
||||
v19.1.8-stable 2019-02-15
|
||||
v19.1.7-stable 2019-02-13
|
||||
v19.1.6-stable 2019-01-24
|
||||
v19.1.5-stable 2019-01-22
|
||||
v18.16.1-stable 2018-12-20
|
||||
v18.16.0-stable 2018-12-14
|
||||
v18.14.19-stable 2018-12-19
|
||||
v18.14.18-stable 2018-12-04
|
||||
v18.14.17-stable 2018-11-29
|
||||
v18.14.15-stable 2018-11-21
|
||||
v18.14.14-stable 2018-11-20
|
||||
v18.14.13-stable 2018-11-07
|
||||
v18.14.12-stable 2018-11-01
|
||||
v18.14.11-stable 2018-10-26
|
||||
v18.14.10-stable 2018-10-23
|
||||
v18.14.9-stable 2018-10-16
|
||||
v18.14.8-stable 2018-10-13
|
||||
v18.12.17-stable 2018-09-16
|
||||
v18.12.14-stable 2018-09-13
|
||||
v18.12.13-stable 2018-09-10
|
||||
v1.1.54390-stable 2018-07-06
|
||||
v1.1.54388-stable 2018-06-27
|
||||
v1.1.54385-stable 2018-06-01
|
||||
v1.1.54383-stable 2018-05-18
|
||||
v1.1.54381-stable 2018-04-26
|
||||
v1.1.54380-stable 2018-04-20
|
||||
v1.1.54378-stable 2018-04-13
|
||||
v1.1.54370-stable 2018-03-16
|
||||
v1.1.54362-stable 2018-03-10
|
||||
v1.1.54358-stable 2018-03-08
|
||||
v1.1.54343-stable 2018-01-24
|
||||
v1.1.54342-stable 2018-01-22
|
||||
v1.1.54337-stable 2018-01-17
|
||||
v1.1.54336-stable 2018-01-16
|
||||
v1.1.54335-stable 2018-01-16
|
||||
v1.1.54327-stable 2017-12-20
|
||||
v1.1.54318-stable 2017-11-30
|
||||
v1.1.54310-stable 2017-11-01
|
||||
v1.1.54304-stable 2017-10-19
|
||||
v1.1.54292-stable 2017-09-20
|
||||
v1.1.54289-stable 2017-09-13
|
||||
v1.1.54284-stable 2017-08-29
|
||||
v1.1.54282-stable 2017-08-23
|
||||
v1.1.54276-stable 2017-08-16
|
||||
v1.1.54245-stable 2017-07-04
|
||||
v1.1.54242-stable 2017-06-26
|
||||
v1.1.54236-stable 2017-05-23
|
||||
v1.1.54231-stable 2017-04-29
|
||||
v1.1.54198-stable 2017-03-28
|
||||
v1.1.54190-stable 2017-03-21
|
||||
v1.1.54188-stable 2017-03-17
|
||||
v1.1.54181-stable 2017-03-09
|
||||
v1.1.54165-stable 2017-02-14
|
||||
v1.1.54159-stable 2017-02-03
|
||||
v1.1.54144-stable 2017-01-31
|
||||
v1.1.54135-stable 2017-01-20
|
||||
v1.1.54134-stable 2017-01-14
|
||||
v1.1.54133-stable 2017-01-12
|
||||
v1.1.54127-stable 2016-12-22
|
||||
v1.1.54112-stable 2016-12-08
|
||||
v1.1.54083-stable 2016-11-28
|
||||
v1.1.54080-stable 2016-11-25
|
||||
v1.1.54074-stable 2016-11-23
|
||||
v1.1.54046-stable 2016-10-27
|
||||
v1.1.54030-stable 2016-10-24
|
||||
v1.1.54023-stable 2016-10-07
|
||||
v1.1.54022-stable 2016-09-26
|
||||
v1.1.54020-stable 2016-09-19
|
||||
v1.1.54019-stable 2016-09-07
|
|
Loading…
Reference in New Issue
Block a user