|
|
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
MasterZiv Ты думаешь, программист - это тот, кто в редакторе notepad пишет код на visual basic ? Я на этот счёт непного другого мнения. ... Ладно, фиг с ней, с задержкой. А как ты решаешь проблему с количеством атрибутов ? Я хочу 1000. Нет, завтра уже -- 2000. А потом - 3000. Вот я о том и говорю. Когда программист начинает хотеть неизведанные дали, в итоге получается супер пупер универсальная платформа. Когда же есть некая нестандартная задача, не вписывающаяся к примеру в рамки РСУБД (требования динамического изменения структуры в рантайме), архитектор не начинает проводить тесты на таблицах с тысячами колонок, миллиардами записей и прочим, а для начала полностью собирает по задаче все требования и ограничения, стараясь максимально ограничить круг нестандартности, ибо как известно клиенты часто на словах хотят больше, чем им нужно на самом деле. И только после этого выбирается решение, в том числе на определенной РСУБД проводятся тесты с целью выявления подводных камней в решении. В моем случае в обоих проектах поставлено ограничение на кол-во столбцов в 255. Тоже самое касается и максимального кол-ва записей в актуальных и исторических таблицах - определен собираемый объем данных, правила и время их хранения в операционной и аналитических базах, где OLTP и DSS - это разные СУБД, ибо предназначены для выполнения разных задач. Еще раз подчеркиваю - при выборе решения надо руководствоваться не тем, что лучше - DDL vs EAV vs Еще чего то, а отталкиваться от конкретной задачи и поставленных условий. Если соблюдать это правило, то в тему будет и DDL и EAV и Еще чего то, потому что когда есть определенные задачи и условия - то решение будет простым, эффективным и цели будут достигнуты. Когда есть мифическая цель сделать нечто универсальное, то процесс разработки будет бесконечным, а проект считаться безнадежным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 08:35 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
ASCRUSКогда есть мифическая цель много бкв не читал - но вот это понравилось... вы не обратили внимания? все дискуссии вокруг подобных тем эквифинальны... ушел насвистывая мифическая цель - виньетка ложной сути мифическая цель - не стыдно говорю мифическую цель - понять мне не позвольте мифическую цель - я скоро догорю.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 09:10 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
GUESТвы не обратили внимания? все дискуссии вокруг подобных тем эквифинальны... Да потому что можно до опупения каждый раз яростно обсуждать, что круче - колеса или гусеницы, без привязки к местности и результат будет тот же самый ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 10:45 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
ASCRUS пишет: > Еще раз подчеркиваю - при выборе решения надо руководствоваться не тем, > что лучше - DDL vs EAV vs Еще чего то, а отталкиваться от конкретной > задачи и поставленных условий. Безусловно, об этом я и не говорю. Само собой разумеется. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 11:15 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
А вот освежу направление. А что если дать пользователю возможность только создавать сущности. (таблицы). Но не модифицировать. их. Тогда бы мы избежали серьезного гемора. со всякими там блокировками. Да это Серьезное ограничение. А как можно раширять сущности не изменяя таблиц. Есть Возможность наследования таблиц. То есть вторая таблица расширяет первую. Но они вместе представляют одну сущность. На уровне метаописания. И позволяет нам только создавать таблицы. Только выполнять create table Никакого alter table. Как вам такая идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 15:52 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
авторТолько выполнять create table Никакого alter table. Как вам такая идея. Каждому полю по таблице - замечательная идея.Тебе уже объяснили, что не бывает универсальных решений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 16:19 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
Foxluck пишет: > Но они вместе представляют одну сущность. На уровне метаописания. > > > И позволяет нам только создавать таблицы. > Только выполнять create table Никакого alter table. > Как вам такая идея. Это - лучше. Это и проблему с большим числом атрибутов в таблице решает. Только я бы всё же разрешил им временно, до введения в эксплуатацию, alter на эту самую новую таблицу. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 17:26 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
MasterZiv Foxluck пишет: > Но они вместе представляют одну сущность. На уровне метаописания. > > > И позволяет нам только создавать таблицы. > Только выполнять create table Никакого alter table. > Как вам такая идея. Это - лучше. Это и проблему с большим числом атрибутов в таблице решает. Только я бы всё же разрешил им временно, до введения в эксплуатацию, alter на эту самую новую таблицу. Согласен. Это увеличит гибкость. Определить. Некоторый переходный режим. Когда еще возможен alter table. Ну кстати на этом переходном этапе когда пользователю нужен только макет. Сойдет решение когда не нужно трогать базу. Например XML поле. То есть работать уже будет. Но еще плохо. Когда пользователь принимает решение закончить редактирование таблицы. все это фиксируется ddl. По таблице на поле. :) Мда это крайний случай (Точнее как минимум два поля на таблицу вместо с id). Кстати полезно его рассмотреть с точки зрения к чему ведет такое дробление . Даже трудно представить. Наверное это пагубно скажется на производительно много joinов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 18:52 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
FoxluckПо таблице на поле. :) Мда это крайний случай (Точнее как минимум два поля на таблицу вместо с id). Кстати полезно его рассмотреть с точки зрения к чему ведет такое дробление . Даже трудно представить. Наверное это пагубно скажется на производительно много joinов. Угу. Сущность размазана по 5 таблицам, для сущности миллион записей, значит в каждой из 5 таблиц получаем по миллиону записей. Делаем запрос, возвращающий все поля с наложением условия, то есть соединяем INNER JOIN все таблички, пишем WHERE - любуемся на кривой план запроса, наслаждаемся тормозами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 09:55 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
MasterZivВ работающей БД DDL-я быть не должно (только как административные задачи и апгрейды). Настройка структуры данных - это не административная задача? MasterZivТаким образом, ТОЛЬКО EAV. C религиозным подходом трудно спорить, но, к счастью, не обязательно ему следовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 21:25 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
> Настройка структуры данных - это не административная задача? Разумеется, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 22:01 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
guest_20040621, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 23:26 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
guest_20040621Разумеется, нет. Замечательно. Теперь более сложный вопрос. Вообразите шкалу, на одном конце которой - пользователи кликают кнопки, а на другом - девелоперы пишут программы. Соответственно, на одном конце DDL явно нужен, на другом явно нелеп. Где-то посередине - "административные задачи", которые вроде как объявлены границей применимости DDL. Теперь внимание, вопрос: к какому из концов ближе настройка структуры данных? Намекну, что ответ представляется мне не столь простым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 23:41 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
softwarer, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 23:44 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
да при чем тут администратор, ес, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 23:45 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
softwarer пишет: > Теперь внимание, вопрос: к какому из концов ближе настройка структуры > данных? Намекну, что ответ представляется мне не столь простым. А это зависит от конкретной системы. От частоты и характера изменения структуры. Даже от ценности и объёма данных. В общем-то мы к этому уже пришли в топике. Вроде бы все согласились. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 10:18 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
> Где-то посередине - "административные задачи" Это в Вашем воображении они "посередине". Административные задачи - суть задачи, которые и позволяют пользователям "кликать кнопки". > ответ представляется мне не столь простым. "Настройка структуры данных" - это сама по себе бредовая формулировка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 10:31 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
MasterZivА это зависит от конкретной системы. Принципиальный момент - не от "системы", а от "конкретной задачи". В том-то и дело. В рамках одной системы решается много задач, и "итоговый ответ на этот вопрос" запросто может оказаться размазан по всей шкале. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 13:48 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
softwarerMasterZivА это зависит от конкретной системы. Принципиальный момент - не от "системы", а от "конкретной задачи". В том-то и дело. В рамках одной системы решается много задач, и "итоговый ответ на этот вопрос" запросто может оказаться размазан по всей шкале. это ты очень хорошо сказал. респект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 16:22 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: > А это зависит от конкретной системы. > > > Принципиальный момент - не от "системы", а от "конкретной задачи". Под системой я тут подразумевал прикладную систему. Т.е. это синоним "конкретной задачи". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 16:48 |
|
||
|
виртуализация EAV против native create table
|
|||
|---|---|---|---|
|
#18+
> Принципиальный момент - не от "системы", а от "конкретной задачи". Вот-вот, именно прикрываясь "конкретной задачей" криворукие архитекторы и превращают базу данных в перманентный геморрой. Им не нужно корректное работоспособное решение. Они заинтересованы в том, чтобы юзер до конца жизни сидел на игле "конкретной задачи" и по любому чиху платил бабло. Это - не проектирование, это мошенничество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 17:00 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35929098&tid=1543307]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 490ms |

| 0 / 0 |
