Одинаковы ли индексы хранилища данных в нескольких пространствах имен? - PullRequest
0 голосов
/ 28 апреля 2018

Я работаю над созданием мультитенантной системы SaaS и храню все данные в Datastore. У меня есть отдельное пространство имен для каждого клиента, но один и тот же набор «видов» во всех пространствах имен.

Это мой вопрос: если я создам пользовательский индекс для одного вида сущности, будет ли этот индекс обслуживаться во всех пространствах имен? или я должен также указать пространство имен где-нибудь?

Это один из моих пользовательских индексов:

- kind: loginTrack  
  ancestor: no
  properties:
  - name: logDate
  - name: username
  - name: timeStamp

Я развернул это как пользовательский индекс в Datastore, но я не уверен, работает ли он для всех пространств имен.

Как Datastore обрабатывает предоставленный разработчиком индекс?

1 Ответ

0 голосов
/ 28 апреля 2018

В самом индексе, как вы заметили, нет места для информации о пространстве имен, он работает одинаково во всех пространствах имен внутри домена приложения.

Чем отличается раздел хранилища данных, сопоставленный каждому пространству имен. От Многопользовательские и секционированные данные (выделено мое):

Cloud Datastore использует разделы для хранения данных для каждого арендатора. комбинация идентификатора проекта и идентификатора пространства имен образует идентификатор раздела, который идентифицирует каждый раздел. Сущность принадлежит одному раздел, и запросы относятся к одному разделу .

Но обратите внимание, что работа с данными определенного арендатора является ответственностью вашего приложения: все операции, связанные с определенным арендатором должны выполняться в контексте раздела / пространства имен этого арендатора (т. Е. Пространства имен должен быть указан в качестве аргумента для вызовов, связанных с хранилищем данных).

Для конкретного случая использования (общего) индекса в домене арендатора вы должны указать пространство имен арендатора при построении запроса. В противном случае вы не получите результаты из раздела этого арендатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...