データバックア 

ながら 複製 provides protection from hardware failures, it does not protect against human errors: accidental deletion of data, deletion of the wrong table or a table on the wrong cluster, and software bugs that result in incorrect data processing or data corruption. In many cases mistakes like these will affect all replicas. ClickHouse has built-in safeguards to prevent some types of mistakes — for example, by default 50Gbを超えるデータを含むMergeTreeのようなエンジンでは、テーブルを削除することはできません. しかし、これらの保障措置がカバーしないすべてのケースで回避.

ヒューマンエラーを効果的に軽減するには、データのバックアップと復元のための戦略を慎重に準備する必要があります 事前に.

それぞれの会社には、利用可能なリソースとビジネス要件が異なるため、あらゆる状況に合ったClickHouseバックアップと復元のための普遍的なソリューショ 何がデータのギガバイトのために働く可能性が高い数十ペタバイトのために動作しません。 自分の長所と短所を持つ様々な可能なアプローチがありますが、これは以下で説明します。 で使うようにするといいでしょうくつかの方法でそれを補うためにさまの様々な問題があった。

ソースデータを他の場所に複製する 

多くの場合、ClickHouseに取り込まれたデータは、次のような何らかの永続キューを介して配信されます アパッチ-カフカ. この場合、ClickHouseに書き込まれている間に同じデータストリームを読み取り、どこかのコールドストレージに保存する追加のサブスクライバーセットを構成するこ ほとんどの企業はすでにいくつかのデフォルト推奨コールドストレージを持っています。 HDFS.

ファイルシステ 

一部地域のファイルシステムをスナップショット機能(例えば, ZFSしかし、ライブクエリを提供するための最良の選択ではないかもしれません。 可能な解決策は、この種のファイルシステムで追加のレプリカを作成し、それらを 分散 以下の目的で使用されるテーブル SELECT クエリ。 スナップショットなどを複製するものでなければならないのクエリがデータを変更する. ボーナスパーツとして、これらのレプリカが特別なハードウェア構成によりディスクに付属のサーバ、コスト効果的です。

クリックハウス-複写機 

クリックハウス-複写機 ペタバイトサイズのテーブルを再シャードするために最初に作成された多目的な用具はある。 ClickHouseテーブルとクラスター間でデータを確実にコピーするため、バックアップと復元の目的でも使用できます。

データの小さなボリュームのために、単純な INSERT INTO ... SELECT ... リモートテーブルが作業しています。

部品による操作 

ClickHouseは、 ALTER TABLE ... FREEZE PARTITION ... クエリをコピーのテーブル割. これはハードリンクを使って実装される。 /var/lib/clickhouse/shadow/ それは通常、古いデータのための余分なディスク領域を消費しません。 作成されたファイルのコピーはClickHouse serverによって処理されないので、そこに残すことができます:追加の外部システムを必要としない簡単なバックアップ このため、リモートで別の場所にコピーしてからローカルコピーを削除する方が良いでしょう。 分散ファイルシステムとオブジェクトストアはまだこのための良いオプションですが、十分な容量を持つ通常の添付ファイルサーバも同様に動作 rsync).

パーティション操作に関連するクエリの詳細については、 文書の変更.

第三者ツールを自動化するこのアプローチ: clickhouse-バックアップ.

元の記事

Rating: 3.1 - 11 votes

Was this content helpful?
★★★☆☆