powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / наиболее подходящая структура БД для описания характеристик объетов
54 сообщений из 54, показаны все 3 страниц
наиболее подходящая структура БД для описания характеристик объетов
    #37842748
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть объекты, например вооружение, каждый объект имеет свой класс со своим свойтсвами.
Делаю БД по ведению значений храрактеристик этих объектов

Поделитесь опытом, как лучше всего реализовать структуру БД для этого случая.

Я думаю, попытаться сделать аналогично описанию классов в языках программирования.
Т.е. есть класс у него базовые свойсва, а в наследуемых классах свойства присутствуют класса родителя плюс свои

Какие есть еще варианты, и какие могут быть сложности с реализацией такого варианта?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37842763
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81Поделитесь опытом, как лучше всего реализовать структуру БД для этого случая.

По моему опыту, для характеристик лучше всего использовать EAV.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37842794
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

а по русски как такая схема называется?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37842799
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может EAV не очень подойдет, так как классов описания будет несколько милионов?
Будет ли это все нормально работать на MS SQL Server 2005
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37842875
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81а по русски как такая схема называется?

"Схема имени Тенцера". У самого Тенцера она как раз работает на MS SQL и миллионах
номенклатуры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37842928
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PG81Я думаю, попытаться сделать аналогично описанию классов в языках программирования.
в языках программирования все объекты одного класса хранятся в одном списке или массиве. В БД аналог: один класс- одна таблица. Подходит ? Если нет, то как сказано : EAV.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37843222
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам эта база для чего, чтобы была или для работы (искать, вставлять, изменять, делать отчеты...)
Если чтобы была - то вперед в EAV. (ищите здесь на форуме все по слову EAV)
Если для работы тогда метод сущность-связь (ER)
PG81Может EAV не очень подойдет, так как классов описания будет несколько милионов?Сдается мне, что вы слегка преувеличиваете. Я не могу представить себе работу с базой в миллионы связанных таблиц. С другой стороны миллионы экземпляров вполне возможны.
PG81Я думаю, попытаться сделать аналогично описанию классов в языках программирования.Плохое начало. В языках программирования во главу угла ставятся функции (код), а в БД данные.
PG81Т.е. есть класс у него базовые свойсва, а в наследуемых классах свойства присутствуют класса родителя плюс свои
На вашем месте, я бы сначала расписал все известные классы по типу ER (один класс- одна таблица) без абстрактрых и только потом вытащил повторяющиеся части в общие таблицы предки. Это не упростит, а усложнит схему, ухудшит (в лучшем случае незначительно) производительность, но облегчит понимание структуры новыми людьми и ее модификацию.
PG81Будет ли это все нормально работать на MS SQL Server 2005 А какой смысл использовать устаревшую (не 2012, не 2008R2, не 2008) версию для нового проекта? А работать будет как сделаешь, от бренда СУБД зависит мало.
PG81Какие есть еще вариантыЕсли задача не суперсекретная, то можешь выложить сюда описание поподробнее, плюс свою реализацию и мы можем накидать примерную схему, отловить грубые ошибки в реализации, подсказать возможные проблемы для негрубых ошибок и т.д.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37843609
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
несколько миллионов классов. не могу представить себе такую классификацию. можно пример?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37843840
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕАВ однозначно. Решается в 5-6 таблиц.
Возможности настроек неограничены и не требуют перепрограммирования.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37844400
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257, kmaw

чет с милионом я загнул, несколько тысяч.
благодарю за развернутый ответ.
вот еще статья на тему
http://foxserver.narod.ru/tenser.htm
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37845496
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да видел я этого вашего Тенцера, даже реализовывал. Наряду с "универсальным" справочником (одна таблица на все справочники) это "открытие" делал, наверное, каждый. У этой схемы только одно достоинство - добавление таблицы или поля делается без DDL (уменьшение количества таблиця достоинством не считаю). А вот недостатков выше крыши (поиском по форуму они ищутся). Короче нишевое решение для всяких определяемых пользователем свойств или справочников.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37845525
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81,

