ClickHouse/docs/ja/whats_new/changelog/2017.md

269 lines
23 KiB
Markdown
Raw Normal View History

2020-04-04 09:15:31 +00:00
---
machine_translated: true
machine_translated_rev: d734a8e46ddd7465886ba4133bff743c55190626
toc_priority: 79
toc_title: '2017'
---
### ClickHouseリリース1.1.54327、2017-12-21 {#clickhouse-release-1-1-54327-2017-12-21}
このリリ:
- 固定バグでレースの条件で接続文字列の構文は以下のようにこのデータが失われます。 この問題はバージョン1.1.54310および1.1.54318に影響します。 ご利用の場合これらのバージョンとの複製のテーブルを更新することが強く推奨されます。 この問題にログ警告メッセージのように `Part ... from own log doesn't exist.` この問題は、これらのメッセージがログに表示されない場合でも関連します。
### ClickHouseリリース1.1.54318、2017-11-30 {#clickhouse-release-1-1-54318-2017-11-30}
このリリ:
- SummingMergeTreeエンジンのマージ中に誤った行の削除が行われていた問題を修正しました
- 複雑でないmergetreeエンジンのメモリリークを修正しました
- MergeTreeエンジンで頻繁に挿入されるパフォーマンスの低下を修正
- レプリケーションキューの実行を停止する問題を修正しました
- サーバーログの固定回転とアーカイブ
### ClickHouseリリース1.1.54310、2017-11-01 {#clickhouse-release-1-1-54310-2017-11-01}
#### 新しい機能: {#new-features}
- カスタムパーティショニングキーのmergetree家族のテーブルエンジンです。
- [カフカname](https://clickhouse.yandex/docs/en/operations/table_engines/kafka/) テーブルエンジン。
- 読み込みのサポートを追加 [CatBoost](https://catboost.yandex/) モデルとそれらをClickHouseに格納されたデータに適用する。
- UTCから非整数オフセットのタイムゾーンのサポートが追加されました。
- 時間間隔による算術演算のサポートが追加されました。
- Date型とDateTime型の値の範囲は、2105年に拡張されます。
- を追加しました `CREATE MATERIALIZED VIEW x TO y` query(マテリアライズドビューのデータを格納するための既存のテーブルを指定します)。
- を追加しました `ATTACH TABLE` 引数なしのクエリ。
- SummingMergeTreeテーブルのマップで終わる名前を持つ入れ子になった列の処理ロジックが、sumMap集計関数に抽出されました。 これで、このような列を明示的に指定できます。
- IP trie辞書の最大サイズは128Mのエントリに増加します。
- GetSizeOfEnumType関数を追加しました。
- SumWithOverflow集計関数を追加しました。
- Cap'n Proto入力形式のサポートが追加されました。
- では、今までのカスタマイズの圧縮レベル使用時のzstdアルゴリズムです。
#### 下位互換性のない変更: {#backward-incompatible-changes}
- メモリ以外のエンジンを使用して一時テーブルを作成することはできません。
- ビューまたはmaterializedviewエンジンでテーブルを明示的に作成することはできません。
- 中表を作成し、新しいチェックを確認し、サンプリングキー表現が含まれ、その有効なタイプを利用します。
#### バグ修正: {#bug-fixes}
- 分散テーブルに同期的に挿入するときのハングアップを修正しました。
- レプリケートされたテーブル内の部品の追加と削除を修正しました。
- マテリアライズドビューに挿入されたデータは、不要な重複排除を受けません。
- ローカルレプリカが遅延し、リモートレプリカが使用できない分散テーブルへのクエリを実行しても、エラーは発生しません。
- ユーザーにはアクセス許可は必要ありません。 `default` 一時テーブルを作成するデータベース。
- 固定チを指定する場合は、配列型な論争することができます。
- 固定hangups時のディスク容量を含むサーバのログします。
- Unixエポックの最初の週のtoRelativeWeekNum関数のオーバーフローを修正しました。
#### ビルドの改善: {#build-improvements}
- いくつかのサードパーティのライブラリ特にpocoが更新され、git submodulesに変換されました。
### ClickHouseリリース1.1.54304,2017-10-19 {#clickhouse-release-1-1-54304-2017-10-19}
#### 新しい機能: {#new-features-1}
- ネイティブプロトコルでのtlsサポート(有効にするには、 `tcp_ssl_port``config.xml` ).
#### バグ修正: {#bug-fixes-1}
- `ALTER` のための複製のテーブル現しようと走り出しています。
- 固定波データを読み込むときに設定 `preferred_block_size_bytes=0.`
- の固定クラッシュ `clickhouse-client` 押すとき `Page Down`
- 特定の複雑なクエリの正しい解釈 `GLOBAL IN``UNION ALL`
- `FREEZE PARTITION` 常に今原子的に動作します。
- 空のpost要求は、コード411で応答を返すようになりました。
- のような式のための固定解釈エラー `CAST(1 AS Nullable(UInt8)).`
- 読み込み時のエラーを修正 `Array(Nullable(String))` からの列 `MergeTree` テーブル。
- 固定表の構文解析時にクエリのように `SELECT dummy AS dummy, dummy AS b`
- ユーザーは無効で正しく更新されます `users.xml`
- 実行可能ディクショナリがゼロ以外の応答コードを返す場合の正しい処理。
### ClickHouseリリース1.1.54292、2017-09-20 {#clickhouse-release-1-1-54292-2017-09-20}
#### 新しい機能: {#new-features-2}
- を追加しました `pointInPolygon` 座標平面上の座標を操作するための関数。
- を追加しました `sumMap` 次のような配列の合計を計算するための集約関数 `SummingMergeTree`.
- を追加しました `trunc` 機能。 丸め関数のパフォーマンスの向上 (`round`, `floor`, `ceil`, `roundToExp2` を正の論理をどのように。 のロジックを変更 `roundToExp2` 分数と負の数の関数。
- ClickHouseの実行可能ファイルはlibcのバージョンにあまり依存しません。 同じClickHouseの実行可能ファイルは、Linuxシステムの多種多様で実行することができます。 コンパイルされたクエリを使用するときにはまだ依存関係があります(設定 `compile = 1` デフォルトでは使用されません)。
- クエリの動的コンパイルに要する時間を短縮しました。
#### バグ修正: {#bug-fixes-2}
- 時々生成エラーを修正しました `part ... intersects previous part` メッセージとレプリカの一貫性の低下。
- 固定エラーの原因となったサーバをロックした場合飼育係できなかった時のシャットダウンしました。
- レプリカの復元時に過剰なログを削除。
- ユニオンすべての実装でエラーを修正しました。
- ブロック内の最初の列に配列型がある場合に発生したconcat関数のエラーを修正しました。
- の進捗を正しく表示されます。テーブルをマージする。
### ClickHouseリリース1.1.54289、2017-09-13 {#clickhouse-release-1-1-54289-2017-09-13}
#### 新しい機能: {#new-features-3}
- `SYSTEM` サーバ管理のクエリ: `SYSTEM RELOAD DICTIONARY`, `SYSTEM RELOAD DICTIONARIES`, `SYSTEM DROP DNS CACHE`, `SYSTEM SHUTDOWN`, `SYSTEM KILL`.
- 配列を操作するための関数を追加: `concat`, `arraySlice`, `arrayPushBack`, `arrayPushFront`, `arrayPopBack`, `arrayPopFront`.
- 追加 `root``identity` ZooKeeper設定のパラメーターです。 これにより、同じZooKeeperクラスター上の個々のユーザーを分離できます。
- 集計関数の追加 `groupBitAnd`, `groupBitOr`、と `groupBitXor` (互換性のために、それらは名前の下にも利用可能です `BIT_AND`, `BIT_OR`、と `BIT_XOR`).
- 外部の辞書からロード可能でmysqlを指定するソケットのファイルシステム.
- 外部辞書はmysqlからssl経由でロードできます (`ssl_cert`, `ssl_key`, `ssl_ca` パラメータ)。
- を追加しました `max_network_bandwidth_for_user` ユーザーごとのクエリの全体的な帯域幅の使用を制限する設定。
- のサポート `DROP TABLE` 一時テーブルの場合。
- 読書のためのサポート `DateTime` Unixのタイムスタンプ形式の値 `CSV``JSONEachRow` フォーマット。
- 分散クエリの遅延レプリカは、既定で除外されるようになりました(既定のしきい値は5分)。
- 継続的に実行されるクエリでは、alterクエリが無期限にブロックされることはありません。
- 設定するオプション `umask` 設定ファイルで。
- クエリのパフォーマンスの向上 `DISTINCT` .
#### バグ修正: {#bug-fixes-3}
- ZooKeeperの古いードを削除するプロセスを改善しました。 以前は、非常に頻繁な挿入があった場合、古いノードが削除されなかったことがあり、サーバーのシャットダウンが遅くなっていました。
- ZooKeeperへの接続のためのホストを選択する際に固定ランダム化。
- レプリカがlocalhostの場合、分散クエリでの遅延レプリカの除外を修正しました。
- Aのデータ部分エラーを修正しました `ReplicatedMergeTree` テーブ `ALTER MODIFY` aの要素に `Nested` 構造。
- 選択クエリの原因となるエラーを修正しました “hang”.
- 分散ddlクエリの改善。
- クエリを修正 `CREATE TABLE ... AS <materialized view>`.
- でデッドロックを解決しました `ALTER ... CLEAR COLUMN IN PARTITION` のためのクエリ `Buffer` テーブル。
- の無効なデフォルト値を修正しました `Enum` s(最小値の代わりに0)を使用する場合、 `JSONEachRow``TSKV` フォーマット。
- 解決の姿ゾンビプロセスが辞書を使いながら、 `executable` ソース。
- ヘッドクエリのための固定segfault。
#### 改善ワークフローの開発と組み立てclickhouse: {#improved-workflow-for-developing-and-assembling-clickhouse}
- を使用することができ `pbuilder` ClickHouseを構築する。
- を使用することができ `libc++` 代わりに `libstdc++` Linux上のビルドの場合。
- 静的コード分析ツールを使用するための手順を追加: `Coverage`, `clang-tidy`, `cppcheck`.
#### ご注意ください: {#please-note-when-upgrading}
- これで、mergetree設定のデフォルト値が大きくなりました `max_bytes_to_merge_at_max_space_in_pool` マージするデータ部分の最大合計サイズバイト単位100GiBから150GiBに増加しました。 この結果、大型の合併-走行後のサーバグの原因になりの増加に負荷をディスクサブシステムです。 サーバー上で利用可能な空き領域が、実行中のマージの合計量の倍未満である場合、小さなデータ部分のマージを含め、他のすべてのマージが実行を停止します。 その結果、INSERTクエリはメッセージで失敗します “Merges are processing significantly slower than inserts.” を使用 `SELECT * FROM system.merges` 状況を監視するためのクエリ。 また点検できます `DiskSpaceReservedForMerge` のメトリック `system.metrics` テーブル、またはグラファイト。 大きなマージが完了すると問題は解決するので、これを修正するために何もする必要はありません。 これが受け入れられない場合は、以前の値を復元することができます `max_bytes_to_merge_at_max_space_in_pool` 設定。 これを行うには、 <merge_tree> 設定のセクション。xml、セット ``` <merge_tree>``<max_bytes_to_merge_at_max_space_in_pool>107374182400</max_bytes_to_merge_at_max_space_in_pool> ``` サーバーを再起動します。
### ClickHouseリリース1.1.54284,2017-08-29 {#clickhouse-release-1-1-54284-2017-08-29}
- これは以前の1.1.54282リリースのバグ修正リリースです。 それはzookeeperの部品ディレクトリに漏れを修正します。
### ClickHouseリリース1.1.54282、2017-08-23 {#clickhouse-release-1-1-54282-2017-08-23}
このリリ:
- 固定 `DB::Exception: Assertion violation: !_path.empty()` 分散テーブルに挿入するとき。
- 入力データが';'で始まる場合、rowbinary形式で挿入時の解析を修正しました。
- Errors during runtime compilation of certain aggregate functions (e.g. `groupArray()`).
### Clickhouseリリース1.1.54276,2017-08-16 {#clickhouse-release-1-1-54276-2017-08-16}
#### 新しい機能: {#new-features-4}
- 選択クエリのセクションでオプションを追加しました。 クエリ例: `WITH 1+1 AS a SELECT a, a*a`
- すべてのデータがすべてのシャードに保存された後にのみ、okが返されます。 これは、insert\_distributed\_sync=1の設定によって有効になります。
- 16バイトの識別子を扱うためのuuidデータ型を追加しました。
- タブローとの互換性のためにchar、floatおよび他のタイプのエイリアスを追加しました。
- 時間を数値に変換する関数toyyyyymm、toyyyymmdd、およびtoyyyymmddhhmmssを追加しました。
- IPアドレス(ホスト名と共に)を使用して、クラスタ化されたDDLクエリのサーバーを識別できます。
- 関数内の非定数引数と負のオフセットのサポートが追加されました `substring(str, pos, len).`
- のmax\_sizeパラメーターを追加しました。 `groupArray(max_size)(column)` 集約関数、およびその性能を最適化しました。
#### 主な変更点: {#main-changes}
- セキュリティの改善すべてのサーバーファイルは0640権限で作成されます変更できます <umask> 設定パラメータ)。
- 無効な構文のクエリの改善されたエラーメッセージ。
- 低メモリ消費をとした場合の性能改善の統合大分mergetreeデータです。
- ReplacingMergeTreeエンジンのデータマージのパフォーマンスが大幅に向上しました。
- 性能向上のための非同期に挿入しますから分散型のテーブルを組み合わせで複数のソースしました。 この機能を有効にするには、distributed\_directory\_monitor\_batch\_inserts=1という設定を使用します。
#### 下位互換性のない変更: {#backward-incompatible-changes-1}
- の集約状態のバイナリ形式を変更しました `groupArray(array_column)` 配列の関数。
#### 変更の完全なリスト: {#complete-list-of-changes}
- を追加しました `output_format_json_quote_denormals` これにより、nanとinfの値をJSON形式で出力することができます。
- 最適化したストリーム配置の場合を読み込んで配布します。
- 値が変更されない場合は、readonlyモードで設定を行うことができます。
- Preferred\_block\_size\_bytes設定で指定されたブロックサイズの制限を満たすために、MergeTreeエンジンの非整数granules粒を取得する機能を追加しました。 のための消費量を削減RAMを増やキャッシュの地域が処理クエリーテーブルの大きい。
- 次のような式を含むインデックスの効率的な使用 `toStartOfHour(x)` のような条件の場合 `toStartOfHour(x) op сonstexpr.`
- MergeTreeエンジンの新しい設定configのmerge\_treeセクションを追加しました。xml):
- replicated\_deduplication\_window\_secondsは、レプリケートされたテーブルの挿入の重複除外に使用できる秒数を設定します。
- cleanup\_delay\_periodは、古いデータを削除するためにクリーンアップを開始する頻度を設定します。
- replicated\_can\_become\_leaderでは、レプリカがリーダーにならないようにすることができます(マージの割り当て)。
- 加速の清掃除時代遅れからのデータの飼育係.
- クラスタ化されたddlクエリの複数の改善と修正。 特に重要なのは、クラスタ内のサーバーからの応答を待つ時間を制限する新しい設定distributed\_ddl\_task\_timeoutです。 ddl要求がすべてのホストで実行されていない場合、応答にタイムアウトエラーが含まれ、要求は非同期モードで実行されます。
- サーバーログにおけるスタックトレースの表示の改善。
- を追加しました “none” 圧縮方法の値。
- Configで複数のdictionaries\_configセクションを使用できます。xmlだ
- ファイルシステムのソケットを介してmysqlに接続することは可能です。
- システム。部品表は、新しい列に関する情報はサイズメッセージが表示され、バイトです。
#### バグ修正: {#bug-fixes-4}
- マージテーブルを使用する分散テーブルは、現在の条件と選択クエリのために正しく動作します `_table` フィールド。
- ReplicatedMergeTreeでデータパーツをチェックする際の競合状態を修正しました。
- 上の固定可能な凍結 “leader election” サーバーを起動するとき。
- データソースのローカルレプリカを使用する場合、max\_replica\_delay\_for\_distributed\_queries設定は無視されました。 これは修正されました。
- の誤った動作を修正しました `ALTER TABLE CLEAR COLUMN IN PARTITION` 既存の列以外の列をクリーンアップしようとした場合。
- 空の配列または文字列を使用する場合、multif関数の例外を修正しました。
- 固定の過剰なメモリ割当ての場合deserializingネイティブ形式です。
- トライ辞書の不正な自動更新を修正しました。
- 固定の例外実行時にクエリを処理するクラウドの場合、group by節からmergeテーブル使用時のサンプルです。
- Distributed\_aggregation\_memory\_efficient=1を使用したときにGROUP BYがクラッシュする問題を修正しました。
- これで、データベースを指定できます。inとjoinの右側にあるテーブル。
- 並列集約に使用されるスレッドが多すぎます。 これは修正されました。
- どのように固定 “if” 関数は、FixedString引数で動作します。
- 重量が0のシャードの分散テーブルから誤って処理されたものを選択します。 これは修正されました。
- 実行中 `CREATE VIEW IF EXISTS no longer causes crashes.`
- Input\_format\_skip\_unknown\_fields=1が設定され、負の数がある場合の動作が正しくない問題を修正しました。
- の無限ループを修正しました `dictGetHierarchy()` 辞書に無効なデータがある場合は機能します。
- 固定 `Syntax error: unexpected (...)` INまたはJOIN句およびMergeテーブル内のサブクエリを使用して分散クエリを実行するときのエラー。
- 辞書テーブルからの選択クエリの誤った解釈を修正しました。
- 修正された “Cannot mremap” 2億以上の要素を持つinおよびJOIN句で配列を使用するときにエラーが発生します。
- ソースとしてmysqlと辞書のフェイルオーバーを修正しました。
#### 改善ワークフローの開発と組み立てclickhouse: {#improved-workflow-for-developing-and-assembling-clickhouse-1}
- ビルドはarcadiaで組み立てることができます。
- Gcc7を使用してClickHouseをコンパイルできます。
- Ccache+distccを使用した並列ビルドの方が高速になりました。
### ClickHouseリリース1.1.54245,2017-07-04 {#clickhouse-release-1-1-54245-2017-07-04}
#### 新しい機能: {#new-features-5}
- 分散ddl(例, `CREATE TABLE ON CLUSTER`)
- 複製されたクエリ `ALTER TABLE CLEAR COLUMN IN PARTITION.`
- エンジンのための辞書のテーブル(アクセスの辞書データの形式で表)。
- 辞書データベースエンジン(タイプのデータベースに自動的に辞書で使用可能なテーブルを接続外部辞書).
- ソースに要求を送信することによって、辞書の更新を確認できます。
- 修飾された列名
- 二重引用符を使用して識別子を引用する。
- セッションを行うhttpのインタフェース。
- レプリケートされたテーブルの最適化クエリは、リーダーだけでなく実行できます。
#### 下位互換性のない変更: {#backward-incompatible-changes-2}
- 削除セットグローバル。
#### 軽微な変更: {#minor-changes}
- アラートがトリガーされると、ログは完全なスタックトレースを出力します。
- 起動時に破損/余分なデータパーツの数の検証を緩和しました(誤検出が多すぎます)。
#### バグ修正: {#bug-fixes-5}
- 接続不良を修正しました “sticking” 分散テーブルに挿入するとき。
- GLOBAL INは、分散テーブルを参照するMergeテーブルからのクエリに対して機能します。
- Google Compute Engine仮想マシンでコアの数が正しくないことが検出されました。 これは修正されました。
- キャッシュされた外部ディクショナリの実行可能ソースの動作の変更
- ヌル文字を含む文字列の比較を修正しました。
- 定数を持つfloat32主キーフィールドの比較を修正しました。
- 従来、不正確な見積りのサイズの分野が過度に大きな分配すべき。
- ALTERを使用してテーブルに追加されたNull許容列を照会するとクラッシュする問題を修正しました。
- 行の数が制限よりも小さい場合、null可能な列でソートするとクラッシュする問題を修正しました。
- 定数値のみで構成されるorder byサブクエリを修正しました。
- については、従来、複製テーブルが残る無効な状態にした後、失敗した下表に示す。
- 空の結果を持つスカラーサブクエリのエイリアスは失われなくなりました。
- .soファイルが破損した場合、コンパイルを使用したクエリはエラーで失敗しません。