Кто-нибудь знает хорошую реализацию Java ORM для HBase. Это выглядит очень хорошо для Ruby
http://www.stanford.edu/~sqs/rhino/doc/
Но не удалось найти его для Java.
Спасибо.
Кто-нибудь знает хорошую реализацию Java ORM для HBase. Это выглядит очень хорошо для Ruby
http://www.stanford.edu/~sqs/rhino/doc/
Но не удалось найти его для Java.
Спасибо.
Недавно появилась новая версия kundera-2.0.4, которая является ORM над Hbase. Он предоставляет множество других вещей, которые очень полезны, например индексирование, перекрестное хранилище данных и т.д.
Я предлагаю попробовать https://github.com/impetus-opensource/Kundera
Исполняемая банка:
Сила HBase, как я вижу, заключается в поддержании динамических столбцов в статических семействах столбцов. Из моего опыта разработки приложений с HBase я обнаружил, что не так просто, как SQL, определять определители и значения ячеек.
Например, книга, в которой написано столько авторов, в зависимости от ваших шаблонов доступа, авторских прав, реализация кэша на уровне приложения, вы можете захотеть сохранить весь автор в таблице книг (то есть автор находится в таблице 2, таблице авторов и книжный стол) или только идентификатор автора. Более того, сборник может быть сохранен в одну ячейку как XML/JSON или отдельные ячейки для отдельных авторов.
С таким пониманием я заключил, что написание полномасштабной ORM, такой как Hibernate, будет не только очень сложным, но и не может быть окончательным. Поэтому я использовал другой подход, гораздо более похожий на iBatis на Hibernate.
Позвольте мне объяснить, как это работает. Для этого я буду использовать исходные коды из здесь и здесь.
И вот оно. Как они используются, доступны здесь. Он в основном использует CommonReadDao, CommonWriteDao для чтения и записи данных в HBase и обратно. Общее чтение dao реализует многопоточное преобразование строк в объект по запросам, многопоточный get by ids, get by id и имеет свои критерии Hibernate, такие как API, для запроса к HBase через Scan (нет доступных функций агрегации). Common write dao реализует общий код, связанный с записью, с некоторыми добавленными возможностями, такими как оптимистичная/пессимистическая блокировка, привязка к ячейке/свертывание сущности (non) -existence при сохранении, обновлении, удалении и т.д.
Этот ORM был разработан для нашей внутренней цели, и я был до шеи и, следовательно, пока не могу выполнить некоторую документацию. Но если вы заинтересованы, дайте мне знать, и я сделаю время для документации с приоритетом.
Hibernate OGM - прекрасное решение для баз данных без SQL. Попробуйте.
Как насчет datanucleus: вы можете использовать JPA или JDO в качестве вашего API и hbase в качестве внутреннего хранилища: http://www.datanucleus.org/plugins/store.hbase.html
вы можете попробовать следующее: http://code.google.com/p/hbase-ormlite/. Это orm для HBase в Java.
Существует pigi и parhely и я не использовал ни одного из них. IMO HBase - это быстрый механизм хранения ключей/значений, но если вам нужен еще один слой абстракций, вы должны проверить их.
Мы используем HBase ORM - Surus https://github.com/mushkevych/surus/wiki
Возможно, стоит упомянуть