Когда НЕ использовать Кассандру? - PullRequest
185 голосов
/ 14 апреля 2010

В последнее время много говорят о Кассандре .

Twitter, Digg, Facebook и т. Д. Все используют его.

Когда имеет смысл:

  • используйте Кассандру,
  • не использует Кассандру, а
  • используйте RDMS вместо Cassandra.

Ответы [ 17 ]

2 голосов
/ 28 апреля 2010

другая ситуация, которая делает выбор проще, когда вы хотите использовать агрегатную функцию, такую ​​как sum, min, max, etcetera и сложные запросы (как в упомянутой выше финансовой системе), тогда реляционная база данных, вероятно, более удобна, чем база данных nosql поскольку оба невозможны на базе данных nosql, если вы не используете действительно много инвертированных индексов. Когда вы используете nosql, вы должны будете выполнять агрегатные функции в коде или отдельно хранить их в своем семействе столбцов, но это делает все это довольно сложным и снижает производительность, которую вы получили, используя nosql.

1 голос
/ 21 марта 2018

Кассандра - хороший выбор, если:

  1. Вам не требуются свойства ACID из вашей БД.

  2. Было бы огромное и огромное количество записей в БД.

  3. Требуется интеграция с большими данными, Hadoop, Hive и Spark.

  4. Необходим анализ данных в реальном времени и генерация отчетов.

  5. Требуется внушительный отказоустойчивый механизм.

  6. Требуется однородная система.

  7. Существует множество настроек для настройки.

1 голос
/ 09 марта 2017

Если вам нужна полностью согласованная база данных с семантикой SQL, Cassandra НЕ является решением для вас.Cassandra поддерживает поиск по значению ключа.Он не поддерживает запросы SQL.Данные в Кассандре "в конечном итоге последовательны".Одновременный поиск данных может быть непоследовательным, но в конечном итоге поиск будет непротиворечивым.

Если вам нужна строгая семантика и требуется поддержка SQL-запросов, выберите другое решение, например MySQL, PostGres, или объедините использование Cassandra с Solr.

0 голосов
/ 08 декабря 2017

Apache cassandra - это распределенная база данных, предназначенная для управления большими объемами структурированных данных на многих обычных серверах, обеспечивая высокую доступность услуг и отсутствие единой точки отказа.

Архитектура основана исключительно на теореме о кепке, которая заключается в доступности и допустимости разбиения, и, что интересно, последовательно возможна.

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

0 голосов
/ 16 октября 2017
  • Он не поддерживает полное управление транзакциями через столы.
  • Вторичный индекс не поддерживается.
  • Необходимо полагаться на Elastic search / Solr для вторичного индекса, и пользовательский компонент синхронизации должен быть написан.
  • Система не совместима с ACID.
  • Поддержка запросов ограничена.
0 голосов
/ 05 мая 2017

Согласно DataStax, Cassandra - не лучший вариант использования, когда есть необходимость в

1- Высококачественные аппаратные устройства. 2- ACID-совместимость без отката (банковская операция)

0 голосов
/ 09 апреля 2013

Mongodb обладает очень мощными агрегатными функциями и выразительной структурой агрегирования. Он имеет множество функций, которые разработчики привыкли использовать в мире реляционных баз данных. Структура данных / хранилища документов позволяет создавать более сложные модели данных, чем, например, Cassandra.

Все это, конечно, идет на компромиссы. Поэтому, когда вы выбираете базу данных (NoSQL, NewSQL или RDBMS), обратите внимание на то, какую проблему вы пытаетесь решить, и на ваши потребности в масштабируемости. Ни одна база данных не делает все это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...