Какую библиотеку следует использовать для доступа к Riak из Scala?

Для проекта я использую и Scala, и Riak (две вещи, с которыми я никогда раньше не работал ;)).

Поиски в Google, кажется, предлагают использовать Riakki. Однако похоже, что эта конкретная библиотека не поддерживалась с 2009 года и даже не компилируется в моей системе. На GitHub есть более актуальная вилка, которая, похоже, работает с более поздними версиями Scala. Но Riakki, похоже, зависит от Jiak, поддержка которого устарела с февраля прошлого года.

Похоже, что единственным разумным выбором будет использование официальной Java-библиотеки Riak от Scala. Это, конечно, возможно, но я хотел бы делать что-то в стиле Scala, поскольку я пытаюсь выучить язык. Необходимость взаимодействовать с API в стиле Java может испортить удовольствие. Написание моей собственной оболочки звучит так, будто это будет слишком много работы.

tl;dr: Я хочу использовать Riak из Scala. Что используют другие люди?

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


person Marlies    schedule 03.04.2011    source источник


Ответы (3)


Я в том же ведре - извините за плохой каламбур - хотя у меня есть некоторый опыт работы со Scala. Я думаю об использовании официального клиента Java.

Когда вы проходите крутую кривую обучения, вам не нужно иметь дело с неполными и потенциально шаткими API. По моему опыту, использование Java API от Scala минимально болезненно.

Я думаю, будет достаточно удовольствия от игры с нашей новой игрушкой Raik, и мы забудем о любых не-Scala-ишных недостатках, которые навязывает нам Java API. Всего наилучшего.

person David    schedule 13.04.2011
comment
:D @ ведро. Это тот же маршрут, по которому я в итоге пошел. Использование Java API действительно намного менее болезненно, чем использование одной из неполных/неподдерживаемых альтернатив Scala. - person Marlies; 17.04.2011

Stackmob недавно открыл исходный код Scalariak.

Scaliak — это масштабированная версия высокоуровневого Java-клиента Riak с функциональным поворотом. В настоящее время он используется в производстве в StackMob.

Scaliak в настоящее время имеет неполные функции по сравнению с исходным высокоуровневым Java-клиентом Riak. В настоящее время поддерживаются в основном функции, используемые в производстве (было реализовано несколько функций, которые впоследствии не использовались).

Существует также Raiku, в котором указано, что он асинхронный.

person om-nom-nom    schedule 19.04.2012

Я автор еще одного клиента Scala Riak, который называется просто riak-scala-client. Он основан на Akka и Spray, он не построен поверх существующего Java-клиента и, что наиболее важно, полностью неблокирует.

Проверьте это на http://riak.scalapenos.com и дайте мне знать, что вы думаете.

person Age Mooij    schedule 20.03.2013
comment
Чем эта библиотека отличается от Raiku? Кажется, что оба созданы для неблокировки с использованием Akka. - person sthomps; 07.05.2013
comment
Тот факт, что обе они являются неблокирующими клиентскими библиотеками Scala для Riak, основанными на Akka, — едва ли не единственное, что у них общего. Основное отличие, которое важно для пользователей, заключается в их API. Raiku имеет API, очень похожий на DSL, вдохновленный Scalaz, в то время как riak-scala-client имеет (очень ИМХО) более простой и удобный API. Выбор между ними в основном дело вкуса. - person Age Mooij; 09.05.2013
comment
Так что, чтобы было ясно, для этой библиотеки требуется Spray? (Не работает с Play?) - person Brent Faust; 28.05.2013