Google Datastore Получить функциональность - PullRequest
0 голосов
/ 15 марта 2020

Когда я читаю сущность из Google Datastore, используя библиотеку Java (com.google.cloud.datastore.Datastore), весь объект и все его свойства, извлекаемые из базы данных при вызове метода get(key), представляют собой каждое отдельное свойство объект загружается отдельно во время ссылки, или весь объект извлекается, когда я впервые получаю доступ к свойству объекта?

Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
Entity entity = datastore.get(key); //Is the entire entity and its properties loaded here?
entity.getString("name"); //or is the entity/property loaded upon access?

Кроме того, если объект обновляется одновременно с получением объекта является ли организация, которую я получаю, гарантированно последовательной. (т.е. возможно ли получить частично записанную сущность, где некоторые свойства являются обновленными значениями из записи, а некоторые являются старыми значениями, которые еще не отражают обновление?)

1 Ответ

1 голос
/ 17 марта 2020

Давайте проверим документацию официальной библиотеки Метод Datastore.get (ключ) , унаследованный от интерфейса com.google.cloud.datastore.DatastoreReader и вернем Entity для данного ключа. Сущность является постоянным объектом данных, и здесь у вас есть метод getString (String name) , унаследованный от класса com.google.cloud.datastore.BaseEntity, который возвращает значение свойства в виде строки, например, фильтр, какие свойства вам нужны , В соответствии с вышеизложенным и OOP понятиями «Entity entity = datastore.get (key);» возвращает целую сущность со всеми свойствами и сохраняет ее в переменной «сущность».

Относительно согласованности данных Запросы хранилища данных могут предоставлять свои результаты на одном из двух уровней согласованности, что в конечном итоге требует баланса между согласованностью и скоростью. что зависит от вашего приложения. Я настоятельно рекомендую прочитать документацию 1 , 2 , чтобы получить больше разъяснений о том, как она работает в Datastore.

...