0434花咲か名無しさん (ワッチョイ 7fd7-58TP)
2017/11/09(木) 13:27:36.00ID:cjPOXs1f0Phase )
1) Sieve Data Flow
センサ群/Scraping等で取得したデータ
Grab data Arch data
o--------- o-------------- ( 左に最新順にならんでいるとする
2) Sieve 篩い分け
Grab data Arch data
(o---)<------> <o-------->----
<> でくくられた範囲が同じデータ であったとする 実際にやってみると新規に取得したデータが過去に蓄積されたものと
ダブルことはよくある (同じ値 ではなくて 複数回取得してしまったものなど。 貧弱なHW設計やWEBのScraping等にはありがち)
( ) が新しいデータ _DIFF_DATA
3) Commit 結合
Grab data Arch data
(o---)<------> (o---)<o-------->---------
書き込むデータ等
_WRITE_DATA = diff ; diffby()
_WRITE_DATA = diff + Arch ; merge()
Grabしたデータ量分だけArchと突き合わせれば良い。
あるいは Grabx4倍など 任意に整数倍した量だけArchと突き合わせれば
O(n)はGrabの整数倍にしかなりえない (+ArchのSort分)
非常に高速になる。
おわり