文件系统-关系数据库-内存数据库比较
目录
文件系统与关系数据库
对比表:
类型 | 设计难度 | 数据同于程度 | 数据架构 | 应用扩展性 |
---|---|---|---|---|
关系数据库 | 难度相对较大 | 遵守范式,冗余少 | 以数据库为中心组织和管理数据 | 数据库与应用分离、接口标准化,易于扩展 |
文件系统 | 针对特定应用系统设计,难度较小 | 数据冗余较大 | 以应用为中心管理数据 | 难以扩展 |
关系数据库与内存数据库
关系数据库:比如oracle、mysql、sqlserver、sqlite等
内存数据库:redis、mongodb、hbase、memcache
对比表:
类型 | 数据结构模型 | 读写性能 | 存储容量 | 可靠性 |
---|---|---|---|---|
内存数据库 | key-value键值对模式 | 内存直接读写性能较高 | 基于内存存储,容量受限 | 大部分不支持持久化,恢复机制较差,可靠性较低 |
关系数据库 | 关系模型 | 外存读写,性能相对低 | 存储容量大 | 内存恢复机制,可靠性高 |
关系数据库
特性
- 采用关系模型组织数据管理数据
- ACID,特别是事务的一致性
优点
- 易于理解,二维表结构易于理解,贴近现实逻辑思维
- 使用方便,通用的sql语言方便操作
- 易于维护,丰富的完整性将对了数据冗余与不一致的概率
- 支持复杂存储与查询
- 存储容量大
- 内置恢复机制,可靠性更强
缺点
- 为了数据一致性,考虑原子性、隔离性引入事务、锁等机制,对读写性能较大影响
- 数据表结构固定,不灵活,不易于扩展
- 外存存储,在高并发读写效率相对低
内存数据库
特性
- 采用键值对模型组织与管理数据
- 一般不支持acid特性
- 严格上说不是数据库,而是数据存储集合
优点
- 内存存储,效率高
- 无需sql解析,效率更高
- 数据结构易扩展
缺点
- 不支持sql
- 大部分不支持事务
- 存储容量较低
- 可靠性相对低