Какие типы данных поддерживаются хранилищем данных Google App Engine? - PullRequest
3 голосов
/ 26 апреля 2010

Я знаю, как составлять таблицы в Google BigTable. У меня есть одно сомнение по этому поводу. Какие все типы данных поддерживаются Google BigTable.

Ответы [ 7 ]

4 голосов
/ 26 апреля 2010

Цитирование Классовых и полевых аннотаций раздела из Использование JPA с App Engine :

Поля класса данных, которые должны храниться в хранилище данных должен либо быть того типа, который сохраняется default или expliclty, объявленный как упорный. Вы можете найти график детализация JPA постоянства по умолчанию поведение на сайте DataNucleus . Чтобы явно объявить поле как настойчивый, вы даете ему @Basic аннотация:

import java.util.Date;
import javax.persistence.Enumerated;

import com.google.appengine.api.datastore.ShortBlob;

// ...
    @Basic
    private ShortBlob data;

Тип поля может быть любым из следующее:

  • один из типов ядра , поддерживаемый хранилищем данных
  • Коллекция (например, java.util.List<...>) значений Тип основного хранилища данных
  • экземпляр или коллекция экземпляров @Entity класса
  • встроенный класс, хранящийся в виде свойств объекта

Чтобы определить и использовать Email и PhoneNumber в качестве типов данных, создайте для них объекты и сопоставьте их как @OneToOne или сделайте их @Embeddable.

2 голосов
/ 03 ноября 2013

Типы данных, поддерживаемые хранилищем данных, перечислены в

Хранилище данных > Объекты, свойства и ключи > Свойства и типы значений

Это не так сложно найти.

2 голосов
/ 13 мая 2012

Ответ Дэвида выше дает список типов данных, изначально поддерживаемых Appengine. Но для написания реальных приложений с помощью GAE вам потребуется больше поддерживаемых типов данных и шаблонов. Помимо JPA, JDO и LowLevel api с их ограничениями и связанными с ними проблемами не так практичны в использовании.

Испытав их все, мы выбрали Объективировать и никогда не оглядывались назад. Это очень эффективный уровень абстракции доступа к данным, специально разработанный для GAE. Возвращаясь к вашему вопросу, очень легко добавить сериализаторы для ваших собственных типов данных с Objectify.

Обновление: Спустя 3 года после первоначального ответа, я могу сказать, что Objectify - один из лучших вариантов библиотеки программного обеспечения, которые я сделал.

1 голос
/ 09 августа 2012

Здесь - список типов данных, изначально поддерживаемых в App Engine для Java.

0 голосов
/ 17 декабря 2017

Определенный способ найти поддерживаемые типы свойств низкого уровня в Java - использовать DataTypeUtil

например.

if (!DataTypeUtil.isSupportedType(value.getClass())) {
  // Convert the value to a supported type.
}
0 голосов
/ 17 октября 2010

Проверьте здесь список типов данных, поддерживаемых в GAE с использованием JDO:

http://code.google.com/appengine/docs/java/datastore/dataclasses.html

и использование Python:

http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html

0 голосов
/ 26 апреля 2010

Bigtable может хранить все типы объектов. Это просто гигантский словарь значений ключей

...