отслеживание нескольких документов с помощью индексного документа в базе данных nosql - PullRequest
0 голосов
/ 06 июня 2019

У меня есть приложение, в котором пользователь может создавать задачи с конфигурацией (планирование, повторные попытки и т. Д.) Каждому заданию присваивается указатель и хранится под этим указателем в виде ключа в базе данных nosql (couchbase)

тогда я управляю всеми этими задачами и их статусом в индексном документе для каждой учетной записи

так индекс выглядит как

[

    {"id":"12345-98889-0000-1111", "status":"...", ...},
    {"id":"12345-98889-0000-2222", "status":"...", ...},
    {"id":"12345-98889-0000-3333", "status":"...", ...},
    {"id":"12345-98889-0000-4444", "status":"...", ...},

]

каждая запись в этом массиве json указывает на документ с полной конфигурацией задачи.

во всяком случае, сейчас у меня есть учетная запись и индексный документ объемом 11 МБ, который довольно сильно загружается при обновлении, требует обновления в памяти и повторной загрузки.

есть предложения по реструктуризации здесь? Я думал об использовании эластичного поиска в качестве индекса вместо управления большим документом JSON, но я не уверен, что хочу представить здесь другой компонент ...

1 Ответ

0 голосов
/ 06 июня 2019

Есть ли причина не использовать язык запросов N1QL?Вы уже храните документы.Создайте индексы GSI в любых интересующих вас полях и используйте N1QL-запросы для доступа к документам.Индексы должны использоваться разумно для эффективного доступа.Вам просто нужно убедиться, что на вашем сервере запущена служба запросов.

...