|
|
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Скажите, пожалуйста, какие могут быть 'подводные камни' при следующей организации таблиц БД. (используется СУБД Oracle 11, NHibernate 2.1) Основная таблица 'documents' содержит поля, общие для всех видов документов. Например, 'дата создания', 'автор' и т.п. На уровне приложений работа ведется с экземплярами подклассов документа (например, 'документ-договор' или 'документ-распоряжение'). Каждому подклассу в БД соответствует своя таблица, одно из полей которой - ссылка на id документа в таблице documents. Словом, реализована так называемая схема наследования 'table-per-subclass' (как в учебниках). Пока всё работает как нужно, но на данный момент существует не так много подклассов документов. Меня интересует, что может произойти при росте их числа. Конкретно - настораживает следующее: типичный запрос Код: plaintext При добавлении подкласса соответственно добавится еще один inner join. В принципе, мне кажется для конкретных ситуаций можно будет добавить методы в репозитории документов, не использующие эти join'ы, но хотелось бы знать, чего ожидать, может, не стоит вообще 'париться'... Или наоборот придется полностью менять модель данных? Кто-нибудь наверняка же проходил через подобный этап в проектировании/разработке. p.s. На уровне модели данных объединение всех типов документов базовым классом 'document' весьма удобно и представляется мне правильным. На всякий случай добавлю, что разрабатываемый продукт не относится к OLTP-системам (наверное, это уже и так понятно :) ) Повторюсь, используется СУБД Oracle 11g. Может быть, гуру подскажут, существенные особенности реализации inner join в нём. Когда идет, например, выборка единственной строки по конкретному id, но с n inner join'ами ( в n-1 из которых строки 100% не будет)... Или вариант с 'пэйджингом' - когда на странице отображается около 20 документов различных подклассов. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2010, 14:42 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
* хм... я там ошибся с типом объединения: вместо inner join везде left outer join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2010, 15:24 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Меня тоже интересуте ответ на Ваш вопрос. Было бы хорошо написать что то вроде теста. Заполнить базу различными документыми и повыбирать их, замеряя время исполнения. А результатами потом можно поделиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 15:00 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Alexey GorbachМеня тоже интересуте ответ на Ваш вопрос. Было бы хорошо написать что то вроде теста. Заполнить базу различными документыми и повыбирать их, замеряя время исполнения. А результатами потом можно поделиться. Обещать не стану, но если такой тест состоится, результатами поделюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 15:54 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Очень не правильно в архитектурном плане раскидывать документы в отдельные таблицы в разрезе их типов. Во-первых, в плане оптимизации - ставим раком сервер при большом кол-ве документов, во вторых в плане расширяемости - нужно создавать новую таблицу под новый тип. Плюс только один - удобство хранения. Очень рекомендую, пока не позлно, перевести всё на одну таблицу и расширять атрибуты по надобности. В моей практике есть один горький опыт такой схемы... Потом очень жалели, но было поздно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 18:21 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
МСУ, Вы уволенынах! Очень не правильно в архитектурном плане раскидывать документы в отдельные таблицы в разрезе их типов. Очень правильно создавать модель данных наиболее приближенной к предметной области. С производительностью пусть железячники геморроятся. "Плюс только один - удобство хранения." Нет, нет и нет! Разные документы могут иметь разные связи и условия проверок! Никакие сложности разработки и расширяемости не могут оправдать разрушение логики модели. Иначе вместо того, чтобы защищать ваш проект от тяжелейших ошибок уровня бизнес-логики, БД будет лишь придатком воспаленного воображения разработчиков прикладных модулей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 18:36 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
МСУОчень не правильно в архитектурном плане раскидывать документы в отдельные таблицы в разрезе их типов. Во-первых, в плане оптимизации - ставим раком сервер при большом кол-ве документов, во вторых в плане расширяемости - нужно создавать новую таблицу под новый тип. Плюс только один - удобство хранения. Очень рекомендую, пока не позлно, перевести всё на одну таблицу и расширять атрибуты по надобности. В моей практике есть один горький опыт такой схемы... Потом очень жалели, но было поздно. Большое спасибо за ценное замечание. Фаулер, насколько помню, в "Архитектуре корпоративного ПО" давал схожую рекомендацию. Правда, сложности с установкой constraints not null на уровне БД появляются, а также люди, которые будут работать с базой на уровне MS access могут не понять фишки (ну, тут наверное дополнительные вьюхи смогут помочь)... На данном этапе разработки изменить способ хранения вполне реально, имхо... Вынесу это на обсуждение между участниками проекта на след. неделе. Еще раз спасибо! А может быть есть какое-то общее правило для выбора типа наследования? Когда что лучше подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 18:46 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
КурдльМСУ, Вы уволенынах! Очень не правильно в архитектурном плане раскидывать документы в отдельные таблицы в разрезе их типов. Очень правильно создавать модель данных наиболее приближенной к предметной области. С производительностью пусть железячники геморроятся. "Плюс только один - удобство хранения." Нет, нет и нет! Разные документы могут иметь разные связи и условия проверок! Никакие сложности разработки и расширяемости не могут оправдать разрушение логики модели. Иначе вместо того, чтобы защищать ваш проект от тяжелейших ошибок уровня бизнес-логики, БД будет лишь придатком воспаленного воображения разработчиков прикладных модулей. Ну вот, мнения разделились... :) Как же найти разумный компромисс? Меня, честно говоря, несколько смущает обилие join'ов в запросах к сущностям, у которых имеется много наследников... Никак не могу об этом не думать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 18:50 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
МСУВ моей практике есть один горький опыт такой схемы... Потом очень жалели, но было поздно. Если Вас не слишком затруднит, не могли бы Вы хотя бы вкратце перечислить конкретные проблемы, возникновение которых заставило сожалеть о принятом архитектурном решении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 18:55 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
barser Меня, честно говоря, несколько смущает обилие join'ов в запросах к сущностям, у которых имеется много наследников... Никак не могу об этом не думать) Архитекторы оракла заявляют, что скорость доступа к двум полям "соединенных" таблиц такая же, как к двум полям одной таблицы. Вопросы производительности всегда будут возникать. Но это не значит, что ей в угоду мы должны впихивать невпихуемое "в одну таблицу". Производители СУБД и АС позаботятся о том, чтобы все возрастающие объемы информации не приводили к замедлению и остановке процессов обработки данных. Так, например, один из известнейших производителей СУБД создал систему с постолбцового хранения данных, взамен построчного. Теперь его СУБД работают с объемами в 50ТБ и не кашляют. А у Вас какие объемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 19:37 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Курдльbarser Меня, честно говоря, несколько смущает обилие join'ов в запросах к сущностям, у которых имеется много наследников... Никак не могу об этом не думать) Архитекторы оракла заявляют, что скорость доступа к двум полям "соединенных" таблиц такая же, как к двум полям одной таблицы. Вопросы производительности всегда будут возникать. Но это не значит, что ей в угоду мы должны впихивать невпихуемое "в одну таблицу". Производители СУБД и АС позаботятся о том, чтобы все возрастающие объемы информации не приводили к замедлению и остановке процессов обработки данных. Так, например, один из известнейших производителей СУБД создал систему с постолбцового хранения данных, взамен построчного. Теперь его СУБД работают с объемами в 50ТБ и не кашляют. Вселяет оптимизм, спасибо! ) Еще бы ссылку на это заявление архитекторов оракла, если Вас не затруднит. КурдльА у Вас какие объемы? Очень много меньше 50-ти ТБ... Сейчас практически никакой (< 1 Гб). И сильно сомневаюсь, что в ближайшие года 2-3 объем основной схемы превысит 50-100 Гб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 09:51 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
КурдльОчень не правильно в архитектурном плане раскидывать документы в отдельные таблицы в разрезе их типов. -1 КурдльОчень правильно создавать модель данных наиболее приближенной к предметной области. Очень правильно понимать принципы хранения информации и принципы построения оптимальных запросов. КурдльС производительностью пусть железячники геморроятся. Вот с таким подходом далеко не уйдёте. Списывать глючность софта под недостаток мощностей это проще простого. А вот написать надежное решение - тут головой нужно думать. Как вижу, Вы не относитесь к категории людей, умеющих думать, планировать и заглядывать наперёд (я об этом Вам уже говорил). КурдльРазные документы могут иметь разные связи и условия проверок! Корневое слово - документы. Документ - это сущность, неделимая. Даже в разрезе типов. Предположим, имеется 100 млн. документов и 100 типов. А теперь пошевелите мозгами и прикиньте, какой будет план при отборе документов 10-и типов? 10 джойнов: Код: plaintext Самая засада будет в индексном скане, хотя стоимость Index Seek будет ещё выше. Нам придётся обращаться к 10 таблицам-миллионникам за дополнительными атрибутами. Именно в этом и есть засада. Проблема в том, милый Курдлёк, что Вы не участвовали в разрабатотке высоконагруженных систем. Имея бы опыт участии в подобных проектах Вы бы так не говорили: КурдльС производительностью пусть железячники геморроятся. ... ибо такие "программисты" нах никому не нужны. P.S. Проекты типа хеллоу-ворлд - вот она Ваша ниша :) КурдльНикакие сложности разработки и расширяемости не могут оправдать разрушение логики модели. См. выше про хеллоу-ворлдщиков P.S. Когда Ваш программный комплекс встанет раком (+ туда же интеграцию со сторонними системами - всякие ссис и бизтолки, + туда же резервое копирование, + туда же репликацию данных), тогда Вы лично пойдёте к директору и расскажете про разрушение логики модели P.S2. Кстати, да будет Вам известно - логика модели при этом не разрушается, ибо мы работаем с единой сущностью документ. Он не должен быть делим в разрезе его типа. barser уже вещал про Фаулеровские наставления. Если Вы, Курдль, считаете себя умнее и опытнее Великого Фаулера, то я умолкаю :) КурдльИначе вместо того, чтобы защищать ваш проект от тяжелейших ошибок уровня бизнес-логики, БД будет лишь придатком воспаленного воображения разработчиков прикладных модулей. Шум травы. А ружье за цевьё не держалось ) С возрастом проходит ) barserБольшое спасибо за ценное замечание. Фаулер, насколько помню, в "Архитектуре корпоративного ПО" давал схожую рекомендацию. Правда, сложности с установкой constraints not null на уровне БД появляются, а также люди, которые будут работать с базой на уровне MS access могут не понять фишки (ну, тут наверное дополнительные вьюхи смогут помочь)... Ну, это уже десятое. Можете переложить логику not null на клиента, можете вьюшки, можете еще как - это уже как требуется. barserНа данном этапе разработки изменить способ хранения вполне реально, имхо... Вынесу это на обсуждение между участниками проекта на след. неделе. Еще раз спасибо! Да, обсудите, дело-то серьезное. barserА может быть есть какое-то общее правило для выбора типа наследования? Когда что лучше подходит? Вот на уровне классов - играйте как хотите, но схема в БД должна быть нераздробленной. Это ж Вам не мастер детэил ) barserКурдльНу вот, мнения разделились... :) Как же найти разумный компромисс? Меня, честно говоря, несколько смущает обилие join'ов в запросах к сущностям, у которых имеется много наследников... Никак не могу об этом не думать) barser, какие мнения могут быть у Курдля, нашего адошного хеллоуворлдщика? barserЕсли Вас не слишком затруднит, не могли бы Вы хотя бы вкратце перечислить конкретные проблемы, возникновение которых заставило сожалеть о принятом архитектурном решении? 1. Тормоза на выборках с большим кол-вом типов документов 2. Периодические блокировки (для наборов под сводные ведомости и прочие отчеты - курилось грязное чтение, но программный комплекс не ограничивался отчетами, разумеется). И как следствие - доп. нагрузка на администрирование БД 3. Мерж-репликация. Танцы с бубном: иногда случалось так, что "типы" раньше приходили на паблишер, чем "шапки" документов. Щас уже не припомню, в чём именно там была засада. 4. Более сложная интеграция со сторонними системами. КурдльАрхитекторы оракла заявляют, что скорость доступа к двум полям "соединенных" таблиц такая же, как к двум полям одной таблицы. Курдль, ну во-первых - это бред. Во-вторых, Вы же знаете правила хорошего тона на sql.ru - всегда заявления подобного рода хорошо было бы подкреплять ссылками на источник. КурдльВопросы производительности всегда будут возникать. Но это не значит, что ей в угоду мы должны впихивать невпихуемое "в одну таблицу". "Всё в одну таблицу" == "Документы в одной таблице" Чуете разницу? Так что выражайтесь яснее и не накручивайте слов не по делу. КурдльПроизводители СУБД и АС позаботятся о том, чтобы все возрастающие объемы информации не приводили к замедлению и остановке процессов обработки данных. Производители СУБД бессильны перед ламерами, которые не знают, не умеют, не понимают. Это факт. КурдльТак, например, один из известнейших производителей СУБД создал систему с постолбцового хранения данных, взамен построчного. Теперь его СУБД работают с объемами в 50ТБ и не кашляют. А у Вас какие объемы? Так например, один человек обрёл крылья и полетел. А у Вас какие крылья? P.S. Как всегда - ниачём. Нт названий, ни ссылок, ни фактов. Просто шелест травы, не более того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 09:59 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
barserКурдльЕще бы ссылку на это заявление архитекторов оракла, если Вас не затруднит. Во-во КурдльА у Вас какие объемы? barserИ сильно сомневаюсь, что в ближайшие года 2-3 объем основной схемы превысит 50-100 Гб. Ну, я бы не сказал, что это-таки мало :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 10:05 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
МСУ, До чего ж забавно наблюдать за всплеском эмоций, который происходит каждый раз, когда всколупывают Ваш нарывающий комплекс ... Наверное всю ночь ответ готовили (как в случае с SolYUtor-ом - не поленились же форум пошерстить в поисках компромата ;) Видимо не раз еще в будущем я не смогу отказать себе в удовольствии закинуть подобный пост в ваш огород. Но тем не менее, я бы взял Вас к себе на работу - в подразделении обязательно должны быть и такие экземпляры! Жаль, что дотнетчики нам не нужны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 10:19 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Курдль, всплески эмоций оставьте у себя в чемодане, Вы, лучше по делу отвечайте :) Итак, прошу ссылку на вот это заявление: КурдльАрхитекторы оракла заявляют, что скорость доступа к двум полям "соединенных" таблиц такая же, как к двум полям одной таблицы. ... и расскажите поподробней про "известнейшую" столбцовую БД: КурдльТак, например, один из известнейших производителей СУБД создал систему с постолбцового хранения данных, взамен построчного. Теперь его СУБД работают с объемами в 50ТБ и не кашляют. P.S. А то как-то не хорошо получается, - заднюю включить не дам! ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 10:45 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
МСУ, 1. Ради простого поддержания спора не готов тратить свое время на поиски цитат. Но это заявление звучало раньше почти на всех конференциях от оракла. Сходите в форум ораклистов на этом сайте - может они точно наведут (у Вас же "безлимитка":). 2. Sybase IQ. P.S. Не пытайтесь втянуть меня в досужий треп "у кого длиннее и толще" Ведь победивший в таком споре ЗДЕСЬ может иметь длиннее и толще всего-навсего... язык (или пальцы). Огромное Вам спасибо за дельные ответы по темам моих вопросов в рамках этого форума. Бессомненно - Вы гораздо лучший специалист в ОРМ и их прикладном применении, чем я. Можно я и впредь буду обращаться к Вам за советом по теме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 11:06 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Курдль1. Ради простого поддержания спора не готов тратить свое время на поиски цитат. Но это заявление звучало раньше почти на всех конференциях от оракла. Сходите в форум ораклистов на этом сайте - может они точно наведут (у Вас же "безлимитка":). Курдль, так дела не делаются. Если не найдете подтверждения сего безумного факта - будет расценено как слив. Постарайтесь отвечать за свои слова, а не бросать их на ветер. Всё еще жду ссылки. Курдль2. Sybase IQ. Про ограничений сервера тоже читали? Нельзя одновременно вставлять или изменять данные в одной таблице более, чем одной сессии. Почитайте про обсуждения айкю на "Сравнение СУБД": Вот вам и Sybase IQ, господа хорошие . КурдльP.S. Не пытайтесь втянуть меня в досужий треп "у кого длиннее и толще" Я не пытаюсь никого никуда втягивать. Я лишь хочу, чтобы Вы отвечали за свои слова. КурдльВедь победивший в таком споре ЗДЕСЬ может иметь длиннее и толще всего-навсего... язык (или пальцы). Какой спор, Курдль? С кем? Программист, заявляющий такое: КурдльС производительностью пусть железячники геморроятся заранее обречён на погибель. P.S. Остальной оффтоп поскипан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 11:21 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
МСУ, Вы такой смешной - аппелируете к спору таких же, как Вы программистов на одном единственном форуме. Не примите за попытку принизить Ваш профессионализм - но есть более веские аргументы, чем он. Например, когда пусть даже на рекламном семинаре от Sybase, выходит на сцену начдепа IT налоговой службы США и говорит, что благодаря указанной СУХД за 5 лет ими получена доп. прибыль в $60 млн. и что нынешний объем ХД - 150ТБ, при этом оборудование - отнюдь не "супердома", я не вижу причин ему не верить. А я из своего болота могу квакнуть в оправдвние сентенции об "одной сессии и одновременного доступа" то, что СУХД не специализируются на OLTP системах, а лишь на OLAP, где, как правило, запись ведется по ночам, а в рабочее время - лишь упорная аналитическая выборка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 11:46 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
КурдльМСУ, Вы такой смешной - аппелируете к спору таких же, как Вы программистов на одном единственном форуме. Курдль, Вы такой странный - приводите примеры постолбцовых СУБД, кои никак не коррелируют с сабжем, в рамках жалких попыток доказать правильность подхода разбиения таблицы докуменов, махая флагом "правильной логической модели". Хотя, сами же до сих пор не понимаете, что логическая модель не нарушается. К чему вообще был заведен разговор о Sybase IQ, если оное хранилище никак не сопоставимо с начальным вопросом? КурдльНапример, когда пусть даже на рекламном семинаре от Sybase, выходит на сцену начдепа IT налоговой службы США и говорит, что благодаря указанной СУХД за 5 лет ими получена доп. прибыль в $60 млн. и что нынешний объем ХД - 150ТБ, при этом оборудование - отнюдь не "супердома", я не вижу причин ему не верить. Вы хотели чего-то другого ожидать на рекламном семинаре от Sybase? P.S. И, вообще, тема не о Sybase и не о постолбцовом хранении. Забудьте. КурдльА я из своего болота могу квакнуть в оправдвние сентенции об "одной сессии и одновременного доступа" то, что СУХД не специализируются на OLTP системах, а лишь на OLAP, где, как правило, запись ведется по ночам, а в рабочее время - лишь упорная аналитическая выборка. Я, вообще, не понимаю, зачем Вы начали квакать в эту сторону. Оффтоп? P.S. Линк будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 12:04 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
МСУP.S. Линк будет? Нет, конечно! Я же сказал, что не буду тратить свое время на подобные поиски. Я дал свои рекомендации автору этой ветки. А он уж пусть решает, принять ли Ваши аргументы, или мои. И от слов, что производительностью АС должны заниматься специально обученные люди, никак не способные повлиять на структуру данных, я не откажусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 12:20 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
КурдльНет, конечно! Я же сказал, что не буду тратить свое время на подобные поиски. То есть, Вы считаете хорошим тоном - ляпнуть и уйти в сторону без аргументов? КурдльЯ дал свои рекомендации автору этой ветки Не поверите, в Ваших "рекомендации" не было ни одного убедительного аргумента, как со стороны рефов (ссылок на доки, статей, обсуждений, ...), так и со стороны опыта... Если я, конечно, нигде не запамятовал. КурдльИ от слов, что производительностью АС должны заниматься специально обученные люди, никак не способные повлиять на структуру данных, я не откажусь. Я чувствую некий спад амбиций. Тут: КурдльС производительностью пусть железячники геморроятся ... было поамбициозней и пожарче заявлено ) P.S. Вы до сих пор не понимаете, что программист способен написать такой кривой код, который и оптимизировать смысла не имеет? P.S2. Во-вторых, если Вы так акцентируете внимание на разделение ролей - то я бы Вас к разработке схемы БД не подпустил бы. Как Вы говорите, пусть этим DBD занимается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 12:28 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
barser Конкретно - настораживает следующее: типичный запрос Код: plaintext При добавлении подкласса соответственно добавится еще один inner join. В принципе, мне кажется для конкретных ситуаций можно будет добавить методы в репозитории документов, не использующие эти join'ы, но хотелось бы знать, чего ожидать, может, не стоит вообще 'париться'... Или наоборот придется полностью менять модель данных? Кто-нибудь наверняка же проходил через подобный этап в проектировании/разработке. Спасибо! Проходили. Подобная стратегия - вполне нормальный вариант, другое дело, что ORM совершенно не заточены под это. Выбросите Hibernate и забудьте про него ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 15:00 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
Не пользователь sql.ru Проходили. Подобная стратегия - вполне нормальный вариант... Что используете в слое DAL? И какая архитектура у Вас в целом? Не пользователь sql.ru..., другое дело, что ORM совершенно не заточены под это. Что использовать вместо ORM в данном случае? И - интереснее услышать - под что заточены ORM? Не пользователь sql.ruВыбросите Hibernate и забудьте про него Мне кажется к Вашему совету могут прислушаться лишь те, кто находится на самой ранней стадии знакомства с этим замечательным фреймворком. Когда плюсы туманны, а сложность изучения отпугивает... Любой же, кто нашел в себе силы разобраться с этой технологией, будет рад иметь ее в своем арсенале и применять с умом (никто не обязывает сувать ее повсеместно). В общем, спасибо за совет, но я к нему не прислушаюсь, извините. p.s. По моим наблюдениям, самые ярые противники хибера - те, которые в нем ничего не понимают... Вот бы пообщаться с человеком, который бы досконально разобрался что к чему и это ему не понравилось. Но как только разбираются - критика куда-то пропадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 15:23 |
|
||
|
Вопрос по NHibernate и проектированию структуры БД с учетом наследования
|
|||
|---|---|---|---|
|
#18+
barserНе пользователь sql.ru Проходили. Подобная стратегия - вполне нормальный вариант... Что используете в слое DAL? И какая архитектура у Вас в целом? Не пользователь sql.ru..., другое дело, что ORM совершенно не заточены под это. Что использовать вместо ORM в данном случае? И - интереснее услышать - под что заточены ORM? Не пользователь sql.ruВыбросите Hibernate и забудьте про него Мне кажется к Вашему совету могут прислушаться лишь те, кто находится на самой ранней стадии знакомства с этим замечательным фреймворком. Когда плюсы туманны, а сложность изучения отпугивает... Любой же, кто нашел в себе силы разобраться с этой технологией, будет рад иметь ее в своем арсенале и применять с умом (никто не обязывает сувать ее повсеместно). В общем, спасибо за совет, но я к нему не прислушаюсь, извините. p.s. По моим наблюдениям, самые ярые противники хибера - те, которые в нем ничего не понимают... Вот бы пообщаться с человеком, который бы досконально разобрался что к чему и это ему не понравилось. Но как только разбираются - критика куда-то пропадает. Самые яркие приверженцы хибера - те кто ничего не понимает в БД. Посмотрите на запросы вашего любимца, попляшите с бубном вокруг него, сделайте хотя бы один проект, тогда может и сами поймете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2010, 15:53 |
|
||
|
|

start [/forum/topic.php?fid=17&tid=1351084]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 323ms |

| 0 / 0 |
