我正在开发一个在本地服务器中使用 Openstreetmap 数据的应用程序。为了提高在 OSM 数据库中的搜索速度,我正在考虑在 RAM 内存(也就是我的应用程序的 Java 堆)中缓存一些数据。我想确定缓存不同数量的数据将消耗多少 RAM。完整的数据文件大约有 330 个演出,并且还在不断增长。这将在内存中转换为多少内存?一般来说,有没有办法知道 postgres 数据库中每个 gig 数据会消耗多少 RAM(如果缓存在数据库之外)?
谢谢各位。
萨钦
我正在开发一个在本地服务器中使用 Openstreetmap 数据的应用程序。为了提高在 OSM 数据库中的搜索速度,我正在考虑在 RAM 内存(也就是我的应用程序的 Java 堆)中缓存一些数据。我想确定缓存不同数量的数据将消耗多少 RAM。完整的数据文件大约有 330 个演出,并且还在不断增长。这将在内存中转换为多少内存?一般来说,有没有办法知道 postgres 数据库中每个 gig 数据会消耗多少 RAM(如果缓存在数据库之外)?
谢谢各位。
萨钦
内存中的表示通常比磁盘上的表示需要更多的空间。它取决于所涉及的数据类型,并且可能在因子 2 左右。
更多信息请参阅 Tom Lane 和 Ondrej Ivanic 的 pgsql-general 主题。
那是 PostgreSQL 本身使用的内存。不确定问题的“数据库外部”部分。你是说磁盘缓存?操作系统缓存?不知道那里会有什么因素。