ну вот, от нескольких миллионов осталось несколько тысяч - в 1000 раз меньше. а теперь, если проанализировать детально реалии конкретного ТЗ, то наверное несколько тысяч уменьшится до около тысячи.

при этом с каждым типом наверняка будет связано множество специфических индивидуальных или специфических родовых ограничений, и это может быть не просто каталог, а нечто более сложное. поэтому "легкое и быстрое" добавление записей в EAV-структуру (об "автомате" и "пистолете") все равно потребует "долгой и тяжелой" реализации этих ограничений в BLL. так что смысла в использовании EAV лично я не вижу - теряются преимущества нормальной реляционной схемы и добавляется масса гемороя
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37846006
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257нишевое решение для всяких определяемых пользователем свойств

А теперь перечитываем сабж и видим там те самые определяемые пользователем свойства, они
же - характеристики.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37846048
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257 У этой схемы только одно достоинство - добавление таблицы или поля делается без DDL (уменьшение количества таблиця достоинством не считаю). А вот недостатков выше крыши (поиском по форуму они ищутся). Короче нишевое решение для всяких определяемых пользователем свойств или справочников.
Добавление таблицы без DDL - не единственное и даже не главное достоинство EAV. Главное - это базовая обработка нового типа обьектов вообще без написания какого-либо кода (не только DDL).
А то что оно не везде уместно - ну ясное дело. С любым инструментом так
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37846659
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинГлавное - это базовая обработка нового типа обьектов вообще без написания какого-либо кода (не только DDL).Это вполне и без EAV достигается.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37846946
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov А теперь перечитываем сабж и видим там те самые определяемые пользователем свойства, они же - характеристики.
Еще раз перечитал топик. ТС просит помощи в создании базы объектов. Не заметил требований максимальной кастомизации на местах а ля 1С.
Во избежании разночтений, еще раз прошу ТС дать подробности.
Кот Матроскин Главное - это базовая обработка нового типа обьектов вообще без написания какого-либо кодаТо что форму, ввода, поиска, редактирования, отчеты будет делать местный кастомизатор, а не программист, не значит "без написания какого-либо кода"
Еще раз повторю: в качестве заплатки, "сопли", нужной еще вчера, ЕАВ вполне уместен. Но делать соплю в новом проекте...
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37846998
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257ТС просит помощи в создании базы объектов.
Причем с наследованием.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37847124
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257ТС просит помощи в создании базы объектов. Не заметил требований
максимальной кастомизации на местах а ля 1С.
"Кастомизация на местах" тут вовсе ни при чём. ТС просил совета у людей с опытом хранения
характеристик объектов в БД. Согласно моему опыту , EAV для этого подходит
лучше остальных способов. А что говорит тебе твой опыт?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37847381
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov"Кастомизация на местах" тут вовсе ни при чём. ТС просил совета у людей с опытом хранения
характеристик объектов в БД. Согласно моему опыту , EAV для этого подходит
лучше остальных способов. А что говорит тебе твой опыт?
Не знаю насчет опыта у SERG1257, а мой опыт говорит, что EAV подходит только для хранения характеристик. Если в системе предполагается с этими харктеристиками делать хоть что-то еще кроме хранения, то есть решения лучше EAV. А если говорить исключительно о хранении, то еще меньше кода потребуется для хранения характеристик в xml, например. Только не считайте это - советом. :)
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37847455
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andreyесли говорить исключительно о хранении, то еще меньше кода потребуется для хранения
характеристик в xml, например

Ну, в EAV их ещё чуть-чуть искать можно с использованием индексов, что для XML несколько
тяжелее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37847511
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мой опыт говорит что умение коротко, ясно, недвусмысленно, понятно всем формулировать задачу есть великий и редкий талант.
Хрустальный шар подсказывает, что перед ТС стоит задача ведения базы таки объектов, сложной со множеством характеристик.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37848914
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey Это вполне и без EAV достигается.

