自分の会社の分析システム
現在、自分が所属している会社のシステムの概略について書いておく。
使用しているデータベース
Netezzaを利用しているがRedshiftにリプレースを進行中
利用ツール
が中心。その他チーム外への簡易な分析プラットフォームとしてごく一部RStudioのShinyとTableauを使用
外部データソース
主にTreasureData。その他、独立したシステムからCSV,TSV形式でファイルを定期的に持ってくるなど。
データ取込バッチ
- TreasureWorkflow(digdag)
- Talend
- Rundeck を採用。
TreasureWorkflowはTreasureDataとの親和性が高い。 とりあえずI/OにTreasuredataが関わる部分に使っている。 (今後digdagを採用して、範囲を拡げていきたい)
TalendはオープンソースのETLツールでかつ、ある程度混み行った複雑な成型や処理も出来るため。 作成したバッチの動作だけならJavaさえ入っていればどこでも動くのが良い。(実行環境にTalendのインストールは不要) ある程度、どんなDBにでも対応できる。
RundeckはTalendで作成したジョブを定期実行させる仕組み。端的にいうと、GUIで超便利なcrontab。crontabでバッチ管理をしていて、複雑になってきて困っている、、、というユースケースに最適。