правильный способ организовать файлы в репозитории jcr - PullRequest
1 голос
/ 02 июня 2010

что такое правильный способ организации файлов в wcm, который использует JCR. Допустим, общее количество файлов составляет более 100 000 файлов, а общий размер файла составляет около 50-70 ГБ. Лучше ли организовывать файлы по типам файлов (и создавать подкаталоги для дальнейшей группировки файлов по какой-либо категории)

Каковы преимущества. Имеет ли это какое-то значение при использовании API запросов, обслуживания или чего-то еще.

Proposal 1:
--shared
------images
------pdf
------movies
--location1
------images
------pdf
------movies
--location2
------images
------pdf
------movies

Proposal 2: 
--pdf
-------shared
-------location1
-------location2
--images
--------shared
--------location1
--------location2
.. etc

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Взгляните на это: D Модель avid: руководство по моделированию контента

Некоторые основные моменты:

  • Данные сначала, структура позже. Может быть.
  • Управляй иерархией контента, не позволяй этому случиться.
  • Рабочие пространства предназначены для clone (), merge () и update ().
  • Остерегайтесь одноименных братьев и сестер.
  • Ссылки считаются вредными.
  • Файлы - это файлы. Файлы.
  • Идентификаторы злые.
1 голос
/ 03 июля 2010

Что бы вы ни делали, убедитесь, что у вас нет более 1000 дочерних узлов под любым конкретным узлом. Как и в любой (реальной) файловой системе, если вы хотите перечислить папку с большим количеством файлов / подпапок в ней, это может занять некоторое время. По умолчанию Jackrabbit 2.x теперь хэширует пространство пользователя. то есть:

/users/s/sa/sandra
/users/s/si/simong
...

Я бы лично пошел за вашим первым предложением, так как оно имеет больше смысла. У нас есть веб-приложение, где все наши пользователи могут загружать / удалять / изменять свои файлы в JCR, и сделали это следующим образом:

/_users/s/si/simon/public
/_users/s/si/simon/public/My Pictures
/_users/s/si/simon/public/My Pictures/2010/06/Trip to the US
/_users/s/si/simon/public/My Pictures/2010/06/Trip to the US/DC1001.jpg
/_users/s/si/simon/private/account_details.txt
...

Мы неукоснительно следим за тем, как создаются домашние папки в UNIX-подобных системах. Мы стараемся сделать все, что можем (разумно). Как, например, пользовательское пространство (/ s / si / simong), но также такие вещи, как сообщения:

/_users/s/si/simong/messages/2009/12/25/ab34ed87dee
/_users/s/si/simong/messages/2010/03/12/e4f1de3cd48
...

Однако индивидуальный пользователь не должен иметь более 1000 дочерних файлов в заданной папке (хотя мы их предупреждаем). Поступая таким образом, вы также получаете хорошее преимущество от контроля доступа. то есть: все, что находится в ~ / private, доступно только для чтения и записи текущему пользователю, ~ / public доступно для чтения всем.

...