Это достигается "без EAV", да, но накладные расходы при этом обычно еще выше, чем у EAV.

SERG1257 То что форму, ввода, поиска, редактирования, отчеты будет делать местный кастомизатор, а не программист
Какую форму? какой кастомизатор? Вы вообще о чем?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37848996
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЭто достигается "без EAV", да, но накладные расходы при этом обычно еще выше, чем у EAV.Чьи накладные расходы и на что? Может быть хотя бы пример приведете чтобы легко решалось с EAV и тяжело без него?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849081
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyЧьи накладные расходы и на что? Может быть хотя бы пример приведете чтобы легко решалось с EAV и тяжело без него?Качественный ЕАВ можно сделать один раз и использовать всю жизнь.
По сабжу - самое оно.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849119
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey,

Накладные расходы - на сопровождение и развитие системы(включая и проблемы с проиводительностью, и с написанием дополнительных фич в дальнейшем, и т.п.)

Пример - ну вот пример, котрый привел ТС в начале дискуссии - потенциальное наличие в системе нескольких миллионов разных типов сущностей. Стандартные операции по ним - сохранение, извлечение, поиск.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849316
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извеняюсь за отсутсвие, считал дискуссию законченной.
Вообще-то не представляю, как можно релаизовать это все по другому, кроме как ЕАВ
в упрощенном виде БД должна иметь следующий вид
1)Object(ID,Name,TypeID)
2)Type(ID,Name)
3)Сharacteristic(ID,Name,Restrictions)
4)ObjectCharacteristic(ObjectID,СharacteristicID,Value)
5)TypeCharacteristic(ObjectID,СharacteristicID)

Реализовать добавление, удаление, поиск данных через хранимки.
Под полем Restrictions я подразумеваю совокупность полей для описания различных ограничений по вводу данных, на основании которрых можно реализовать ограничения при вводе на клиенте и может быть проверку при сохранении в БД в хранимках.
Характеристики типа объекта должны быть заполнены у каждого объекта данного типа
Ограничений на зависимсоти между характеристиками вводить не предполагается.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849543
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин Какую форму? какой кастомизатор? Вы вообще о чем?Данные в дополнительных полях вводить как? Проверять введеное, использовать в расчетах, фильтровать, выводить в отчетах... если это не код то что?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849570
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2PG81 Чтоже всяк сам себе злобный буратино.
Хотите мрачных прогнозов?
Вы делаете свою систему - все работает, все довольны.
Вьюхи указанные в статье вы тоже делаете - без них отчеты будет лепить напряжно и люди лучше понимают.
Дальше вас ждет проблема производительности - чем шире таблицы тем дольше идет выборка каждой строки.
Дальше в чью-нибудь светлую голову приходит идея вьюхи материализовать и индексировать - проблемы производительности уходят, но легкость добавления новой характеристики ограничивается перелопачиванием всего кода, где используется вьюха.
Дальше в результате чьей-либо халатности происходит ошибка в ключах - строка плохо добавилась, удвоилась, или недоудалилась и т.д. Промучившись с чисткой возникает идея навернуть ограничения целостности на материализованные вьюхи чтобы отловить баг хотя бы на момент синхронизации.
Вуаля - имеем систему реализующую недостатки обоих подходов, занимающую вдвое больше места.
Возможно вы избежите указанных выше граблей, но чем нужнее система, чем больше народу с ней работает, тем тяжелее проблемы.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849580
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81,

Оценку реальную количества классов получили? Оценку количества свойств? Нет ли явного родства между классами (наследование)?

