Apache Gora через HBase
Мы планируем внедрить хранилище данных на базе HBase.
Есть несколько сущностей, у которых есть родительские отношения или другие слова, которые у нас есть.
public class Parent {
private String name;
private List<Dependent> dependents;
...
}
Согласно HBase, мы можем хранить эти вложенные объекты как значение [как json / avro] в одном из columnFamily.
Мы смотрим на Феникс для запросов в реальном времени, я наткнулся на Apache Gora как один из вариантов. В соответствии с документацией Apache Gora предоставляет вложенные объекты, но примеры и документация ограничены.
У кого-нибудь есть примеры или опыт работы с Apache Gora через HBase?
1 ответ
У меня есть некоторые заметки по разработке на http://people.apache.org/~alfonsonishikawa/gora-174.html и http://people.apache.org/~alfonsonishikawa/gora-174-notes.html (извините, если они не очень уточняющий).
Прежде всего, если я не ошибаюсь, Apache Gora не интегрирован в Apache Phoenix, и я считаю, что ваши потребности не будут покрыты.
В любом случае, по поводу вашего вопроса о вложенных объектах, Gora сериализует зависимый объект и помещает его в столбец. Когда у вас есть список / массив зависимых, как в вашем примере, каждый зависимый объект входит в столбец семейства. Имя объединенного столбца - это индекс. Когда у вас есть Карта зависимостей, каждая сущность входит в столбец семейства, а имя столбца является ключом зависимой сущности на карте.
Кроме того, тот факт, что данные de сериализованы, подразумевает, что вы не можете запрашивать их содержимое.
Я надеюсь, что это разрешит ваши сомнения, но если у вас есть другие вопросы, просто задайте их:)