在内存中适合mysql db

时间:2010-10-31 04:18:44

标签: python mysql sqlalchemy performance

我正在使用Redis数据库存储导航信息。这些数据必须是持久的,并且应该更快地获取。我在这个数据集中的数据不超过200 MB。

在为redis db编写管理模块时遇到问题,我真的错过了django样式管理模块的sql架构和强大功能。

现在我正在考虑使用MySQL。要求是,我想要持久数据库,但数据可以像redis一样加载到内存中,这样我就可以更快地完成SQL查询。

是否可以在持久模式下使用MySQL并指示MySQL使用内存进行查询?什么是最合适的MySQL数据库,我不担心我们的写入很少的一致性。

3 个答案:

答案 0 :(得分:1)

我会为你的mysql数据库创建一个只读的slave,并强制它的数据库引擎到内存。您必须通过重新初始化只读数据库来处理故障,但这可以很容易地编写脚本。

通过这种方式,您仍可以在常规mysql数据库中保持持久性,并在只读内存表中保持读取速度。

答案 1 :(得分:0)

我认为你可以有一个持久表,每当服务器启动时都将所有数据复制到MEMORY引擎表中,并在内存数据库上有触发器,用于INSERT UPDATE和DELETE写入持久表,因此它被隐藏用户。如果我错了,请纠正我,这只是我首先尝试的方法。

答案 2 :(得分:0)

我用HSQLDB(链接:http://hsqldb.org/

做到了

缺少一些基本的SQL功能,比如IN子句。但它主要完成这项工作。