この記事の出所:GitHubにはこちらをクリック・ || GitEE・こちらをクリック
、ClickHouseプロフィール
1.はじめに換算
Yandexのデータベースのオープンソースのデータ分析は、ストリーミングやストレージのロットのClickHouse、時系列データと呼ばれます。ClickHouseは(例えばGROUP BYなど)集約クエリ用語に超高性能質量データ高速クエリデータとして汎用データベースとして使用されるが、リアルタイム分散処理プラットフォームされるべきではない、ClickHouseは非常に迅速に問い合わせます。
下载仓库:https://repo.yandex.ru/clickhouse
中文文档:https://clickhouse.yandex/docs/zh/
2、データベースを備え
(1)列データベース
列ベースのデータ・ストレージ・データベースのデータベース・ストレージ・インフラ関連の列は、主にバルクデータ処理およびリアルタイムクエリの。
(2)データ圧縮
一部の柱状データベース管理システムでは、データは圧縮されません。ただし、データ圧縮は確かに優れたストレージシステムを実現する上で重要な役割を果たしています。
ディスクストレージ(3)データ
多くの列ベースのデータベースはメモリ内だけで作業することができ、このアプローチは、実際の機器の予算よりも多くになります。ClickHouseシステムは、GBあたりのストレージ・コストを提供し、従来のディスク上で動作するように設計されています。
(4)マルチコア並列処理
大きなクエリは、現在のサーバー上で利用可能なすべてのリソースを使用するためには、非常に自然な形に加工ClickHouseを並列化することができます。
(5)マルチサーバ分散処理
ClickHouseでは、データは、フォールトトレランス、並列クエリ処理のための複製組成物のセットによって各シャードは全てシャード上で実行される、異なるシャード上に格納されてもよいです。
(6)SQLおよびインデックスをサポートしています
ほとんどの場合、言語はSQL標準と互換性があり、SQLベースのクエリ言語をサポートしていClickHouse。サポートされているクエリはGROUPBY、ORDERBY、IN、登録しようと、非相関サブクエリが含まれています。これは、ウィンドウ関数および関連サブクエリをサポートしていません。ソートデータは、特定の値または範囲検索を見つけるために、数十ミリ秒に役立ちますマスターキー、ClickHouse低遅延データに応じました。
(7)ベクターエンジン
CPUを効率的に使用するために、データはなく、処理のためのベクター(カラム)によって、列に格納されていません。
(8)リアルタイムデータの更新
ClickHouseは、テーブルの主キーを定義サポートされています。すぐに主キーで範囲を見つけるために、クエリを作成するためには、データがでMergeTreeに保存されている秩序刻みで常にあります。このように、連続したデータを効率的にテーブルに書き込むことができ、プロセスがロック書面挙動を示しません。
二、Linuxのインストールプロセスの下で
1、ダウンロード倉庫
curl -s
https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh
| sudo os=centos dist=7 bash
2は、インストールパッケージを見ます
sudo yum list 'clickhouse*'
3、インストールサービス
sudo yum install -y clickhouse-server clickhouse-client
4、インストールリストを参照してください
sudo yum list installed 'clickhouse*'
コンソール出力
Installed Packages
clickhouse-client.noarch
clickhouse-common-static.x86_64
clickhouse-server.noarch
図5は、設定を表示します
- CDの/ etc / clickhouseサーバ/
- vimのconfig.xmlに
数据目录:/var/lib/clickhouse/
临时目录:/var/lib/clickhouse/tmp/
日志目录:/var/log/clickhouse-server
HTTP端口:8123
TCP 端口:9000
6、アクセスを設定します
config.xmlファイルには、以下のコメントを削除するように設定しました。
<listen_host>::</listen_host>
7、サービスを開始
/etc/rc.d/init.d/clickhouse-server start
8、サービスを表示
ps -aux |grep clickhouse
第三に、基本的な操作
1、table文の構築
CREATE TABLE cs_user_info (
`id` UInt64,
`user_name` String,
`pass_word` String,
`phone` String,
`email` String,
`create_day` Date DEFAULT CAST(now(),'Date')
) ENGINE = MergeTree(create_day, intHash32(id), 8192)
注:公式の推奨エンジン、MergeTree
間違いなく表MergeTreeエンジンや他のエンジンでシリーズ(* MergeTree)(ツリーをマージ)の中で最も強力なエンジンをClickhouse。次のように基本的な考え方MergeTreeエンジンシリーズがあります。あなたがテーブルに挿入するデータの膨大な量を持っているときは、効率的なバッチデータセグメントを記述する必要があり、バックグラウンドで一定の規則に従ってデータ統合のこれらの部分ことを願っています。メモリに常に(書き換え)を変更し、データを挿入するために比較すると、この戦略は多く、効率的になります。
2、一括書き込み
INSERT INTO cs_user_info
(id,user_name,pass_word,phone,email)
VALUES
(1,'cicada','123','13923456789','cicada@com'),
(2,'smile','234','13922226789','smile@com'),
(3,'spring','345','13966666789','spring@com');
3、クエリ
SELECT * FROM cs_user_info ;
SELECT * FROM cs_user_info WHERE user_name='smile' AND pass_word='234';
SELECT * FROM cs_user_info WHERE id IN (1,2);
SELECT * FROM cs_user_info WHERE id=1 OR id=2 OR id=3;
MySQLデータベースのクエリや操作は非常に似ています。
第四に、送信元アドレス
GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base