2,由开源软件入手
由于我们当然得不到有关内存数据库处理数据的核心技术,所以我们只能出开源内存数据库入手,研究内存数据的开发,
市面上有两款著名的开源内存数据库 Oracle Berkeley DB 与 SQLite
但使用过的人会发现以上两款数据库有以上的缺点和优点
Oracle Berkeley DB 功能相当成熟,支持高并发,多种读写锁,局部锁,且具有数据原子的完整性保护。
但缺点的不支持sql解析,Oracle 将其定位为强大的不具有DBMS的文件数据处理软件。原因理所当然(不能与自己的Timesen打对台)
SQLite 有较成熟DBMS,当然支持SQL解析 ,但不支持局部锁,读写锁为整个数据库锁定,当然不支持高并发操作等特点,(根据对SQLite的最新文档,SQLite 3.6版本可以支撑数据页级的(page)数据锁,在以后文档中会添加改机制的详细剖析)
那么我们会想到,如果将两款开源软件的优缺点结合,那么我们可以整合出我们的内存数据库的初步形态。
这两个内存数据库都有强大完善的文档,帮助我们了解出其中的机制和接口,进一步加大的整合的可能性。