コラム

2021.06.29

【データ連携担当のトラブルメモ】#5. 連携データファイルを追加で納品する際の注意点

● はじめに

 本シリーズでは「データ連携担当のトラブルメモ」と題して、DataCurrent社データ連携担当として携わってきた、データ連携にまつわる様々なトラブルやヒヤリ・ハットを振り返り、その原因究明のポイントや対策などを備忘録的に整理してまいります。

 非常に基礎的な内容も含まれると思いますが、それゆえにこれからデータ連携領域を担当されるという方々の一助になるようなものにできればと思います。

● 今回のデータ連携担当(プロフィール)

田中 藍子
2019年サイバー・コミュニケーションズ(CCI)入社。同社データ部門にて、社内DMP基盤/Exchange事業/アドテク(第三者配信、アドベリフィケーションソリューション)の運用に従事。2021年1月より株式会社DataCurrentに出向、同社のソリューション開発メンバーとして、データIn/Outの構築、SQLデータ整形、BIツールを活用したダッシュボード構築を担う。

● 第5回 連携データファイルを追加で納品する際の注意点

データ連携の運用を変えることになった

 これは、とあるお取引先へのデータ連携の話になりますが、そこでは私たちのTreasure Dataから毎月定期的に先方環境へデータを納品していました。

 ある日その運用に変更があり、常時連携対象となるデータの種類が減ることになりました。そして、減った分も必要になった時は都度追加で連携する、というルールになったのです。

<変更前の運用>
・常時連携ファイル:A、B、C、D、E

<変更後の運用>
・常時連携ファイル:A、B、C
・都度連携ファイル:D、E

そのため、今後納品するファイルは

  • 常時連携データのファイル
  • 都度連携データのファイル(必要になった場合)

 をそれぞれ分けて連携する想定でした。

環境情報

弊社出力元: Treasure Data
出力先: AWS S3
出力するファイルの形式(拡張子): tsv

発覚したリスク

 お取引先に対して、「それでは今後は常時連携データ+都度連携データで別々のファイルを格納しますね」と確認を行いました。

 すると、先方より「都度連携の対象となるデータは、常時連携されているデータも含んでいますか?」と質問があったのです。
 さらに「ファイルが分かれている場合、前のファイルのデータを上書きしてしまうためマージ処理が必要です」という先方の指摘がありました。 

 ここでいう、上書きしてしまう、とはどういうことでしょうか。

Appendか、Replaceか

 ファイルをデータベースなどに取り込む場合、主に2つの手法が存在しています。

  • Append:過去のデータに対して新しいデータを追加する
  • Replace:過去のデータを一度消して、追加されたデータだけで洗い替えを行う

「ファイルが分かれている場合、ユーザのデータを上書きしてしまう」

 とは、つまり、先方のデータ取り込み環境では、後から連携されたデータを正としてデータが上書きされてしまい、追加データとして複数のファイルを保持することはできない(Appendできず、Replaceのみ可能)ということでした。

 さらに、先方の指摘でわかったことは、分かれたファイルを格納する場所は一つの同じ格納先だったということです。

 ここでの問題点は以下になります。

・格納先は常時連携データ・都度連携データも同一であったこと
・格納先に対してデータの追加はできず、上書きされてしまうこと

 今回の場合、常時連携データと都度連携データでファイルを分ける想定でした。
 しかし、それぞれのファイルを格納する場所は同じでした。
 つまり、同じ格納先に複数ファイルをアップロードすることになります。

 また、先方環境ではAppendに対応しておらず、Replaceのみに対応しているため、複数ファイルを連携するとデータが上書きされてしまい、元のデータが消えてしまいます。

 そのため、ファイルを分ける形ではうまく連携することができないことがわかりました。

 冒頭の通り、私はてっきり常時連携ファイルに追加(Append)する形での、複数ファイルの連携を想定していたため、危うく、追加分のデータだけ納品して、他のデータを全部消してしまうところでした。

対策

 結果として、私たちから一部のデータを追加で連携する際には、そのデータも含めたファイルを作成して納品することになりました。

 事前のヒアリングをふまえて上記のような形で対応することにより、意図通りの形でデータを連携することができ、未然にトラブルを防ぐことができました。

まとめ

 常時連携しているデータの一部を修正する場合、以下の3点を考慮する必要があります。

  1. 常時連携データと追加データの格納先は同一なのか、異なるのかを事前に確認する
     
  2. データファイルアップロードの形式がAppendなのか、Replaceなのかを事前に確認する
     
  3. Appendができない(Replaceのみの)場合、追加したいデータだけでなく、追加データと追加データ以外の他のデータも含まれたファイルをアップロードする必要がある。

 弊社では、新規データソースの連携方法の整理や実際の連携作業、開発といったことから、既に連携しているデータのトラブル、ご相談まで幅広くサポートしています。お困りごとございましたらお気軽にご相談ください。

本件に関するお問い合わせは下記にて承ります。
株式会社DataCurrent
info@datacurrent.co.jp