DocumentDb и как создать папку?

Новичок в documentdb, и я пытаюсь определить лучший способ хранения документов. Мы загружаем документы каждые 15 минут, и мне нужно, чтобы они были как можно более легко разделены по загрузке. На первый взгляд, я думал, что могу иметь базу данных и коллекцию для каждой загрузки. Затем я обнаружил, что у вас может быть только 3 коллекции на базу данных. Это оставляет меня либо с добавлением соглашения об именах, либо с попыткой использовать папки и пути. Согласно тому же источнику (http://azure.microsoft.com/en-us/documentation/articles/documentdb-limits/), мы ограничены 100 путями на коллекцию. Это оставляет папки. Я искал, но не нашел ничего конкретного о создании папок в коллекции. Объектный API не имеет очевидного метода добавления/создания.

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


person ProgramTheWorld    schedule 30.12.2014    source источник
comment
Что такое документ в вашем случае? Документ данных JSON или что-то вроде документа Word? Для второго вы можете просмотреть вложения. Тем не менее, почему вы хотите создавать новую коллекцию для каждого документа? Ограничение пути связано с индексами, которые вы могли бы использовать.   -  person Horizon_Net    schedule 30.12.2014
comment
Я ищу логическую агрегацию, так как в это время в следующем году будет много документов. Мы сохраняем результаты JSON. В нынешнем виде я могу сбросить результат в коллекцию, и будет сгенерирован идентификатор. Простые запросы работают, но я надеялся иметь группировку по месяцам/годам или какой-то другой логический агрегатор, чтобы нам не приходилось запрашивать всю стопку документов. Тем не менее, это путь, который я, кажется, открыл для себя. Я изучаю, насколько сложными/быстрыми могут быть запросы, используя студию базы данных документов (studiodocumentdb.codeplex.com). Вариант создания папки подойдет :)   -  person ProgramTheWorld    schedule 30.12.2014
comment
Для всех, кто нашел этот пост, мы просто собрали все в одну коллекцию. Язык запросов azure documentdb (например, sql) кажется достаточно надежным для обработки подробных запросов. Хотя я не уверен, какой будет эффективность, когда у нас будет тонна документов.   -  person ProgramTheWorld    schedule 31.12.2014
comment
@ProgramTheWorld — если вы нашли решение и ожидаете, что люди увидят его в будущем, вы должны опубликовать его как ответ, а не как комментарий.   -  person David Makogon    schedule 31.12.2014


Ответы (2)


Вы можете определить соглашение о последовательном именовании и создать индекс диапазона в политике индексации коллекции. Таким образом, если вам нужно получить ряд документов, вы можете сделать это таким образом, что позволит эффективно использовать возможности индексирования docdb.

В качестве рекомендации вы можете проверить заголовок ответа на оплату запросов, которые вы запускаете во время тестов. Это позволяет вам оценить, насколько эффективна ваша настройка (насколько она строга по отношению к Db, что отразится на вашей структуре затрат на услугу).

person Luis Delgado    schedule 30.12.2014
comment
Я собираюсь отдать должное Луису, так как это самое близкое, что вы можете получить к какой-то группировке агрегации. - person ProgramTheWorld; 31.12.2014

Извините за комментарий. В итоге мы просто свалили все в одну коллекцию. Язык запросов azure documentdb (например, sql) кажется достаточно надежным для обработки подробных запросов. Хотя я не уверен, какой будет эффективность, когда у нас будет тонна документов.

person ProgramTheWorld    schedule 31.12.2014