>Под полем Restrictions я подразумеваю совокупность полей для описания различных ограничений по вводу данных
плохое решение - в лучшем случае получится псевдореляционная недобаза внутри и так уже по определению нормальной реляционной БД
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849630
vst_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG12572PG81 Чтоже всяк сам себе злобный буратино.
Хотите мрачных прогнозов?


не надо мыслить только в рамках программного решения проблемы.
до вьюх всё праильно написали, а вот дальше...
mssqlserver умеет файловые группы. материализация вьюх "не нужен",
всё равно производительность упирается в storage, а не в вычисления
нужно грамотно разнести сущности и поля сущностей базы по группам, а группы по разным винтам, и будет вам щасте.
никаких просадок по производительности.

пруфы - откройте для себя plm-системы, step и прочую подобную в машиностроении.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849802
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257Данные в дополнительных полях вводить как? Проверять введеное, использовать в расчетах, фильтровать, выводить в отчетах... если это не код то что?

Вроде БД обсуждалась, а не морды к ней...
Хотя даже в морде никакого кода для ввода/вывода/поиска сущностей не понадобится.
"использовать в расчетах" новые свойства без кода в общем случае не получится, конечно - ну так это и нельзя назвать "базовой обработкой", "использование в расчетах" нужно далеко не для всех атрибутов, очень часто атрибут нужно просто хранить, выводить, от силы - искать по нему.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849836
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже много раз писал
некоторые типы могут иметь динамическое расширение свойств (поставил галочку и все или убрал)
не надо все загонять туда, а только пользовательское расширение
надо иметь возможность к этим свойствам обращаться прозрачно, как и другим свойствам
надо иметь возможность перегнать эти свойства в статический набор свойств (часто требуется) и обратно (если разрежен или по каким еще причинам)
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37849850
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно и покрасившее сделать, но и так пока устравивает
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850171
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVКачественный ЕАВ можно сделать один раз и использовать всю жизнь.Видел три десятка EAV-реализаций от разных авторов. И ни одной качественной. У всех были проблемы с производительностью, с кривыми данными и невозможностью извлечь из базы то, что надо.

Кот Матроскин(включая и проблемы с проиводительностью, и с написанием дополнительных фич в дальнейшем, и т.п.)Это такой тонкий стеб? EAV снижает производительность на порядок, а уж написание дополнительных фич становится огромной головной болью.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850222
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyКот Матроскин(включая и проблемы с проиводительностью, и с написанием дополнительных фич в дальнейшем, и т.п.)Это такой тонкий стеб? EAV снижает производительность на порядок, а уж написание дополнительных фич становится огромной головной болью.

Расскажите про Ваш способ реализовать миллион типов обьектов с разными множествами атрибутов, с лучшей производительность и поддерживаемостью, чем EAV.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850231
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyEAV снижает производительность на порядок

За счёт чего, извините, оно вдруг - на порядок?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850511
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинРасскажите про Ваш способ реализовать миллион типов обьектов с разными множествами атрибутов, с лучшей производительность и поддерживаемостью, чем EAV.Создаем таблицу для каждого типа объекта и наслаждаемся производительностью и поддерживаемостью.

Dimitry SibiryakovЗа счёт чего, извините, оно вдруг - на порядок?Конкретные цифры без упоминания конкретных примеров обсуждать здесь нет смысла. Но на практике сталкивался с сокращением времени выполнения операций на три порядка после отказа от EAV в пользу простой таблицы.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850523
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/22/2012 02:44 PM, Dimitry Sibiryakov wrote:

> За счёт чего, извините, оно вдруг - на порядок?

Ну как за счёт чего ?
Они же думаю, если запрос в 10 раз сложнее, его производительность в 10 раз хуже.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850545
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

прально думают
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850597
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey,

Миллион автогенеренных таблиц и пара-тройка миллионов автогенеренных хранимых процедур, как пример производительного и легко поддерживаемого проекта?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850602
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivОни же думаю, если запрос в 10 раз сложнее, его производительность в 10
раз хуже.
Осталось только выяснить какой рабинович им насвистел, что запросы к EAV в 10 раз сложнее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850642
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинBogdanov Andrey,

