我的 Postgres DB 具有以下格式的每日增加数据(每天添加约 500 行)
Timestamp,Val1, Val2, Val3, Val4, Val5
--------------------------------------------
1494410340000,1360,1362,1359.2,1354.2,28453
1494410340000,1360,1362,1359.2,1354.2,28453
1494410340000,1360,1362,1359.2,1354.2,28453
每一天结束,我都可以将这些数据作为 CSV 文件写入 AWS S3 每个 CSV 文件都包含当天上述格式的数据。10May.csv、11May.csv 12May.csv 等等。
这些文件每个几乎都只有 25 KB。
我想将上述数据存储在AWS中,并允许客户端直接获取过滤后的N行
例如:客户端可以在5 月 10 日上午 11 点到5 月 11 日下午 3 点之间请求数据
基本上我需要在多个 CSV 文件上模拟这个查询:
select * from allcsvdata where timestamp between Ts1 and Ts2
到目前为止我发现的相关内容:
- AWS Athena -> 读取 csv 并查询然后返回结果 [每次扫描 10MB 的最低费用 :(]
- AWS Gateway -> AWS Lambda fn -> 从 S3 读取文件并返回结果
对于这种情况有什么更好的方法。70% 的查询需要多天的数据[读取多个 csv 文件]。
那么我应该将所有数据附加到单个文件中并使用 Athena 吗?
或者我应该得到一个带有 presto 的 EC2 吗?
或者任何其他适合这种需求的架构?
我愿意接受建议,如果需要任何其他详细信息,请告诉我?