Amazon Redshift から ClickHouse への移行
この文書では、Amazon Redshift から ClickHouse へのデータ移行の概要を説明します。
はじめに
Amazon Redshift は、構造化データおよび半構造化データのためのレポートと分析機能を提供するクラウドデータウェアハウスです。これは、ClickHouse に似た列指向データベース原則を用いてビッグデータセットの分析ワークロードを処理するために設計されています。AWS の提供の一部として、AWS ユーザーが分析データニーズのためによく選択するデフォルトのソリューションです。
Amazon エコシステムとの緊密な統合により、既存の AWS ユーザーにとって魅力的ですが、リアルタイム分析アプリケーションに活用する Redshift ユーザーは、その目的に対してより最適化されたソリューションの必要性を感じることがあります。その結果、彼らは ClickHouse へと移行し、優れたクエリパフォーマンスとデータ圧縮を享受することが増えています。Redshift ワークロードに並行してデプロイされた「スピードレイヤー」としての置き換えまたは使用が行われています。
ClickHouse と Redshift の違い
AWS エコシステムに大きく投資しているユーザーにとって、Redshift はデータウェアハウジングのニーズに直面した際の自然な選択肢です。Redshift は、複雑なレポートや分析クエリを必要とするデータウェアハウジングのワークロードに最適化されているという点で ClickHouse と異なります。あらゆるデプロイメントモードにおいて、以下の2つの制約が Redshift をリアルタイム分析ワークロードに使用するのを困難にしています。
- Redshift は 各クエリ実行計画のためにコードをコンパイル します。これは初回のクエリ実行時に多くのオーバーヘッドを追加します。このオーバーヘッドは、クエリパターンが予測可能であり、コンパイルされた実行計画をクエリキャッシュに保存できる場合には正当化されます。しかし、これは可変クエリを持つインタラクティブなアプリケーションにとって課題を引き起こします。Redshift がこのコードコンパイルキャッシュを活用できる場合でも、ほとんどのクエリにおいて ClickHouse の方が速いです。詳細は "ClickBench" を参照してください。
- Redshift は すべてのキューで同時実行数を50に制限 します。これはビジネスインテリジェンスには適していますが、高い同時実行が必要な分析アプリケーションには不適切です。
逆に、ClickHouse は複雑な分析クエリにも利用可能ですが、リアルタイム分析ワークロード向けに最適化されています。アプリケーションを動かしたり、ウェアハウスの加速層として機能したりすることができます。その結果、Redshift ユーザーは以下の理由から Redshift を ClickHouse に置き換えたり、強化することが一般的です。
利点 | 説明 |
---|---|
クエリレイテンシの低下 | ClickHouse は、さまざまなクエリパターンにおいて、同時実行数が高く、ストリーミング挿入を受けても、クエリレイテンシを低く保つことができます。キャッシュを外れたクエリでも、インタラクティブなユーザー向けの分析では避けられないことですが、ClickHouse はそれでも迅速に処理できます。 |
より高い同時実行クエリ制限 | ClickHouse は同時実行クエリに対してかなり高い制限を設けており、これはリアルタイムアプリケーションの体験にとって重要です。ClickHouse では、セルフマネージドおよびクラウドの両方において、アプリケーションがそれぞれのサービスに必要とする同時実行数を実現するために、コンピュートの割当をスケールアップできます。許可されるクエリの同時実行レベルは ClickHouse で構成可能で、ClickHouse Cloud のデフォルトは 1000 です。 |
優れたデータ圧縮 | ClickHouse は優れたデータ圧縮を提供しており、これによりユーザーはストレージの総量を削減(したがってコストも削減)したり、同じコストでより多くのデータを保持し、データからリアルタイムの洞察を得たりすることができます。以下の "ClickHouse と Redshift のストレージ効率" を参照してください。 |