SQLite面临的4个主要挑战以及Raima Database Manager如何避免这些挑战
从SQLite切换到RDM以实现可扩展性和性能
Raima Database Manager支持与SQLite几乎相同级别的SQL。因此, 用户将只需要到的内容导出IR 数据库到CSV,XML或SQL格式,运行 RDM -创建 自己的数据库schema文件,然后运行 RDM -import 的CSV,XML或SQL格式文件,并 在用户 将具有与SQLite数据库等效的RDM。从那里, 用户 可能必须移植您的应用程序,但是RDM支持ODBC SQL接口,JDBC Java接口和ADO.NET C#接口,因此可能不必进行实质性的代码更改。
性能比较示例-Raima数据库管理器(RDM)与SQLite
当今的大多数操作系统和硬件都支持多线程。SQLite的不接受,因为SQLite中设计的这个机会。当有许多并发写入SQLite数据库时,应用程序用户的速度会大大降低,并且应用程序可能无法满足用户的性能期望。众所周知,只有在没有其他请求得到服务时,才可以授予对SQLite数据库的写访问权限。SQLite中的“一次写入一次”设计会降低吞吐量。因此,许多应用程序所有者被迫寻找替代的嵌入式数据库选项来解决其性能瓶颈。
Raima进行了一项测试,证明了RDM数据库解决方案和SQLite之间的差异。在此测试中,我们证明RDM是SQLite的很好替代品。
我们如何进行测试
在此性能比较中,我们使用了 来自www.tpc.org的标准 TPC-B测试框架。TPC-B根据系统每秒可以执行多少事务来衡量吞吐量。对该测试进行了修改,以允许在多个客户端进行并行工作时进行比较。
我们为SQLite和RDM使用了相同的测试环境和框架。在测试中,事实证明RDM的速度明显快于SQLite。请参见下图。该测试使用的平台是RDM 14.1版,在标准Windows 10,具有16GB RAM和标准SATA硬盘的Intel i7处理器计算机上针对SQLite v3.23运行。
Raima Database Manager的设计经过优化,专门针对 具有现代和高效API集的嵌入式系统以及精心设计的数据库存储文件格式。RDM允许并发写入和读取,因此可以完成SQLite可以完成的工作量的许多倍。
测试亮点:
由于RDM的多线程支持,与SQLite相比,RDM将执行大量事务。
在下图中,RDM将SQLite在相同的时间范围和硬件约束下可以处理的事务数增加四倍。如果使用内存设计完成此测试,则差异会更加明显。
分解上面的测试,进一步显示每秒在数据库的每个客户端上完成的事务数量。
结论
如上图所示,由于SQLite的设计,它每秒可以对数据库的每个客户端执行的事务数量是可变的。RDM可以使每个客户每秒处理的事务数增加多达四倍。如果稳定性和一致性很重要,那么RDM非常适合。
RDM旨在每秒提供一致且可靠的事务,同时对多用户友好且高效。