多数のセンサーを含むハードウェア プラットフォームからアップロードされた大量の生データを処理する Web アプリケーション (Java バックエンド) があります。
現在、生データがアップロードされ、データが解凍されてPostgresqlデータベースに「テキスト」フィールドとして保存されているため、ユーザーはログインしてデータのさまざまなグラフ/チャートを生成できます(JSチャートライブラリクライアントサイドを使用)。
文字列の例...
[45,23,45,32,56,75,34....]
配列には通常、約 300,000 の値が含まれますが、センサーが記録している時間の長さによっては最大 1,000,000 になる可能性があるため、格納される文字列のサイズは数百キロバイトになる可能性があります
1 日あたりのアップロード数は 200 までしかないため、現時点では問題なく機能しているようですが、アプリケーションのスケーラビリティとデータのバックアップ機能を検討しているため、このデータを保存するための代替手段を検討しています。
DynamoDB は、アップロードの詳細を SQL テーブルに保存し続け、配列を取得するために呼び出される URL エンドポイントを保存することができるので、私にとっては素晴らしいオプションのように見えました....しかし、アイテムのサイズが 64kb に制限されていることに気付きました。
これを行うには100万通りの方法があると確信しているので、これをSOコミュニティに公開して、Webサービスまたはローカルに保存された他の人が推奨するものを聞きたいと思います....パフォーマンス、スケーラビリティ、保守性などを考慮して...
前もって感謝します!
アップデート:
上記のデータを明確にするために、X値は配列内の位置としてタイムサンプリングされるため、「Y」値にすぎません....したがって、タプルとして保存することには利点があるとは思いません。