Хранилище данных механизма приложения: Как реализовать Сообщения и Теги без соединений?

В соответствии с Linux можно использовать очень мощное перекод команда, чтобы попытаться преобразовать между различными наборами символов, а также любыми проблемами окончания строки. -l перекода покажет Вам все форматы и кодировку, что инструмент может преобразовать между. Это, вероятно, будет Очень длинный список.

10
задан David Underhill 21 July 2010 в 19:41
поделиться

2 ответа

Боюсь, что при такой конструкции ваш объект тега может стать узким местом, особенно если вы ожидаете, что некоторые теги будут очень распространены. Я могу придумать три конкретных проблемы: эффективность ваших получателей и вставок, конкуренция записи и взрывающиеся индексы. Давайте посмотрим на stackoverflow в качестве примера - прямо сейчас существует 14 000 сообщений с тегом «java».

  1. Это означает, что каждый раз, когда вам нужно получить объект тега java, вы извлекаете из хранилища данных 14 000 ключевых данных. тогда вы отправляете все это обратно, когда делаете пут. это может привести к увеличению количества байтов.
  2. В дополнение к байтам, перемещающимся вперед и назад, каждое размещение потребует обновления индексов. каждая запись в ListProperty сопоставляется с отдельной записью индекса. так что теперь вы делаете много обновлений индекса. что приводит нас к номеру 3 ...
  3. Взрывающиеся индексы. каждая сущность имеет ограничение на количество записей в указателе. Думаю, ограничение составляет 5000 на одну организацию. Например, вы можете легко найти все сообщения, содержащие все из списка тегов, с помощью фильтра запроса, подобного этому:

    Query q = pm.newQuery(Post.class)
    q.setFilter("tags" == 'Java' && "tags == 'appengine'");
    

    Для всех сообщений с либо тегами java, либо appengine, вам нужно будет выполнить один запрос для каждого тега, а затем самостоятельно объединить результаты. В настоящий момент хранилище данных не обрабатывает операции типа OR / IN.

    Поиск связанных сообщений звучит сложно. Я подумаю об этом после кофе.

5
ответ дан 4 December 2019 в 02:50
поделиться

Возможно, вы захотите посмотреть это видео от Google IO . Сущности индекса отношения - это то, что вам нужно, и оно позволяет вам удалить сообщения List в сущности Tag . А также Список тегов в сущности Post .

1
ответ дан 4 December 2019 в 02:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: