каков типичный размер данных в памяти по сравнению с данными в кортеже базы данных?

Я работаю над приложением, которое использует данные Openstreetmap на локальном сервере. Чтобы повысить скорость поиска в базе данных OSM, я рассматриваю возможность кэширования некоторого объема данных в оперативной памяти (также известной как куча java моего приложения). Я хочу определить, сколько оперативной памяти будет потребляться для кэширования различных объемов данных. Полный файл данных составляет около 330 гигабайт и продолжает расти. Сколько оперативной памяти это переведет в память? В общем, есть ли способ узнать, сколько оперативной памяти будет потреблять каждый гигабайт данных в базе данных postgres (если кэшируется вне базы данных)?

Спасибо, ребята.

Сачин


person doles    schedule 28.09.2012    source источник


Ответы (1)


Для представления в памяти обычно требуется больше места, чем для представления на диске. Это зависит от задействованных типов данных и может быть около коэффициента 2.

Дополнительная информация в этой теме pgsql-general Тома Лейна и Ондрея Иванича.

Это для памяти, которую использует сам PostgreSQL. Не уверен насчет части вопроса «вне базы данных». Вы имеете в виду дисковый кеш? Кэш ОС? Не уверен, что фактор был бы там.

person Erwin Brandstetter    schedule 28.09.2012
comment
Спасибо за твой ответ. Под пределами базы данных я имею в виду оперативную память машины, на которой я запускаю свое приложение. Не в памяти, используемой программным обеспечением базы данных. В частности, мое приложение представляет собой веб-приложение java, поэтому доступная мне оперативная память - это пространство кучи java. - person doles; 29.09.2012