ClickHouse/docs/ja/engines/table_engines/log_family/stripelog.md
2020-04-04 12:15:31 +03:00

4.4 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 32 ストリップログ

ストリップログ

このエン ログエンジ 丸太エンジン家族 記事。

少量のデータ1万行未満を含む多数のテーブルを作成する必要がある場合は、このエンジンをシナリオで使用します。

テーブルの作成

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    column1_name [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    column2_name [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE = StripeLog

の詳細な説明を参照してください CREATE TABLE クエリ。

データの書き込み

その StripeLog エンジンの店舗のすべての列を一つのファイルです。 それぞれの INSERT クエリ、ClickHouseは、列を一つずつ書き込み、テーブルファイルの最後にデータブロックを追加します。

各テーブルclickhouseに書き込み中のファイル:

  • data.bin — Data file.
  • index.mrk — File with marks. Marks contain offsets for each column of each data block inserted.

その StripeLog エンジンはサポートしません ALTER UPDATEALTER DELETE オペレーション

データの読み込み

ファイルをマークでclickhouseを並列化したデータです。 これは、 SELECT クエリは、予期しない順序で行を返します。 を使用 ORDER BY 行をソートする句。

使用例

テーブルの作成:

CREATE TABLE stripe_log_table
(
    timestamp DateTime,
    message_type String,
    message String
)
ENGINE = StripeLog

データの挿入:

INSERT INTO stripe_log_table VALUES (now(),'REGULAR','The first regular message')
INSERT INTO stripe_log_table VALUES (now(),'REGULAR','The second regular message'),(now(),'WARNING','The first warning message')

私たちは二つの INSERT データブロックを作成するためのクエリ data.bin ファイル。

ClickHouse利用は、複数のスレッド選択時のデータです。 各スレッドを読み込み、別のデータブロックを返しますよ列として自立で終了します。 結果として、出力の行のブロックの順序は、ほとんどの場合、入力の同じブロックの順序と一致しません。 例えば:

SELECT * FROM stripe_log_table
┌───────────timestamp─┬─message_type─┬─message────────────────────┐
│ 2019-01-18 14:27:32 │ REGULAR      │ The second regular message │
│ 2019-01-18 14:34:53 │ WARNING      │ The first warning message  │
└─────────────────────┴──────────────┴────────────────────────────┘
┌───────────timestamp─┬─message_type─┬─message───────────────────┐
│ 2019-01-18 14:23:43 │ REGULAR      │ The first regular message │
└─────────────────────┴──────────────┴───────────────────────────┘

結果の並べ替え(デフォルトでは昇順):

SELECT * FROM stripe_log_table ORDER BY timestamp
┌───────────timestamp─┬─message_type─┬─message────────────────────┐
│ 2019-01-18 14:23:43 │ REGULAR      │ The first regular message  │
│ 2019-01-18 14:27:32 │ REGULAR      │ The second regular message │
│ 2019-01-18 14:34:53 │ WARNING      │ The first warning message  │
└─────────────────────┴──────────────┴────────────────────────────┘

元の記事