API клиента Cassandra больше всего похож на API хранилища данных App Engine? - PullRequest
7 голосов
/ 06 ноября 2011

С объявлением о новой модели ценообразования Google App Engine я понял, что мое приложение не сможет поддерживать себя из-за чрезвычайно высокой цены взаимодействия с Google Datastore. Поскольку это социальная игра, основанная на последовательном и быстром вводе данных пользователем, это приложение просто требует слишком большого количества взаимодействий с хранилищем данных для каждого пользователя, чтобы быть жизнеспособным (даже при наличии memcache, опосредующего общие запросы и операции).

Из проведенного мною исследования кажется, что для моей команды лучшим решением было бы перейти на решение для базы данных на основе Cassandra. Я посмотрел на различные популярные API, такие как Hector и Pelops, но из моего первоначального осмотра кажется, что они слишком низкоуровневые для того, что я ищу. Существует ли клиентский API Cassandra в Java, который эмулирует низкоуровневый API хранилища App Engine и использует ту же модель «группа объектов» / модель свойств? По крайней мере, я хотел бы, чтобы API имел те же понятия сущности «предок» и поддерживал межгрупповые транзакции таким же образом.

РЕДАКТИРОВАТЬ : Чтобы уточнить, что я действительно ищу, это Cassandra API, который поддерживает транзакции. Насколько я понимаю, транзакции в среде NoSQL сложны, если не невозможны, без каких-либо иерархических группировок «объектов» (называйте их как хотите, сущности, таблицы и т. Д.). Похоже, именно поэтому Гектор их не реализует.

Итак, мой вопрос: какой самый популярный Cassandra API реализует какую-либо форму транзакционных систем, предпочтительно ту, которая использует GAE-подобную структуру Entity?

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Вы видели гектор-объект-картограф? https://github.com/rantav/hector/tree/master/object-mapper

Облегченное, управляемое аннотациями постоянство для Apache Cassandra через Hector. Дополнительные документы по использованию Гектора см .: http://hector -client.org

0 голосов
/ 26 марта 2017

Лучшее, что я смог найти, это AppScale , в котором используется Cassandra, хотя мне неясно, как настроить и запустить Datastore как отдельную службу без других служб GAE.Для этого я создал выпуск .Технически вы можете использовать ту же клиентскую библиотеку с небольшими изменениями (т.е. заменить URL / конечную точку хранилища данных своей собственной)

...