У меня около 2500 таблиц, участвующих в расчете. В моей среде dev у меня очень мало данных в этих таблицах, 10 - 10 000 строк с большинством таблиц в нижнем конце этого диапазона. Мой расчет будет сканировать все эти таблицы много раз. Хотя весь набор данных поместился бы в память, легко доступ к нему через HBase невероятно медленный, с огромным количеством активности диска.Могу ли я улучшить производительность HBase, уменьшив размер блока hdfs?
Как вы думаете, это поможет уменьшить размер блока hdfs? Мое рассуждение состоит в том, что если каждая таблица находится в своем собственном блоке, тогда огромное количество памяти будет потрачено впустую, не допуская, чтобы весь набор данных находился в ОЗУ. Значительно уменьшенный размер блока позволит системе удерживать большинство, если не все данные в ОЗУ. В настоящее время размер блока составляет 64 МБ.
Окончательная система будет использоваться в более крупном кластере с гораздо большим объемом памяти и узлами, это просто для ускорения моей среды разработки.
Фантастический! Спасибо за ответ. В конечном итоге таблицы будут значительно больше, миллионы + строки и должны быть сохранены. Может ли redis/memcache использоваться в этом сценарии? – user1098798
см. Https://groups.google.com/group/redis-db/browse_thread/thread/474c07cd77ae1266 для ограничений размера Redis. Я не знаю достаточно о ваших требованиях. поэтому другие связанные технологии, которые вы, возможно, захотите рассмотреть, включают в себя решения для grid-сетей, такие как Gridgain, Hazelcast, Gigaspaces или Infinispan. –
Имейте в виду, что размер блока HDFS и размер блока HBase - это разные вещи. –