powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / XML vs Таблицы доп. свойств vs Атомарный словарь
7 сообщений из 7, страница 1 из 1
XML vs Таблицы доп. свойств vs Атомарный словарь
    #36560942
tangueros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как лучше реализовать возможность дополнительных полей в структуре БД?

Вижу пока 3 варианта:
- добавить поле xml (плюсы: удобно, что минимальные изменения структуры БД (если нужно расширить уже существующую, к примеру, с помощью схемы можно задать ограничения на возможные значения, удобно хранить сложные, иерархические данные; минусы: производительность - не понятно, насколько быстро будет добавление, и поиск, с xml-индексом и без)
- для каждой группы новых свойств добавить свою таблицу с внешним ключом на основную (плюсы: полная свобода действий в оптимизации, минусы: не нравится идея менять схему БД, каждый раз, когда добавляется новая группа свойств, к тому же количество джойнов в таком случае может вырасти до слишком большого размера)
- атомарный словарь - хранить все свойства в одной группе таблиц, которая описывает построчно словарь (т.е. одна таблица для хранения списка словарей, другая - для хранения списка колонок каждого словаря, третья - списка строк, 4-я - списка значений в строках) (плюсов особых не вижу, среди минусов - производительность, ограничения по типа возможных значений - обычно только числа, пары чисел или строки)

Вопрос возник в связи с необходимостью реализовать иерархию наследования сущностей в БД оптимальным образом. Предполагается, что данных в основной таблице будет много (порядка 10 млрд строк, плюс ежедневное обновление 200-300 млн строк)

Ваше мнение, что лучше, хуже. Еще варианты.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
XML vs Таблицы доп. свойств vs Атомарный словарь
    #36561784
Попробуйте взглянуть в сторону EAV
...
Рейтинг: 0 / 0
XML vs Таблицы доп. свойств vs Атомарный словарь
    #36568902
tangueros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Золотая рыбка,про EAV знаю. это третий вариант (атомарный словарь). Пока не вижу никаких особенных преимуществ.
...
Рейтинг: 0 / 0
XML vs Таблицы доп. свойств vs Атомарный словарь
    #36569343
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tangueros Предполагается, что данных в основной таблице будет много Вариант 2 однозначно.
EAV ф топку. XML только если данные ВСЕГДА будут обрабатываться одним куском, но обычно (по мере развития системы) данные начинают представлять собственную ценность и все опять сводится к варианту 2. Произойдет ли это при вашей жизни или нет - решать вам.
По минусам
tangueros не нравится идея менять схему БД, каждый раз, когда добавляется новая группа свойствА программу менять типа нравится. Новая функциональность - новая программа - новая база
tangueros к тому же количество джойнов в таком случае может вырасти до слишком большого размераНа то он и сервер чтобы джойнить. Это его работа. В худшем случае подхинтите запросы.
tangueros Вопрос возник в связи с необходимостью реализовать иерархию наследования сущностей в БД оптимальным образом.А вот с этого места поподробнее в терминах - вставляем, ищем, обновляем, удаляем.
...
Рейтинг: 0 / 0
XML vs Таблицы доп. свойств vs Атомарный словарь
    #36578571
tangueros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понятно, что значит в терминах " вставляем, ищем, обновляем, удаляем". Допустим, у нас есть объект ценная бумага. В принципе, все ценные бумаги обладают неким базовым набором характеристик, но уже конкретная ЦБ может иметь дополнительные. В терминах ООП - это наследование. Типов ц/б - много, поэтому заранее заводить нужное количество полей не удобно (хотя, в принципе, можно, но уж будет криво). Аналогичная ситуация со сделками - типов много, сделок еще больше. Нужно грамотно реализовать наследование.
...
Рейтинг: 0 / 0
XML vs Таблицы доп. свойств vs Атомарный словарь
    #36578757
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> В терминах ООП - это наследование.

В данном случае ни о каком наследовании речь не идет.

> Типов ц/б - много

Как раз мало. Много производных инструментов. Но и их конечное количество.

Подробнее: что проектируете и каков статус продукта?
...
Рейтинг: 0 / 0
XML vs Таблицы доп. свойств vs Атомарный словарь
    #36579340
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tangueros Не совсем понятно, что значит в терминах " вставляем, ищем, обновляем, удаляем"То что для базы данных все ваши объекты - ценные бумаги суть записи, которых надо обрабатывать по типу CRUD. И делать это можно по-разному смещая акценты в зависимости от нужд приложения (типа можно подождать со вставкой за счет быстрого чтения по определенным критериям или обновлений/удалений не будет по определению поэтому просадка производительности этой операции никого не трогает).
tangueros Типов ц/б - много, поэтому заранее заводить нужное количество полей не удобно (хотя, в принципе, можно, но уж будет криво)Вот интересно, заведение дополнительного свойства, отображение его на форме, редактирование и т.п. это типа не криво. А заведение специального поля под дополнительное свойство это уже не удобно. То есть вы базу данных рассматриваете как ящик куда можно свалить все со стола как попало, зато быстро и стол чистый. А то что доставать будем долго так это база данных виновата - тормозит, надо другую брать, авось будет быстрее, ага и приложение делать независимое от базы.
tangueros Нужно грамотно реализовать наследование.Поищите по форуму на предмет хранения людей, контрагентов, легковых/грузовых машин. Способов несколько и хранение предков в одной таблице и и доп.свойств в разных таблицах связанных ссылками с главной, и отдельные таблицы с одинаковыми полями, и одна большая таблица со всеми полями из которых заполнены только нужные. Какой именно способ - выбирать вам в зависимости от нужд приложения, а не соответствия принципам ООП.
Просто помните, что за любую гибкость, как правило приходится платить .
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / XML vs Таблицы доп. свойств vs Атомарный словарь
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]