andreycha
@andreycha

Примеры использования слабоструктурированных данных

В английском есть такой термин — semi-structured data — слабоструктурированные данные. Это такие данные, для которые неизвестна точная структура, либо известна, но часто меняется. Суть в том, что по этим причинам такие данные может быть неудобно хранить в реляционных таблицах.

Я пишу работу и мне нужны конкретные примеры работы с такими данными. Поделитесь своим опытом, когда для хранения вы выбрали xml/json/документо-ориентированное хранилище и т.п. Расскажите, в чем заключались особенности задачи.

Спасибо.
  • Вопрос задан
  • 3941 просмотр
Пригласить эксперта
Ответы на вопрос 3
ну, пример лежащий на поверхности — конфигурационные файлы.

Кстати причиной выбора такого хранилища может стать не только слабая структурированность но и часто меняюшаяся схема.

Например, профили пользователей. Сегодня они хотят icq, а завтра какой-нибудь идентификатор в МоемКруге. Нужно выносить все эти поля во вспомогательную таблицу или часто править схему.

Очень хорошо идея документоориентированных хранилищ подходит для создания универсальных cms. Там при разработке конкретного сайта приходится дополнять стандартные схемы дополнительными полями, которые хранятся во вспомогатеьльной таблице. Одно поле — одна строчка. В реальном проекте у меня количество полей доходило до ста.

В cms с документоориентированными хранилиищами эта проблема проблема решается намного элегантней: вы просто описываете схему, а документ всеравно сохраняется в виде одного документа.
Ответ написан
Комментировать
akalend
@akalend
программирую
использую json & MongoDB
многие параметры товаров предствавлены в слабоструктурированном виде
мы за ранее не знаем наименование параметров, городить трехэтажные реляционные запросы не выгодно см пост habrahabr.ru/qa/3248/ про предлагаемые структуры данных, в частности мои комментарии.
я эти грабли проходил в другом проекте
Ответ написан
Комментировать
Kindman
@Kindman
Можно использовать универсальную таблицу вида:

ID-записи (int)
Тип-записи (int)
Значение-записи (text)

Можно так же добавить четверое поле, и в нем хранить числовое значение для записи:

Rank-записи (float)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы