我目前正在尝试选择数据库供应商。
我只是从那里的数据库开发人员那里寻求一些个人意见。
我的问题特别针对以下人群:
1)之前使用过支持复制到磁盘(混合)的主内存数据库(MMDB)(即ExtremeDB)
或者
2) 使用过Versant Object Database和/或Objectivity Database和/或Progress ObjectStore
问题确实是:如果您可以根据您的经验推荐适合我的应用程序的数据库供应商。
我的应用程序是一个商业实时(阅读:高性能)面向对象的 C++ GIS 类型的应用程序,我们需要在其中进行大量纬度/经度搜索(即给定一个区域,查找该区域内的所有匹配目标。 ..R-树索引)。
我想存储到数据库中的数据类型都被建模为对象,并且它们使用 std::list 和 std::vector,所以自然地,对象数据库似乎是有意义的。我已经阅读了足够多的文章来说服自己,传统的 RDBMS 可能不是我真正想要的
- 性能(用于动态长度数据(如列表/向量)的连接或多个表)
- 易于编程(阻抗不匹配)
不过,就性能而言,
输入数据以大约 40 MB/s 的速度输入系统。
因此,系统还将以大约每秒 350 次插入的速率插入数据库(其中每个对象从 64KB 到 128KB 不等),
- 数据库将始终通过多个线程进行搜索和更新。
据我了解,我在这里列出的所有对象数据库都使用缓存来存储数据库对象。ExtremeDB 声称,由于它是专为内存设计的,因此可以避免缓存逻辑等开销。通过谷歌搜索查看更多信息:主内存与 RAM 磁盘数据库:基于 Linux 的基准测试
所以..我只是有点困惑。对象数据库可以在实时系统中使用吗?它和 MMDB 一样“快”吗?