Миллион автогенеренных таблиц и пара-тройка миллионов автогенеренных хранимых процедур, как пример производительного и легко поддерживаемого проекта?То есть на ваш взгляд миллион записей в словаре СУБД поддерживать сложнее, чем тот же миллион в вашем велосипеде? Ну а про автогенеренные процедуры я ничего не говорил - это уже ваши собственные фантазии.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850666
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vst_guest mssqlserver умеет файловые группы. материализация вьюх "не нужен",В огороде бузина, а в Киеве дядька
всё равно производительность упирается в storage, а не в вычисления
авторнужно грамотно разнести сущности и поля сущностей базы по группам, Какие группы? У вас в пределе только ТРИ таблицы
vst_guest а группы по разным винтам,группы на SAN. Какие там винты меня не трогает.
vst_guest и будет вам щасте. никаких просадок по производительности.Для получения строки в N столбцов придется делать N сканов (по индексу) причем никаких гарантий что они лежат в одном блоке, т.о. количество логических чтений будет минимум в N раз больше. Это только для одной таблицы, а если в джойне их M? плюс никаких намеков на оптимизацию плана.

Кот Матроскин Миллион автогенеренных таблиц и пара-тройка миллионов автогенеренных хранимых процедур, как пример производительного и легко поддерживаемого проекта? В случае с EAV проект помрет раньше, ибо этот подход СЛОЖНЕЕ. Почему автогенереных, где такое требование? DDL скрипт на базу плюс патч на программу.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850697
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов,

я думаю, целую систему по схеме EAV делать нет смысла, нужно делать только определенные элемены, которые требуют такого подхода, а все остальное как обычно в реляционной БД.

Не думаю что така система способна к длительному существованию в условиях, когда требуется постоянная ее доработка и модернизация вселдствии изменения внешней конъюнктуры.
Обычно у такой системы есть один максимум несколько идеологов, которые досканально разбирается в этой системе, а все остальные разработчики только сипользуют функционал системы. Реализация бывает настолько сложной, что кроме этих людей внести изменения в ядро не может никто, по причине опасений все поломать, так не знает всех взаимосвязей. И если так получается, что ухоит главный идеолог системы, то система начинает медленно затухать, а потом ее просто заново переделывают, так ка проще снуля сделать чем разобраться в существующем. Даи обучение новых сотрудников оказывается достаточно продолжительным и требует большой квалификации.

Я за разумное сочетание.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850698
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyКот МатроскинBogdanov Andrey,

Миллион автогенеренных таблиц и пара-тройка миллионов автогенеренных хранимых процедур, как пример производительного и легко поддерживаемого проекта?То есть на ваш взгляд миллион записей в словаре СУБД поддерживать сложнее, чем тот же миллион в вашем велосипеде? Ну а про автогенеренные процедуры я ничего не говорил - это уже ваши собственные фантазии.

миилион таблиц vs миллион записей - да, я думаю что миллион записей поддерживать проще. Например, решаем к 20% обьектов( по некоему критерию) добавить еще атрибут.
Мне надо будет вставить 200 000 записей (одним запросом), Вам - делать генерацию скрипта на 200 000 alter table. Как считаете, что потребует больше усилий разработчика
и будет быстрее работать?

Насчет хранимых процедур - а как Вы рассчитываете оперировать миллионом таблиц? с помощью динамического SQL?
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850706
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин,

поддерживаю
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850741
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257 Для получения строки в N столбцов придется делать N сканов (по индексу) причем никаких гарантий что они лежат в одном блоке, т.о. количество логических чтений будет минимум в N раз больше.

Зачем?? при запросе вида "собрать атрибуты обьекта" используем индекс по ObjectID, все атрибуты берем за 1 скан.



