Подтвердить что ты не робот

Как долго (максимальные символы) может существовать ключевое имя объекта хранилища данных? Нехорошо ли иметь очень длинные ключевые_имя?

Каково максимальное количество символов, которое можно использовать для определения имени_каталога объекта хранилища данных?

Плохо ли иметь очень длинные ключевые_имя?

Например: Допустим, мы используем key_names из 170 символов, это длина сообщения Twitter 140 плюс 10 цифровых символов для широты и 10 для долготы и 10 для отметки времени.

(Рассуждение такого ключевого_имя: Таким образом, используя такое ключевое имя, мы можем легко и быстро убедиться в отсутствии повторяющихся сообщений, поскольку одно и то же сообщение не должно происходить из одного и того же места и времени более одного раза.)

4b9b3361

Ответ 1

Нет жесткого максимума - максимальная длина имени ключа - это максимальная длина ключа, меньше накладных расходов, а клавиши могут быть довольно длинными.

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

Ответ 2

Фактически, имена ключей ограничены 500 символами, как значения свойств строки. см., например, Key.to_path(), который вызывает ValidateString():

http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/datastore_types.py#413

который по умолчанию max_len - _MAX_STRING_LENGTH, который равен 500:

http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/datastore_types.py#87