Поддерживает ли Кассандра очертание?
Поддерживает ли Apache Cassandra оглавление?
Извините, что этот вопрос должен казаться тривиальным, но я не могу найти ответ. Я прочитал, что Кассандра была частично смоделирована после большой таблицы GAE, которая осколки в огромных масштабах. Но большая часть документации, которую я нахожу в настоящее время на Кассандре, по-видимому, подразумевает, что Cassandra не разбивает данные по горизонтали на нескольких машинах, а поддерживает многие многократные машины. Это означало бы, что Cassandra хорошо читает высокую доступность, но в конечном итоге сломается, если объем записи станет очень высоким.
Ответы
Ответ 1
Cassandra делает разделение между узлами (потому что, если вы не можете разделить его, вы не можете масштабировать его). Все данные для кластера Cassandra делятся на "кольцо", и каждый узел на кольце отвечает за один или несколько диапазонов ключей. У вас есть контроль над Partitioner (например, Random, Ordered) и количеством узлов на кольце, которые должен быть реплицирован ключ/столбец в соответствии с вашими требованиями.
Это довольно хороший обзор. Базовая архитектура
Кроме того, я настоятельно рекомендую прочитать белую бумагу "Динамо". В то время как Кассандра отличается от Динамо разными способами, концептуально они происходят из одних и тех же корней. Проверьте это: Белая книга "Динамо"
Ответ 2
да, cassandra поддерживает sharding, но по-своему.
В Mongodb каждый вторичный node содержит полные данные первичного node, но в Cassandra, каждый вторичный node несет ответственность за сохранение только некоторых ключевых разделов данных.