关系数据库、实时数据库与内存数据库相比,有如下差别:
比较项目 | 关系数据库 | 内存数据库 | 实时数据库 | 说明 |
表结构 | 完整 | 完整 | 简化 | 实时数据库不能处理复杂的表关系,但在特定行业的应用中,比如工控监控软件中,不需要复杂的表关系 |
每秒读写速度 | 3000 | 50000 | 500000 | 内存实时数据库比关系数据库快10倍左右,实时数据库比内存数据库快10倍左右 |
历史数据压缩 | 无 | 无 | 有 | 实时数据库比内存数据库的压缩率能达到20~40倍 |
4G空间能存贮30万个测点的每秒变化一次的历史数据(不带索引) | 5小时 | 5小时 | 8.5天 | 在4G内存的情况下,在单服务器处理30万点的情况下,内存数据库只能存贮5小时以内的历史数据,在带索引时,只能保存3小时以内的历史数据。(详见我的博文《实时数据库存贮容量计算方法》) |
128G空间能存贮30万个测点的每秒变化一次的历史数据(不带索引) | 7天 | 7天 | 269天 | 内存数据库有般用在电信行业,国内电信行业应用的最大项目也就使用了90G内存,在128G内存下,内存数据库也只能保存7天的历史数据 |
是否需要历史数据库 | 不需要 | 需要 | 不需要 | 内存数据库还需要配套使用历史数据库,且历史数据库同样存在不能压缩、不能保存长时间海量历史数据的问题 |
实时数据库与关系数据库对比分析
从以上的表格可以看出,内存数据库与关系数据库相比,速度快10-20倍左右,且具有与关系数据库类似的完整表结构,因此在电信业处理大量实时事务业务时经常用到,它也可以应用在工控行业,比如,在很多电力行业SCADA软件中,都包含了一个小型的内存数据库系统(但不是真正意义上的内存数据库),但是,在超大型SCADA软件中,它仍不能满足需求,因为它性能比实时数据库慢10倍,且不能解决历史数据存贮的问题,还存在因为掉电导致大量数据丢失的风险。
以上的比较,指标并不全面,也并不是说,实时数据库一定比关系数据库和内存数据库好,只能说,需要针对不同应用的不同需求,做出综合决策,选择最适合自己需要的数据库产品。
联系客服