Я оценил большинство решений 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 ГБ? Итак, для того, чтобы они работали правильно, какой минимальный комфортный объем оперативной памяти?