我目前正在构建一个高流量的GIS系统,该系统在web前端使用python。系统为99%只读。为了提高性能,我正在考虑使用外部生成的缓存预先生成的读取优化的地理信息系统信息,并存储在每个单独的web服务器上的SQLite数据库中。简而言之,它将被用作分布式只读缓存,而不必通过网络跳转。后端OLTP存储将是postgreSQL,但它只能处理不到1%的请求。
我曾考虑过使用Redis,但数据集相当大,因此它会推高托管它的虚拟机的管理成本和内存成本。Memcache不适合,因为它不能执行范围查询。
如果SQLite这样做,我会遇到读并发问题吗?
这是一种明智的方法吗?
发布于 2011-08-01 16:47:44
好的,经过大量的研究和性能测试,SQLite是适合这一点的。它对静态数据具有很好的请求并发性。只有在写入和大量读取的情况下,SQLite才会成为问题。
更多信息请点击此处:
http://www.sqlite.org/lockingv3.html
发布于 2011-07-24 17:50:23
如果用例只是一个缓存,为什么不使用像http://memcached.org/这样的东西呢?
您可以在pypi库中找到python的memcached绑定。
另一种选择是在postgres中使用物化视图,这样可以让事情变得简单,并将所有内容放在一个地方。
http://tech.jonathangardner.net/wiki/PostgreSQL/Materialized_Views
https://stackoverflow.com/questions/6806086
复制相似问题