Подтвердить что ты не робот

Кассандра или СОЛР? Что дает лучшую производительность для запросов на чтение в конце концов?

Моя команда попросила меня выбрать между Cassandra и SOLR для более быстрого ответа на запросы @frond. Я сказал им, что Cassandra - вещь NOSQL db, а SOLR - индексирование. Но затем они говорят, что мы можем подтолкнуть наш полный db к SOLR (например, использовать SOLR как db), или мы можем просто использовать Cassandra с SOLR. Все смущены.

Объем данных, которые мы имеем, составляет 1 миллиард разбросанных по 4 таблице MySQL (выбирается с использованием объединений), и мы получаем только запросы на чтение с веб-сайта. Нам не нужен ПОЛНЫЙ ТЕКСТ ПОИСК

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

Итак, что еще из SOLR, которое Кассандра не может предоставить и что делает Кассандра, может заменить SOLR в нашем конкретном случае?

Другими словами, кто будет работать лучше? Кассандра одна? SOLR как один db? Или оба вместе? И самое главное, почему и почему нет?

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

И спасибо заранее.

EDIT:

  • SOLANDRA не является вариантом, потому что он не настолько зрелый и не поддерживается более, я думаю
  • DataStax не является параметром, поскольку функция SOLR предоставляется только в Enterprise Edition
4b9b3361

Ответ 1

  • Cassandra - это хранилище данных NoSQL, и оно предназначено для обработки огромных объемов данных. Tera байт и дальше. Определенно он был предназначен для выполнения.
  • Помните, что в базе данных или хранилища данных NoSQL есть ограниченные возможности, когда дело доходит до запросов. У них не будет запросов JOIN. Поскольку это убьет систему. Подумайте об этом!
  • Вы наверняка сможете быстро читать/писать, и некоторые данные могут быть запрошены.
  • Гибкая схема, вы можете вставлять в нее разреженные данные. То есть, когда в общем БД вы нажимаете NULL для пустой записи, здесь вы вообще не нажимаете ее:) Вам не нужно!
  • Полнотекстового поиска нет.

Здесь находится большое BUT.

  • Сказав выше, SOLR на другом конце является полнотекстовой поисковой системой TF-IDF. Хотя вы можете использовать его для своей БД.
  • Гибкая схема. Просто отметьте поля, которые не требуются.
  • Solr поможет вам значительно облегчить токенизацию, синтаксический анализ и индексирование данных. Он будет иметь превосходный ответ. Он возвращает XML, и вы можете анализировать XML для создания данных, которые могут быть представлены.
  • Чтение запросов выполняется быстро, и я имею в виду очень быстро. Но у меня нет никакого сравнения между Cassandra и SOLR, чтобы поделиться.

И в конце концов, так как вы хотите, чтобы CASSANDRA и SOLR вместе. Проверьте СОЛАНДРА (бывшая Lucandra)

Ответ 2

Если вам не нужны возможности полнотекстового поиска Solr, на мой взгляд, очень мало причин выбирать его по Кассандре.

(Раскрытие: я работаю для DataStax.)

Оперативно, обработка кластера Cassandra будет намного проще благодаря архитектуре на основе Dynamo. Sharding Solr может быть довольно болезненным, что является одной из главных причин, почему мы в DataStax создали поиск в DSE; это то, чего многие люди хотят избежать. Я не пытаюсь продать вас на DSE, просто указывая на недостаток Solr.

Например, если вы хотите изменить количество осколков с помощью Solr, вам необходимо создать и построить совершенно новый индекс. Вы должны беспокоиться о тупике с кластером Solr. Есть еще несколько ограничений: http://wiki.apache.org/solr/DistributedSearch

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

Ответ 3

Вы также можете посмотреть Datastax
Там Community и Enterprise edition, хотя я думаю, что Solr не включен в редакцию сообщества: (

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

ИМХО, что Cloudera для Hadoop, Datastax для Кассандры.

Ответ 4

Функции индексирования Solrs не будут выполнять Cassandra для чтения. Он будет индексировать популярные запросы, поэтому частые будут еще быстрее. Он был построен для чтения, кассандра построена для хранения. Но, как уже говорилось, Кассандра будет масштабно масштабироваться, если это необходимо. Почему бы не сравнить одиночные строки node, 1 миллиметр случайных строк, средний запрос 1 миллиметра. Любой из них выйдет из mysql, не говоря уже о запросах на соединение mysql. PS solr скоро поддержит объединения, я думаю, solr 4.....