Я оценил большинство решений NoSQL, и мне кажется, что лучше всего использовать комбинацию MongoDB, Riak и HyperTable (или HBase).
Каковы минимальные требования для комфортной работы этих баз данных?
Скажем, если я разверну эти базы данных (MongoDB, Riak и HyperTable - или HBase) - и веб-сервер (например, nginx или Cherokee) и Java / GlassFish - ВСЕ на одном компьютере под управлением FreeBSD с 32 ГБ ОЗУ, как будет они выступают? Обратите внимание, что при таком подходе все 32 ГБ ОЗУ распределяются поровну между всеми приложениями. В случае Java / GlassFish и HBase его можно ограничить с помощью параметра «-Xmx0000m», но для этих баз данных они будут автоматически использовать всю память? Я понимаю, что MongoDB отображается в памяти и так далее - так что же произойдет, когда все они будут бороться за память? (Я думаю, что можно ограничить использование памяти для MongoDB, Riak и HyperTable с помощью параметра запуска, но как?)
В качестве альтернативы, лучше ли развертывать виртуализацию Solaris (или OpenIndiana) с контейнерами Solaris (или «зонами»), чтобы ограничить каждое приложение, например, назначить 4 ГБ для каждой зоны MongoDB, Riak и HyperTable / HBase? При таком подходе все базы данных по сути работают со средой всего на 4 ГБ? Итак, чтобы они работали нормально, какова минимальная удобная оперативная память?