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

О Java Cassandra Client, какой из них лучше? Как насчет CQL?

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

Теперь решили разработать с использованием Cassandra, моя следующая проблема заключается в том, какой клиент мне использовать? который лучше, Гектор - чистые Java-решения, или Kundera с JPA, как разработка?

Я предпочитаю Гектора, но мне интересно узнать о Кундере. Кто-нибудь использует Кундера? Что лучше?


Мне интересно, как CQL (Cassandra Query Language). Может ли он интегрироваться с Hector?

4b9b3361

Ответ 1

Гектор медленно движется к интеграции CQL. Первые шаги были сделаны, но из-за опыта нестабильного API разработчики, похоже, отложили новый выпуск. CQL API довольно новый, так как он должен быть почти эквивалентен синтаксису SQL. Я сделал некоторые основные шаги с CRUD-операциями, чтобы проверить, что данные могут быть записаны и прочитаны через CQL.

Тем не менее, CQL JAR не используется из коробки, как стандартный драйвер JDBC, и пропускает некоторые важные аспекты функции. Взглянув на более или менее трудный для понимания API бережливости и не намного более простой API-интерфейс hector, я убежден, что CQL будет установлен как современный API доступа для Cassandra в версиях 0.8.1 и 1.0, где бережливость будет оставаться естественным, необработанным доступом в течение некоторого времени.

Конкурс между обоими API не имеет ничего общего с решением Гектора. Сам Гектор предоставляет дополнительные сервисы, такие как сбой и обработка соединений в кластере. Это функции, которые не рассматриваются ни бережливо, ни CQL.

Я действительно не верю во всех других маркерах O/R или даже тех, кто утверждает, что предоставляет полноценную JPA. Я не могу представить, как это должно работать.

Ответ 2

Отвечая на ваш вопрос о клиентах - Гектор по сути обеспечивает доступ к собственному API-интерфейсу Cassandra (столбцы, семейства столбцов, строки и т.д.), тогда как Kundera стремится скрыть эти данные и предоставить сопоставление объектов и баз данных.

Таким образом, Kundera упрощает быстрое сохранение целого ряда Java-объектов в Cassandra, но не может обеспечить эффективное сопоставление, возможно, потеряв часть производительности, которую обеспечивают подходы noSQL.

Гектор ожидает, что вы адаптируетесь к модели данных Cassandra - это будет труднее, но, скорее всего, принесет больше производительности.

Ответ 3

Теперь появился новый клиент Astyanax, выпущенный Netflix в январе 2012 года.

"Astyanax - клиент Java Cassandra. Он заимствует многие концепции из Гектор, но расходится в реализации пула соединений, а также клиентский API. Одним из основных соображений, чистая абстракция между пулом соединений и API Cassandra, поэтому что каждый может быть настроен и улучшен отдельно. Astyanax обеспечивает беглый API стиля, который позволяет вызывающему абоненту сузить запрос от ключ к столбцу, а также предоставление запросов для более сложных вариантов использования с которыми мы столкнулись. Эксплуатационные преимущества Astyanax Гектор включает более низкую задержку, уменьшенную дисперсию латентности и лучшую обработки ошибок".

Исходный код для Astyanax размещен в Github: https://github.com/Netflix/astyanax

Ответ 5

Для полноты я думаю, что следует упомянуть библиотеку Pelops. Гектор, кажется, наиболее часто используется, но у Пелопса есть более простой API. Pelops не поддерживает CQL.

Исходя из Ruby, я считаю, что оба они чрезвычайно подробные и императивные.

Ответ 6

Kundera больше не полагается на Solandra для подхода к индексированию. Он позволяет вам использовать дополнительную поддержку индексирования, предоставляемую Cassandra, а также дает вам возможность запускать jpa-запросы через OPP (например, запросы диапазона и т.д.). Мы работаем над поддержкой поддержки CQL.

Взгляните на: http://mevivs.wordpress.com/2012/02/13/how-to-crud-and-jpa-association-handling-using-kundera/

для более подробной информации.

-Vivek

Ответ 7

Нет java-клиента на одном уровне с hector, hector - лучший, и в стороне hector работает поддержка cql. Я видел, что в этом месяце cql фиксирует для hector в github, но не знает его окончательного состояния. Вы можете задать его группе пользователей hector http://groups.google.com/group/hector-users

Также есть очень простой объект mapper в hector https://github.com/rantav/hector/wiki/Hector-Object-Mapper-%28HOM%29

Мой лучший,

Сердар Ирмак

Ответ 8

Kundera выпущен 2.0.4:

Основные изменения в этой версии:

  • Перенасыщение перекрестного хранилища данных (простое для запуска существующего приложения mysql поверх nosql)
  • поддержка реляционных баз данных (например, Mysql и т.д.)
  • заменить solandra на индексирование на основе lucene.
  • Поддержка добавлена ​​для двунаправленных ассоциаций.
  • Исправлены улучшения производительности.

Мы протестировали и 1 миллион вставок с правильной индексацией произошло через 6 минут.

Вивек

Ответ 9

Мне еще предстоит попробовать Гектор, но я участвую в последнем выпуске Kundera 2.0.1. Я предлагаю вам попробовать. С момента своего создания произошли серьезные изменения, и вы можете увидеть множество новых функций, добавляемых и исправленных ошибок. В настоящее время он поддерживает JPA 1.0 и Cassandra 0.7.6, но мы планируем добавить поддержку Cassandra 0.8 и JPA 2.0 в ближайшее время. Здесь есть довольно хороший пример: https://github.com/impetus-opensource/Kundera/wiki/Getting-started, который может помочь вам приступить к работе.

Ответ 10

Astyanax api создает человеко-читаемый код и включает объединение пулов.

Ответ 11

Поддержка CQL над cassandra была интегрирована в kundera 2.0.6 (еще не выпущена). Теперь он позволяет выполнять CQL как native файл.

-Vivek