PostgreSQL内存数据库Django

9
为了解决性能问题,我想在 Django 的内存数据库上执行一种优化算法(我可能会执行很多查询)。我知道可以使用 SQLite 内存数据库(如如何仅在内存中运行 Django 的测试数据库?),但我更愿意使用 PostgreSQL,因为我们的生产数据库是 PostgreSQL。请问有人知道如何告诉 Django 在内存中创建 PostgreSQL 数据库吗?
谢谢!

http://rhaas.blogspot.co.at/2010/06/postgresql-as-in-memory-only-database_24.html - mtt2p
2个回答

8
这是过早的优化。即使在冷启动的金属硬盘上运行,只要使用正确的索引,Postgresql非常非常快。如果您不将数据持久化到磁盘上,那么您将会面临很多问题。
另一方面,如果您想通过运行内存中的postgresql数据库来加速测试,可以尝试像这样的非持久化优化

http://www.postgresql.org/docs/9.1/static/non-durability.html

最激进的建议是在该页面上使用ramdisk这里是设置方法。按照操作系统/Postgresql步骤后,编辑django settings.py并将表空间添加到DATABASES部分。
最后但并非最不重要的:这只是完全浪费时间。

1
也许你是对的,这可能是过早的优化。首先我会不使用它。稍后当我的算法没问题时,我会尝试看看是否有所收益。谢谢 - Svan

1
这是不可能的。你不能仅使用内存来使用PostgreSQL;至少不能这样做,否则就失去了使用PostgreSQL而不是其他东西的目的。像Redis这样的内存数据存储可以与PostgreSQL一起运行,这是最好的选择。
此外,在这一点上,配置已经超出了Django的掌控范围。必须在Django环境之外完成它。
看起来你可能缺乏对这些系统如何工作的理解。先构建你的应用程序以验证一切是否正常,然后再考虑优化数据库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接