- Oracle Database In-Memory(架构与实践)
- 萧宇编著
- 513字
- 2025-02-23 16:16:24
1.2.1 内存数据库
内存数据库的前身是基于磁盘的关系型数据库,随着技术的发展以及内存价格的不断下降,逐渐出现了内存为主存的数据库系统。这里的内存指的是DRAM,而不是固态硬盘或闪存。通常来说,内存数据库的数据全部驻留在内存中,因此数据访问的速度远高于基于磁盘的系统,并且数据库引擎的实现更简洁,执行指令的时间更快。后来又逐渐出现了内存与磁盘混合的数据库,充分结合了内存的高性能和磁盘的高容量低成本优势。
内存数据库的另一个主要特征是支持数据库的关系型特性,包括事务的原子性、一致性、隔离性和持久化、SQL数据访问、JDBC和ODBC访问接口、存储过程和函数等高级特性。因此,内存数据库通常可以替换传统的基于磁盘的关系型数据库,并且应用只需要做很少的改动就可以与新的内存数据库兼容。
传统的磁盘数据库通常是纵向扩展的系统,在横向扩展上不具备优势,这主要是由于跨节点的SQL联结操作会带来很大的性能开销。利用内存的性能优势,新型的分布式内存数据库可以在一定程度上提高数据库的可扩展性,同时保证数据的一致性。内存数据库另一种横向扩展的方法是通过数据分片技术,这种方式通常需要应用定制的数据路由以及基于业务特征实现数据划分。
典型的内存数据库产品包括Oracle TimesTen、Redis、SAP HANA和Oracle Database In-Memory。