Python项目的内存不足且查询速度最快的数据库

由于新的定价,我正在将GAE / Java应用程序迁移到Python(非GAE),因此我要购买一台小型服务器,并希望找到一个符合以下要求的数据库:

>内存使用率低(或可调整或可预测)
>最快的查询功能,可用于通过键识别的简单文档/树状数据(我不在乎编写时的性能,我认为它将具有索引)
>具有Pypy 1.6兼容性(至少Python 2.7)的绑定

我的数据如下所示:

> ID:短键字符串
>标题
>创建者:具有ID(用作键),名称,站点地址等的另一种数据结构的数组.
>标签:标签数组.它们每个都可以具有多个父标记,一个名称,一个ID等.
>许可证:一种数据结构,用于描述其许可证(CC,GPL等),并带有名称,相关的URL等.
>添加时间:添加到我们网站的时间.
>翻译:指向其他条目的指针,这些条目是一个创作的翻译.

我的查询非常简单.通常的情况是:

>按添加时间排序的标签过滤.
>按加法时间选择一些(分页).
>(可能尚未完成)按创建者过滤.
>(尚未完成,但尚未计划)表单中的一些自动完成功能,因此如果某些字段包含子字符串(‘LIKE’查询),我将需要搜索.

数据量不大.现在,我有大约50MB的数据,但我计划拥有大约10GB的巨大数据集.

另外,我想从头开始重建它,因此我可以接受任何选择.您认为哪个数据库可以满足我的要求?

编辑:我想围绕不同的选择做一些基准测试,并分享结果.到目前为止,我已经选择了MongoDB,PostgreSQL,MySQL,Drizzle,Riak和Kyoto Cabinet.

解决方法:

我建议使用Postresql,只是因为它可以做到您想要的,可以扩展,快速,易于使用且稳定.

在给出的示例查询中,它异常快,并且在文档查询中甚至可能更快.

上一篇:ORA-00979:不是Oracle的GROUP BY表达式,但在子句差异的上下文中对MySQL无效


下一篇:mysql – 错误1451:1451:无法删除或更新父行:外键约束失败