Недавно я начал работать с Cassandra Database. Теперь я нахожусь в процессе оценки того, с какими Cassandra client
мы должны идти вперед.
Я видел различную запись в stackoverflow о том, какой клиент использовать для Cassandra, но никто не имеет однозначного ответа.
Моя команда попросила меня провести некоторое исследование по этому вопросу и придумать определенный pros and cons
для каждого Cassandra Client API’s
в Java.
Как я уже упоминал, я недавно связался с Cassandra
, поэтому у меня не так много идей, почему некоторые люди выбирают Pelops client
и почему некоторые люди идут с Astyanax
и некоторыми другими клиентами.
Я знаю краткие сведения о каждом из клиентов Cassandra, под которым я имею в виду, что я могу выполнить эту работу и начать читать и писать в базу данных Cassandra.
Ниже приведена информация, которую я имею до сих пор.
CASSANDRA APIS
-
Гектор (готовый продукт)
Самый стабильный из Java API, готовый к прайм-тайму. -
Astyanax (The Up and Comer)
Чистый Java API из Netflix. Он не так широко используется как Гектор, но он твердый. -
Кундера (NoSQL ORM)
JPA, это удобно, когда вы хотите взаимодействовать с Cassandra через объекты.
Это немного сдерживает вас тем, что вы не сможете иметь динамическое число столбцы/имена и т.д. Но это позволяет вам переносить ORM или централизовать хранилище на Кассандру для более традиционных целей. -
Pelops
Я только использовал Пелопса. Это был прямой API, но, похоже, имеют импульс позади него. -
PlayORM (ORM без ограничений?)
Я только что услышал об этом. Похоже, он пытается решить импеданс несоответствие между традиционными ORM на основе JPA и NoSQL путем внедрения JQL. Это выглядит многообещающими. -
Сберечь (Избегайте меня!)
Это "низкоуровневый" API.
Ниже приведены наши приоритеты при выборе Cassandra client
-
- Первыми приоритетами являются: низкая накладные расходы, API Asynch и надежность/стабильность для производственной среды.
(например, более удобные для пользователя API, которые можно использовать в DAL, который обертывает клиента). - Пул соединений и узнавание разделов - это еще одна хорошая функция.
- Возможность обнаружения любых новых узлов, которые были добавлены.
- Хорошая поддержка (как указано ниже).
Может ли кто-нибудь поразмышлять над этим? А также любые плюсы и минусы для каждого Cassandra client
, а также того, кто может выполнить мои требования, также будут полезны.
Полагаю, в основном я буду вращаться вокруг Astyanax client or New Datastax client that uses Binary protocol
Я думаю, основываясь на моих исследованиях до сих пор. Но не располагайте определенной информацией, чтобы поддержать мое исследование и представить его моей команде.
Любое сравнение между клиентом Astyanax и клиентом New Datastax (который использует новый двоичный протокол) будет очень полезен.
Это будет очень полезно для меня в моих исследованиях и получит много знаний об этом от разных людей, которые раньше использовали разные клиенты.