Мы строим решение для хранения документов, и для каждого документа нам необходимо хранить много дополнительных метаданных с ним, чтобы соответствовать местным нормам, начиная от базовых данных, таких как заголовок или описание, до дат соответствующих событий или правила размещения и классификации.Архитектура хранения метаданных объектов
Я видел различные типы решений, но никто не убедит меня:
- Таблицы, которые растут в столбцах, когда добавляется новый слот метаданных (так что они имеют количество столбцов метаданных, связанных с документами)
- Таблицы с большим количеством запасных общих столбцов. Очень похоже на 1. но таблицы не растут (меньше разрешений)
- Таблица идентификаторов документов, ключей метаданных и значений метаданных.
- Таблица с определениями метаданных и ключами метаданных в 3. заменена идентификаторами метаданных. Мы использовали это решение в прошлом. В конце таблицы есть миллионы строк.
- Текстовое поле в таблице документов или связанной таблице, в которой хранится XML или другая структурированная информация со всеми метаданными в парах ключ-значение.
Я смещен в сторону номера 5, предоставляя параллельный полнотекстовый индекс (Lucene.Net? Other?) Для поиска по соответствующим метаданным (не все должно быть «доступно для поиска»).
Любое предложение? Подобный опыт?
Да, номер 2 популярен (т. Е. Sharepoint), но я согласен с вами, это неудобное решение. –
Я принимаю это как ответ. Номер 4 - это то, что предлагает Харпер, и это хорошее решение с точки зрения РСУБД. Я думаю, что я буду смешивать это (что есть у нас на самом деле) с индексом и поисковой системой, которая заботится о соответствующих метаданных. –