UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

データを抽出して格納するだけの機能のメソッド名を考える

ElasticsearchからデータをぶっこぬいてBigQueryに格納する機能のメソッド名を何にしようか悩んでいたところ

「ETL」というワードを教えてもらったので、ETLについて調べた

ETLとはExtract(抽出)、Transform(加工)、Load(格納)の略で、データを抽出し、抽出したデータを変換/加工した上でデータウェアハウス等へ渡す処理、およびそれを支援するソフトウェアのことらしい

その歴史は古く、1990年台後半頃から世に出回り始め、GUIを備えたツールもあるみたい

確かに今回作ろうとしている機能はElasticsearchから抽出して、加工はないが、BigQueryに格納するものなので相応しそう

というわけで、メソッド名にextractloadを使おうと思ったが、もう少し具体的にloadTo...のようにしたい

このとき、...BigQueryと具体的な名前をつけるのを避けたいので何がよいか調べたところ

Data WarehouseData lakeという二つの表現を目にした

この2つの違いはなんなのか追加で調べてみる

Data WarehouseとData Lakeの違い

GCPのドキュメントによると

データ ウェアハウスとは、POS トランザクションマーケティング オートメーション、顧客管理などの複数のソースからの構造化データおよび半構造化データの分析とレポート作成に使用される企業システムです。アドホック分析やカスタム レポート作成に適しています。データ ウェアハウスは現在と過去のデータの両方を 1 か所に保存でき、長期間のデータを表示できるよう設計されていることから、ビジネス インテリジェンスにおける主要なコンポーネントとなっています。

データ ウェアハウスとは  |  Google Cloud

データレイクは、大量の構造化データ、半構造化データ、非構造化データを保存、処理、保護するための、一元化されたリポジトリです。サイズ上限を問わず、ネイティブ形式でデータを保存し、どのようなデータでも処理できます。

データレイクとは  |  Google Cloud

つまり、システムで使いやすく構造化して格納されているのがData Warehouseで、規則性をもたない非構造化の生データとかが格納されているのがData Lakeと考えて良さそう

そして、GCPのドキュメントによるとCloudStorageがData Lakeで、BigQueryはData Warehouseらしいので、目的のメソッド名はloadToDataWarehouseにするのがよさそう