Есть ли преимущество хранения метаданных (или данных индексирования) для документа/* LOB отдельно от необработанных данных.Хранение метаданных и необработанных данных отдельно
Например, имеющий таблицу/сбор/ведро с индексом на (имя, школа)
ID: 123 name: Johny School: Harvard Transcript: /*2MB text/binary*/
против
Metadata
ID: 123 name: Johny School: Harvard
данных
ID: 123 Transcripts: /*2MB text/binary*/
Предположим, что mongodb, хотя это, возможно, и db агностик.
db.firstModel.find({},{transcripts:0})против
db.secondModel.find()
Кроме того, если мы агрегация/группировка по метаданным, будет тяжелая полезная нагрузка в транскриптах весить его вниз (даже несмотря на то, агрегации на других областях)? лучше ли агрегировать в коллекции метаданных по отдельности, а затем извлекать по идентификатору из коллекции данных? Или лучше уважать дизайн базы данных (сохраняя все в одном документе)?
Да, его можно использовать для быстрого поиска; ключевые слова/теги могут быть сохранены в отдельном столбце, и этот столбец можно использовать в поисковых запросах. –
не говоря уже о том, как разбросанная таблица придет с КАЖДОМ обновлением в коротком столбце ... например, вы меняете имя ученика, чтобы исправить ошибку, и вы фактически перемещаете 2 МБ данных (чтобы изменить 2 байта) –