Я пришел из мира Relational Database, то я нашел это Датастор вещь. это заняло несколько дней, чтобы повесить его. хорошо, есть некоторые мои выводы.
Возможно, вы уже знаете, что Datastore построен для масштабирования, и это то, что отделяет его от RDMBS. чтобы улучшить масштаб с помощью большого набора данных, App Engine внесла некоторые изменения (некоторые из них означают множество изменений).
RDBMS VS DataStore
Структура
В базе данных, мы обычно структурировать данные в таблицах, строки которых находится в хранилище данных становится Kinds and Entities.
Отношения
В РСУБД Большинство людей folllows на один-к-одному, много-к-одному, многие-ко-многим, В Datastore, Как есть «Нет объединения» вещь, но все еще мы можем добиться нашей нормализации, используя «ReferenceProperty», например One-to-One Relationship Example.
Indexes
Обычно в RDMBS мы делаем индексы, как первичный ключ, внешний ключ уникальный ключ и ключ индекса для ускорения поиска и повысить нашу производительность базы данных. В хранилище данных вы должны сделать по крайней мере один индекс на один вид (он автоматически будет generate, нравится вам это или нет), потому что хранилище данных ищет вашу сущность на основе этих индексов и полагает, что это лучшая часть. В РСУБД вы можете осуществлять поиск с использованием неиндексное поле, хотя потребуется некоторое время, но это произойдет. В Datastore вы не можете искать, используя свойство без индекса.
Граф
В RDMBS, гораздо легче считать (*), но в датасторе, пожалуйста, даже не думаю, что это в обычном порядке (Да есть счетчик функция), как это имеет 1000 Limit и это будет стоить много small opertion как сущность, которая не хороша, но у нас всегда есть хороший выбор, мы можем использовать Shard Counters.
Unique Constraints
В RDMBS, Мы любим эту функцию право? но Datastore имеет свой собственный путь. Вы не можете определить свойство как уникальный :(.
Запрос
GAE Datatore обеспечивает лучшую функцию много LIKE (О, нет! хранилищу не LIKE слова) SQL, который GQL.
Вставка данных/Update/Delete/Select
Это, где нас всех интересует, как и в RDMBS, нам нужен один запрос для вставки, обновления, удаления и выбора так же, как RDBMS, Datastore has put, delete, get (dont get too excited), потому что Datastore положить или получить в терминах Write, Read, Small Operations (Прочитано Затраты на вызовы хранилища данных), и в этом случае вступает в действие Data Modeling. вы должны свести к минимуму эти операции и поддерживать работу своего приложения. Для уменьшения Read operation вы можете использовать Memcache.
DataSource - это старый api, который мы постепенно удаляем - он был очень привязан к модели подключения к базе данных. DataStore - это api низкого уровня, который позволяет получить доступ к «исходному» потоковому подходу к контенту GIS, используя FeatureReaders и FeatureWriter. – murali
Теперь Google Cloud SQL предоставляет поддержку реляционных баз данных для Google App Engine.Если вы все еще ищете решение для хранилищ данных, вы можете использовать [Google Cloud SQL] (https://developers.google.com/cloud-sql/). – Chandana
Возможно, вы захотите проверить API-интерфейс Munto Datastore: http://bit.ly/13eSDpr – xybrek