Почему бы вам не начать с одного небольшого сервера Cassandra, как вы обычно делаете это с MySQL?

Для любого только начинающегося веб-сайта нагрузка изначально минимальна и сначала растет медленно. Люди обычно начинают со своих сайтов на базе MySQL с одного сервера (*** это тоже VPS, а не выделенный сервер), работающего как сервер приложений, так и сервер БД, и обычно заходят слишком далеко с этой настройкой и только тогда, когда они чувствуют необходимость они отделяют БД от сервера приложений, предоставляя ему отдельный VPS-сервер. Это то, чего ожидает стартап, планируя закупку ресурсов.

Но пока то, что я видел, с Кассандрой совсем другое. Люди обычно рекомендуют начинать как минимум с 3-узлового кластера (на выделенных серверах) с большим количеством оперативной памяти. Они предлагают начать с 4 или 8 ГБ оперативной памяти. Так получается, что Cassandra требует больше аппаратных ресурсов по сравнению с MySQL, чтобы веб-сайт обеспечивал аналогичную производительность, обслуживал аналогичную нагрузку / трафик и тот же объем данных. Я понимаю, что Cassandra требует более высокого хранилища из-за репликации, но как насчет других аппаратных ресурсов?

Разве мы не можем начать с приложений на основе Cassandra, таких как MySQL. Начиная с 1 или 2 VPS и добавляя больше, когда в этом есть необходимость?

Редактировать:

Я не хочу сравнивать яблоки с апельсинами. Я просто хочу знать, в какой более опасной ситуации я могу оказаться, когда начну с одноузловой установки cassandra на основе VPS по сравнению с одноузловой установкой MySQL на основе VPS. Разница между этими двумя ситуациями. Серверы cassandra более склонны к недоступности, чем серверы MySQL? Что плохо, если я поставлю tomcat вместе с Cassandra, поскольку люди используют стек LAMP на одном сервере.


person Rajat Gupta    schedule 27.08.2013    source источник


Ответы (4)


Короткий ответ: вы абсолютно можете начать с одного небольшого узла.

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

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

Вы сможете узнать о кодировании с помощью Cassandra и для нее, и если вы переходите от традиционной СУБД, это гораздо более серьезное и серьезное препятствие.

Посмотрите, нравится ли вам модель данных. Посмотрите, нравится ли вам дизайн без схемы. Если вы пройдете через все это, вы можете беспокоиться о том, как увеличить масштаб.

НАПИШИТЕ свой другой вопрос: кластер Cassandra с одним узлом, даже работающий на небольшой машине, даже если его совместное использование этой машины с другими службами должно быть не более «опасным», чем запуск MySQL в аналогичной конфигурации.

person Brian Tarbox    schedule 18.09.2013

Люди обычно рекомендуют начинать как минимум с 3-узлового кластера (на выделенных серверах) с большим количеством оперативной памяти. Они предлагают начать с 4 или 8 ГБ оперативной памяти.

Рекомендации по оборудованию Cassandra обычно предназначены для людей, у которых будет 100 ГБ данных. Вы можете обойтись меньшим объемом, если у вас мало данных. Вы можете настроить JVM только на использование кучи размером 512 МБ или 1 ГБ в cassandra-env.sh.

Разве мы не можем начать с приложений на основе Cassandra, таких как MySQL. Начиная с 1 или 2 VPS и добавляя больше, когда в этом есть необходимость?

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

Хотя я никогда не запускал производственную систему на серверах такого размера, я запускал постоянно доступный кластер контроля качества на виртуальных машинах с 4 ГБ ОЗУ и 2 ядрами. А для небольших объемов данных я видел, как другие запускали кластеры всего с 2 ГБ ОЗУ.

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

Обновление:
Вот недавняя запись в блоге о том, как заставить Cassandra работать с кучей 64 МБ:

person Zanson    schedule 28.08.2013
comment
это немного обнадеживает. Спасибо! Хотя я никогда не видел, чтобы люди говорили о том, чтобы начать с этой конфигурации на практике. - person Rajat Gupta; 28.08.2013
comment
Это потому, что большинство людей, рассматривающих Кассандру, рассматривают это, потому что они выросли что-то еще. Так что очень немногие люди потрудятся начать с такого малого. - person Zanson; 29.08.2013

В ответ на последнюю часть вашего вопроса

Разве мы не можем начать с приложений на основе Cassandra, таких как MySQL. Начиная с 1 или 2 VPS и добавляя больше, когда в этом есть необходимость?

Вы определенно можете начать с написания приложений на Cassandra. Я создал банковское приложение на основе кассандры, и оно хорошо сработало. У меня был кластер с 6 узлами, и я использовал Cassandra 1.1. Cassandra имеет настраиваемую согласованность данных, которая варьируется от очень высокой согласованности (поддержка транзакций) до конечной согласованности.

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

Более подробно вы можете посмотреть это видео:

http://www.youtube.com/watch?v=5qEoEAfAer8

Полезные ссылки :

http://www.datastax.com/docs/1.1/initialize/cluster_init

http://www.datastax.com/2012/01/how-to-set-up-and-monitor-a-multi-node-cassandra-cluster-on-linux

person navin    schedule 27.08.2013
comment
вы тоже начали с одного узла? VPS? Какая у вас была начальная установка оборудования? - person Rajat Gupta; 27.08.2013
comment
Я начал с одного узла и в конце концов увеличил масштаб. Это не VPS. Это был 6-узловой товарный кластер с 700 ГБ ОЗУ и емкостью хранилища 100 ТБ. - person navin; 27.08.2013
comment
какова была аппаратная конфигурация вашего первого узла? Кроме того, как долго он работал у вас в продакшене, пока вы не добавили больше серверов? - person Rajat Gupta; 27.08.2013
comment
Вы с самого начала начали с выделенных серверов? - person Rajat Gupta; 27.08.2013
comment
Я начал с выделенных серверов, так как мы хотели поэкспериментировать с кассандрой и протестировать ее, подходит ли она для нашей цели - person navin; 27.08.2013
comment
Не могли бы вы также ответить на мой предыдущий комментарий, например, конфигурация оборудования ur в начале и как долго вы ее запускали, прежде чем добавлять дополнительные серверы? - person Rajat Gupta; 27.08.2013

person    schedule
comment
Спасибо, Любен, я знаю все эти детали, так как я работал над приложением с Кассандрой больше года. Как вы говорите, многие переключаются на Кассандру после того, как вырастут, так с чего же начинать новичкам? Начать с mysql, а затем перейти? Разве он не предназначен для работы с небольшими приложениями ?? Или, если я использую кассандру с самого начала, в надежде, что в один прекрасный день я стану большим, разве это не чрезмерная инженерия, разве я не обременяю себя с самого начала из-за каких-то чрезмерно амбициозных надежд ?? - person Rajat Gupta; 27.08.2013
comment
@ user01 Start with mysql & then migrate Определенно нет ... Я объяснил, почему люди дают те же рекомендации, что и выше. Вам следует начать с небольшого кластера, если у вас нет 3-х машин, это нормально, когда (и если) вам нужно вырастить, легко добавить новые узлы, вам просто нужно повторно сбалансировать свой кластер после того, как вы добавили узлы прочтите здесь, но вы можете начать с одного узла и добавлять емкость по мере необходимости нужно это! - person Lyuben Todorov; 27.08.2013