我正在开发一个基于Web的监控项目。有近50个传感器,采样频率为50Hz。传感器的所有原始数据必须存储在数据库中。这意味着每秒将近2500个数据,每天2亿个。并且数据必须保存至少三年。我的工作是建立一个网络服务器,通过数据库显示实时和历史传感器数据。允许延时显示。
- 我们应该为此应用选择哪个数据库? SQL服务器还是Oracle?这些数据库是否有可能每秒承受如此巨大的I / O事务?
- 如何设计实时数据和历史数据的数据库结构?我的意见是有两个数据库,一个存储实时数据,另一个存储历史数据。首先将即将到来的数据存储在实时数据库中,并且在某个时间(例如每天23:59:59),我编写一个sql事务来将实时数据传输到历史数据库。因此,对于实时显示,它读取实时数据库。并且对于显示的历史数据,它读取历史数据库。这可行吗?以及如何确定传输数据的时间?我认为在某一天对于一些大数据来说太长了。
- 如何存储时间信息?它每2000万秒就有一个数据。对于一个数据+一次性信息,数据库将扩展如此巨大。为此,sql server 2008的datetime类型需要8个字节的空间。对于50个数据+一次性信息,数据库的数量将减少,但是对于显示的数据,从50个数据中获取错误数据将花费时间。如何平衡数据库大小和数据读取的有效性?
醇>