Closed2

ポータブルなデータローダを作る

koji_matskoji_mats

データローダとしてはEmbulkが有名で普段からお世話になっている。個人的には、並行処理など備えていてとても便利なツールだと思う。一方で、エラーの解析が少し難しかったり、プラグインは基本Javaで書くことになるので気軽に作れなかったりする。一方で、SingerやAirbyteはPythonやTypeScriptで気軽にプラグインが作れたり、比較的デバッグがしやすいイメージがある。
ただし、Airbyteは複数のサーバによって構成されていてデプロイや運用に手間が掛かる。今までEmbulkやSingerで実装していたものをAirbyteへ移行するとなるとデータパイプラインの設計を大きく変える必要が出てくる。また、SingerはEmbulkの代わりになるが、プラグインの開発が停滞しているものが多い。
こういった状況から、SingerのようにシンプルなアーキテクチャのCLIベースのデータローダを作りたいと考えた。

koji_matskoji_mats

主なユースケースとして、コンテナ上で実行することを想定している。コンテナへデプロイすることを考えると、バイナリを配置するだけというのが便利なので、GoかRustで開発するのが良さそう。また、Web APIやクラウドサービスのクライアントライブラリの対応を考慮するとGoの方が充実していそう。
というわけで、Goで開発することに決めた。

このスクラップは2023/12/10にクローズされました