sql - 大整数系列的优化存储

标签 sql postgresql time-series

我目前正在从头开始设计一家初创公司的后端。我们从互联网上抓取时间序列。我们每分钟抓取大量整数,并将它们存储在 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/

相关文章:

postgresql - PSQL异常 : ERROR: syntax error in tsquery

sql - PostgreSQL 不同的行与一列中的不同值的计数连接

sql - Postgres - 按 session 聚合用户事件

sql - 如何在 SQL Server 中仅选择每个外键的第一条记录?

php - 如何将新行的 id 插入到另一个链接表中?

sql - 在 .NET 中,将数据从 SQL 流式传输到文件

postgresql - Postgres 截断重新启动身份不重新启动身份

python - 我怎样才能在numpy中找到减法和

python - 具有多个列的时间序列,每个列都有重复的条目。如何在 Pandas 中处理

c# - 防止 SQL 注入(inject),同时让用户在查询结束时输入自己的条件