Допустим, у меня есть кластер cassandra (DSE) и приложение, которое динамически создает кластеры и таблицы (это фактически бизнес-пример, который у нас есть).Может ли Cassandra воспользоваться огромной памятью (ОЗУ)
Сообщается, что Cassandra резервирует 1 МБ памяти для каждой таблицы в памяти. Клавиши на самом деле не занимают места, но если таблицы добавляются динамически, в конечном итоге вся память будет «зарезервирована» для всех этих таблиц. Я предполагаю, что нужно создать много таблиц, но для этого вопроса давайте предположим, что таблицы добавлены, чтобы «съесть» память. Итак, чтобы решить проблему, я мог бы добавить больше памяти (ОЗУ), или это не поможет?
Как Cassandra будет использовать память, если будет добавлено больше? Например. позволяет предположить, что я собираюсь в крайнем случае и иметь узлы в моем кластере с 244 ГБ оперативной памяти (пример AWS i2.8xlarge), поможет ли это мне добавить в кластер больше таблиц?
Возможно ли, что Cassandra может использовать дополнительную ОЗУ?
Хотя это было интересно читать это не отвечает на мой вопрос. Предположим, что у меня есть контроль над созданием кластеров и таблиц, возвращаясь к исходному вопросу, является ли Cassandra использовать добавленную RAM? – nicgul
Cassandra может использовать ОЗУ с использованием кеша кеша кеша/кеша, но в реальности используется кеш-страница ОС. Если у вас 244 ГБ ОЗУ, использование кучи разумного размера и остальная часть ОЗУ для кэша ОС обычно будет лучше. В некоторых случаях использование очень большой кучи и G1 (как предложено @doanduyahi) будет хорошим, но часто вы просто переходите от кеширования ОС/ядра к кешированию JVM, что не всегда выигрывает. –