2015-08-26 2 views
1

Я планирую переехать из MongoDB в Кассандру для получения больших финансовых данных временных рядов. Я планирую тестовый кластер из 3 новых 16-гигабайтных i7s с SSD емкостью 500 ГБ, но в идеале я хотел бы добавить пару старых компьютеров, о которых я обманываю, но они примерно на 1/2 скорости новых (i5s с 12 ГБ оперативной памяти и вращающимися дисками). Должен ли я выполнять специальные ручные настройки конфигурации, чтобы заставить Cassandra загружать более быстрые машины с большим количеством строк/работы? Или это действительно так же просто, как добавлять ящики в кластер, не беспокоясь слишком много, если их процессор и скорость диска различны? Я планирую коэффициент репликации равным 2.Будет ли баланс Cassandra автоматически загружаться на гетерогенных аппаратных узлах?

В основном, Кассандра автоматически учитывает производительность узла при балансировке нагрузки и разбиении? Я бы не хотел добавлять старые аппаратные средства и видеть, как это ухудшает производительность всего кластера.

Главной мотивацией для моего вопроса является то, что если я куплю значительное количество узлов сегодня с помощью современного оборудования, что произойдет через 24 месяца, когда я добавлю гораздо более новое/более быстрое оборудование? Неужели (к тому времени) старые машины непропорционально удерживают его от недостатка собственной скорости? Должен ли я иметь возможности гомогенных узлов для эффективной кластеризации?

Мой вопрос касается не только скорости процессора, но и пропускной способности системы хранения и задержки.

ответ

4

Он не автоматически загружает баланс, чтобы регулировать различия в оборудовании. Поэтому, если вы используете конфигурацию по умолчанию, более медленные машины вызовут большое сопротивление общей производительности.

Но если вы используете vnodes с murmur3partitioner, то теоретически можно компенсировать аппаратные различия, выделяя меньше vnodes на более медленное оборудование. Это приводит к отображению меньшего количества разделов на эти машины, так что в среднем они будут вынуждены выполнять меньше работы.

Я думаю, что до такой степени, что может работать, если аппаратное обеспечение не слишком отличается способностью, но вы должны выяснить, правильное распределение vnode экспериментально, так как производительность может быть влияние так много различных факторов, таких как центральный процессор скорость, скорость памяти, ввод-вывод и т. д.

Я нашел, что гораздо удобнее работать с соответствующим оборудованием, если это возможно, поскольку аппаратные средства всего несколько лет назад выполняют значительно хуже, чем более новое оборудование.

Смежные вопросы