对于内存很少的小型虚拟服务器,我需要一个内存要求低的数据库。目前我被SQLite和京都内阁或东京内阁困住了。数据库应该有一个Ruby接口。
理想情况下,我想避免使用键值存储,因为我有“复杂”查询(比查找单个键更复杂)和元组作为键。另一方面,我不希望有一个固定的模式,并避免SQL数据库的规划和迁移工作。数据库服务器也不是必需的,因为只有一个应用程序将使用该数据库。
你有什么建议和数字吗?
您正在寻找一种只有数据库文件且没有正在运行的服务器的解决方案。在这种情况下,Sqlite应该是一个不错的选择 - 如果你不需要它,只需关闭连接就可以了。 Sqlite拥有你需要的所有东西和RDMS(期望直接强制执行FK,但可以用触发器完成),内存占用很少,所以在这种情况下你可能更担心你的ORM内存(如果有的话)使用。
就个人而言,我也使用sqlite作为用例,因为它是可移植的,易于访问和安装(无论如何,这应该不是服务器上的问题,但在桌面应用程序中它是)。
使用SQLite API的BerkeleyDB就是您所需要的。 http://www.oracle.com/technetwork/database/berkeleydb/overview/sql-160887.html