Кот Матроскин Миллион автогенеренных таблиц и пара-тройка миллионов автогенеренных хранимых процедур, как пример производительного и легко поддерживаемого проекта? В случае с EAV проект помрет раньше, ибо этот подход СЛОЖНЕЕ. Почему автогенереных, где такое требование? DDL скрипт на базу плюс патч на программу.[/quot]
С чего бы ему помереть - с точки зрения EAV-ядра вообще фиолетово, 10 типов обьектов у нас в базе или миллион. Ну запросы работают чуть медленнее, вот и все. Почему автогенеренные - потому что "добавление типа обьекта не требует ни единой строки кода".
мы обсуждали реализацию этого ограничения.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850742
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаем таблицу для каждого типа объекта и наслаждаемся производительностью и поддерживаемостью.
Ога... Дайтедве.....

Еще интересно, как будут выглядеть отчеты по таким табличкам. Феерическая картина.
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850773
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81Сахават Юсифов,

я думаю, целую систему по схеме EAV делать нет смысла, нужно делать только определенные элемены, которые требуют такого подхода, а все остальное как обычно в реляционной БД.

Не думаю что така система способна к длительному существованию в условиях, когда требуется постоянная ее доработка и модернизация вселдствии изменения внешней конъюнктуры.
Обычно у такой системы есть один максимум несколько идеологов, которые досканально разбирается в этой системе, а все остальные разработчики только сипользуют функционал системы. Реализация бывает настолько сложной, что кроме этих людей внести изменения в ядро не может никто, по причине опасений все поломать, так не знает всех взаимосвязей. И если так получается, что ухоит главный идеолог системы, то система начинает медленно затухать, а потом ее просто заново переделывают, так ка проще снуля сделать чем разобраться в существующем. Даи обучение новых сотрудников оказывается достаточно продолжительным и требует большой квалификации.

Я за разумное сочетание.

А я и не говорил что надо в ЕАВ, ЕАВ только для динамических свойств (и то до поры до времени, пока не перевели в статику)
вот лишь некоторые типы имеют галочку в "Динамические свойства", у них имеются и статические свойства и динамические
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850798
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Динаичсекие свойства нужны когда экземпляр типа имеет особое свойств
например не все материалы нуждаются в цвете
а детали воще вроде бы не нуждаются (веренее могут быть много цветов их гамма и т.д.)
если заказывается деталь цвет = "белая"
мы находим ТП где а выходе имеется деталь (нет там воще свойство "цвет")
смотрим на входы ТП
ищем типы которые имеет свойство (дин или статик) "цвет" и выбираем ту которая имеет цвет="белая"
при выпуске детали ей присваиваем свойство "цвет" со значением "белая"


ну упрощенно все а так суть передан
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850969
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/22/2012 05:08 PM, Dimitry Sibiryakov wrote:

> Осталось только выяснить какой рабинович им насвистел, что запросы к EAV в 10
> раз сложнее.

Не, они могут быть сложнее. Зато нужно учить таблиц меньше -- уж никак не
несколько тысяч :-)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850971
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> я думаю, целую систему по схеме EAV делать нет смысла, нужно делать только
> определенные элемены, которые требуют такого подхода, а все остальное как обычно
> в реляционной БД.

Но в каких-то задачах возможно такого подхода будут требовать все части системы.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850981
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

потому надо делать динамическую структуризацию (классификацию)
тогда можно работать как с "чистыми" реялциоными таблицами, так и с "чистым" ЕАВ, впридачу смешанный режим
и базар закрывается на тему еав не еав
...
Рейтинг: 0 / 0
наиболее подходящая структура БД для описания характеристик объетов
    #37850983
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
походу появляются интересные задачи типа "глубина лукапа", "глубина клонирования" и т.д.
...
Рейтинг: 0 / 0
54 сообщений из 54, показаны все 3 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / наиболее подходящая структура БД для описания характеристик объетов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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