DataSetAPIとStreamAPI
ベストアンサー
-
Stream APIは複数のHTTP通信で一つの更新を行えるのに対してDataset APIは一つの更新を一つのHTTP通信で行わねばなりません。そのため、ここでの大きさはレコード数ではなく一度に送信するデータのバイト数によって判断していただくのが適切です。
HTTPサーバのデフォルトのタイムアウト値は300秒ですので、お使いの回線がの上り速度が100Mbpsだとした場合に、一度のHTTP通信で送れる最大データ量は
(100Mbps/8)*300=3.75GB
となります。ここでTCP/IPオーバーヘッドと暗号化オーバーヘッドは考慮していないのと、インターネット回線の遅延などを考えると1-2GBを超える更新を1度に行う必要がある場合はStream APIを使用することをお勧めします。
0 -
以下のような点でStream APIを用いたデータアップロードのほうが開発工数がかかりますが、それ以外に特にデメリットはございません。(USの大手小売り企業もこのAPIを使用してデータ更新をしています)
・Stream APIのほうがステップが多い(ストリームを開く・データをアップロードする・コミットするなど)
・データの分割および複数のアップロードプロセスの管理が必要0 -
今後もその限りかはわかりませんが、現状では特にAPIコール数に制限は設けてありません。
0
答え
-
Stream APIは複数のHTTP通信で一つの更新を行えるのに対してDataset APIは一つの更新を一つのHTTP通信で行わねばなりません。そのため、ここでの大きさはレコード数ではなく一度に送信するデータのバイト数によって判断していただくのが適切です。
HTTPサーバのデフォルトのタイムアウト値は300秒ですので、お使いの回線がの上り速度が100Mbpsだとした場合に、一度のHTTP通信で送れる最大データ量は
(100Mbps/8)*300=3.75GB
となります。ここでTCP/IPオーバーヘッドと暗号化オーバーヘッドは考慮していないのと、インターネット回線の遅延などを考えると1-2GBを超える更新を1度に行う必要がある場合はStream APIを使用することをお勧めします。
0 -
ご返答有難うございます。
StreamAPIを使おうと思うのですが、DataSetAPIと比較して何かデメリットはあるのでしょうか。
0 -
以下のような点でStream APIを用いたデータアップロードのほうが開発工数がかかりますが、それ以外に特にデメリットはございません。(USの大手小売り企業もこのAPIを使用してデータ更新をしています)
・Stream APIのほうがステップが多い(ストリームを開く・データをアップロードする・コミットするなど)
・データの分割および複数のアップロードプロセスの管理が必要0 -
ご返答有難うございます。
コール数の制限はありますでしょうか。
0 -
今後もその限りかはわかりませんが、現状では特にAPIコール数に制限は設けてありません。
0