2010-03-27 3 views
13

У меня есть огромная база данных (своего рода WordNet) и хотите знать, если это проще в использовании Cassandra вместо MySQL | PostrgreSQLCassandra или MySQL/PostgreSQL?

Всю свою жизнь я использую MySQL и PostrgreSQL, и я мог бы легко думать в терминах реляционной алгебры, но несколько недель назад я узнал о кассандре и о том, что она используется в Facebook и Twitter.

Это более удобно?

Какие СУБД обычно используются в настоящее время для хранения данных социальной сети, отношений между объектами, wordnet?

+0

Я нахожу эту ссылку наиболее полезной для решения по решению SQL/NoSQL для использования в бизнесе: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis –

+0

этот вопрос должен быть закрыт, он не подходит. –

ответ

6

Существует множество различных вариантов баз данных «NoSQL». Если ваше приложение действительно похоже на Wordnet, возможно, вам стоит посмотреть на базу данных графа, такую ​​как Neo4j.

0

Все разные продукты, и все они имеют свои профи и разъемы. Какую проблему вы должны решить?

Огромный, как в случае туберкулеза?

+0

Например, у меня есть набор объектов и весов соединений между этими объектами. Я хочу быстро найти все возможные пути и их весовые характеристики. – Ivri

7

Я бы предложил проанализировать ваш запрос.

  1. Если вы собираетесь с большим количеством кластеров, машины принимают NoSQL
  2. Если ваша модель данных сложна - требует эффективных структур принимать NoSQL (никаких ограничений с типом столбцов)
  3. Если вы подходите в несколько машин без масштабирования, и вам не нужна суперпроизводительность для многопроцессорных запросов (например, в социальной сети, где много пользователей отправляет HTTP-запрос), и вы не думаете, что вы предполагаете, что вы реализуете RDBMS (у Postgres есть несколько хороших функций и структур которые вы можете использовать, например, тип столбца массива).

Кассандра должна работать лучше с большими масштабами данных, многоцелевыми. neo4j - было бы лучше для специальных структур, графов.

4

Cassandra и другие магазины NoSQL используются для социальных сайтов из-за их необходимости в массовых операциях на основе записи. Не то, что MySQL и Postgres не могут этого достичь, но для NoSQL требуется гораздо меньше времени и денег, вообще говоря.

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

8

Нет ничего похожего на Серебряную пулю, все построено для решения конкретной проблемы и имеет свои плюсы и минусы. Это зависит от вас, какие у вас проблемы и что лучше всего подходит для решения этой проблемы. Используете ли вы Cassandra (NoSQL) или MySQL (RDBMS), все это зависит от ваших системных требований. Ниже приведены данные, которые помогут вам принять лучшее решение при принятии решения о базе данных.

Зачем использовать NoSQL

В случае базы данных СУБД, что делает выбор довольно легко, потому что почти все базы данных, такие как MySQL, Oracle, MS SQL, PostgreSQLin эта категория предлагает почти такие же решения, ориентированные на ACID. Когда дело доходит до NoSQL, решение становится затруднительным, потому что каждая база данных NoSQL предлагает другое решение, и вам нужно понять, какой из них лучше всего подходит для вашего приложения/системного требования. Например, MongoDB подходит для использования в тех случаях, когда ваша система требует хранения документов без схемы. HBase может быть подходящим для поисковых систем, анализируя данные журнала. Любое место, где требуется сканирование огромных двумерных таблиц без соединения.Redis создан для обеспечения In-Memory поиска разновидностей структур данных, таких как дерево, очередь, список ссылок и т. Д., И может быть хорошо подходит для создания в режиме реального времени таблицы лидеров, системы pub-sub типа. Аналогичным образом в этой категории есть другие базы данных (включая Cassandra), которые подходят для разных задач. Теперь давайте перейдем к исходному вопросу и ответим на них один за другим.

Когда использовать Cassandra

Будучи частью семейства NoSQL Cassandra предлагает решение для проблемы, где ваше требование иметь очень тяжелые системы записи, и вы хотите иметь достаточно гибкую систему отчетности на верхней часть этой хранимой информации , Рассмотрим пример использования веб-аналитики, где данные журнала хранятся для каждого запроса, и вы хотите построить вокруг него аналитическую платформу для подсчета количества просмотров в час, браузером, IP и т. Д. В режиме реального времени. Вы можете обратиться в блог пост (http://blogs.shephertz.com/2015/04/22/why-cassandra-excellent-choice-for-realtime-analytics-workload/), чтобы понять больше о прецедентах, где Cassandra умещается в.

Когда использовать RDMS вместо Кассандры/NoSQL

Cassandra основана на базе данных NoSQL и не предоставить ACID и свойство реляционных данных. Если у вас есть сильное требование свойства ACID (например, финансовые данные), Cassandra не подходит для этого случая. Очевидно, что вы можете сделать это, но в конечном итоге вы напишите много кода приложения для обработки свойства ACID и быстро потеряете свой рынок. Также управление такой системой с Кассандрой было бы сложным и утомительным для вас.

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