第7章 アプリケーションの移行と統合 アプリケーションの移行と統合
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
徹底的にモダンなデータベースシステムであるCockroachDBは、新しいアプリケーション開発に最適な選択肢である。 しかし、既存のアプリケーションの近代化にも適している。 前世代のリレーショナル・データベース・システムで構築された多くのアプリケーションは、現在、分散アーキテクチャへの移行によってのみ賢明な対応が可能な制限に直面している。 多くの場合、CockroachDBのような分散SQLベースシステムは、分散NoSQLシステムとは異なり、アプリケーションのデータモデルやコードベースを完全に作り直す必要がないため、最も魅力的な移行対象である。この章では、既存のデータベースからCockroachDBにデータを移行する方法を説明する。
CockroachDBへのデータ移動は、ストーリーのほんの一部に過ぎない。CockroachDBは一般化データベースシステムであるが、そのスイートスポットは間違いなくオペレーショナルなトランザクション処理である。多くの環境では、CockroachDB内で処理されるデータは、他のオペレーティングシステムからのデータと組み合わせて、ビジネスインテリジェンスやデータサイエンスの目的で活用される。このような場合、データを外部システムに移動するメカニズムが必要になる。CockroachDBの変更データキャプチャ(CDC)機能はこの目的には非常に貴重であり、CDCを使ってSnowflake DBやKafkaなどの外部システムにデータを移動する方法を見ていく。また、CockroachDBから外部ファイルに直接データをダンプする方法も紹介する。
データを読み込む
CockroachDBを使用する最初のステップは、多くの場合、、レガシーシステムや他のソースからデータベースにデータを移動することである。CockroachDBで最も基本的なデータ・ロード作業は、"フラット・ファイル "からのデータ・ロードである。CockroachDBは、、区切り文字ファイル(ユビキタスCSVファイルなど)またはAvro形式からデータをロードできる。 データのロードには、第4章で紹介したIMPORT コマンドを使用する。
ファイルの場所
モノリシックデータベースでは、フラットファイルからのデータのロードは通常、ファイルシステム上のファイルから直接行われ、通常はオーバーヘッドを避けるために最初にデータベースサーバにステージングされる。しかし、分散型クラウドネイティブデータベースであるCockroachDBは、少し異なるアプローチを取る。
IMPORT コマンドは、ファイルがクラウドストレージ(S3、GCPバケット、Azureコンテナ)上の 、CockroachDBサーバにアップロードされた「userfiles」、またはHTTPファイルサーバであることを必要とする。
ユーザーファイル・ストレージ
というファイルをクラスタ・ユーザファイル・ストレージにアップロードするところから始めよう。 ユーザーファイルストレージは、CockroachDBクラスタが管理する仮想ファイルストアのソートで、クラスタ全体のSQLレイヤからファイルにアクセスできる。
cockroach userfile upload コマンドを使うと、ファイルをクラスタ・ストレージにコピーできる。ファイルはファイルをアップロードしたユーザのみがアクセスできる: ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access