В хранилище данных, используемом механизмом приложений Google, в отличие от механизма реляционной базы данных, не применяются схемы - вместо строк и столбцов хранятся объекты с различными свойствами.Тем не менее, следует ли по-прежнему использовать традиционный дизайн базы данных?
Например, допустим, у меня есть приложение, которое отслеживает различные арендуемые транспортные средства.В традиционной базе данных у меня может быть таблица Buses
, которая отслеживает длину и количество посадочных мест для каждого автобуса в парке, и Trucks
, которая имеет столбец для грузоподъемности и лошадиных сил для каждого грузовика.Каждый автобус и грузовик также имеет цвет и номерной знак.(Если я хочу нормализовать базу данных, я могу выделить эти атрибуты в таблице Vehicle
.
В хранилище данных Google у меня возникнет соблазн просто хранить автобусы и грузовики как Vehicle
сущности,поскольку они имеют общие свойства и добавляют любые свойства, специфичные для типа транспортного средства.
Каковы преимущества / недостатки использования традиционной модели базы данных, где каждая сущность Datastore представляет таблицу базы данных?
Более эффективно разбивать большие объекты на более мелкие объекты?
РЕДАКТИРОВАТЬ:
Кроме того, какие-либо рекомендации относительно того, какой API использовать: JDO, JPA или низкоуровневый API Datastore?
Спасибо!