我目前正在从头开始设计一家初创公司的后端。我们从互联网上抓取时间序列。我们每分钟抓取大量整数,并将它们存储在 csv 文件中带有时间戳的行中。
我们还没有开始正确地利用数据,因为我们仍处于设计阶段。我想知道,几年的整数系列的最佳存储是什么?我们开始考虑将其加载到 Postgres 中,但 sql 是否适合利用时间序列?
我期待找到一个最适合处理此类特定数据集的奇迹软件,并且很高兴听到任何能够实现的建议:
- 持久的大容量存储
- 平均/分组计算,可能还有其他类似 R 的功能
- 与原始 SQL 数据库存储相比,在性能、功能或易用性方面有所提升
最佳答案
每分钟,8,000 个值转化为每天 1,150 万个值或每年 40 亿行。这是一个沉重的负担。只是插入负载(使用任何符合 ACID 的方法)是值得注意的——每秒超过 100 次插入。这在现代数据库系统中绝对是可管理的,但并非微不足道。
Postgres 很可能可以处理这种负载,具有适当的索引和分区方案。该解决方案的确切性质取决于您需要运行的查询,但 Postgres 确实具有支持它的底层工具。
但是,您的要求(在我看来)超出了 Stack Overflow 所能提供的范围。如果您正在设计这样的系统,您应该寻求专业 Postgres DBA 的帮助。我可能会补充说,您可以考虑考虑基于云的解决方案,例如 Amazon Redshift 或 Microsoft Azure,因为这些解决方案可以让您“仅”通过支付更多资金轻松扩展系统。
关于sql - 大整数系列的优化存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23583246/