powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Oracle + таблица атрибутов
25 сообщений из 79, страница 3 из 4
Oracle + таблица атрибутов
    #38541194
DDeath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev это то о чём я писал тут 15478584
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541205
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вашу фразу совершенно не понял. У самого на рабочем месте стоит Oracle. Ни стеков, ни индексов на LOB ни разу не видел )))

...Oracle (Может и другие) создают стеки + индексы на поля типа CLOB , размер стека можно определить, тем самым он выделает количество памяти в зависимости от размера стека и их количества, а стеки создаются в зависимости от количества данных в колонке...
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541229
joiner_plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid KudryavtsevЧитать Inline and Out-of-Line LOB Storage, как я понимаю, экономия места между varchar2 и lob в случае inline lob storage будет максимум на lob-локаторе.

хренового понимаете. экономия varchar2 вовсе не в размере на диске ...
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541248
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
joiner_plusхренового понимаете. экономия varchar2 вовсе не в размере на диске ...
а в чем?
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541257
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevВашу фразу совершенно не понял. У самого на рабочем месте стоит Oracle. Ни стеков, ни индексов на LOB ни разу не видел )))
Ну, допустим, это значит, что хреново смотрите.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as test
 
SQL> select distinct segment_type from dba_segments where segment_type like '%LOB%';
 
SEGMENT_TYPE
------------------
LOBINDEX
LOB PARTITION
LOBSEGMENT
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541267
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeathМеня смущает то что вы не знаете условий задачи поставленной перед нашей командой и начинаете хаить.
Видите ли, есть определённые наработанные практики, говоря по современному, паттерны - ну например, ходить ногами, видеть глазами, думать головой. Эти практики возникли не от балды, а потому, что несут изрядные заведомые преимущества. Если архитектура системы предлагает думать задницей, то возникает вопрос - зачем? какие преимущества это даёт и чем покрывает недостатки? - причём на этот вопрос нужен убедительный ответ, причём к этому ответу стоит относиться скептически. Если архитектор при этом очевидно плохо ориентируется в вопросе, вероятность ошибочности архитектуры становится неотличима от 100% Каждый из нас видел.. неудачно спроектированные системы с такими вот крутыми фенечками (а большинство так и писали их прежде, чем набрали опыта), каждый из нас имеет опыт разгребания проблем с ними. Поэтому когда возникает очередной велосипед "нестандартного решения", либо Вы сумеете очень внятно объяснить, почему не подходят стандартные, либо же услышите иронию, сарказм и прочие советы не думать, что Вы единственный умный человек на планете.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541296
DDeath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer Извините, не но заметил не одного сообщения где я выражаюсь как будто я умнее кого то, чего не скажешь об остальных.

Я уже раз десять прошу увидеть эти паттерны , но их нет.. Каждый предлагает свою альтернативу(За что им спасибо) но никаких наработанных паттренов для решения задачи нету. Djnago в вопрос вообще не лезит т.к структурой управляю я, и видя то как многие цепляются к нему меня просто сильно радует, т.к EAV был выбран не из за Django.

А также мне не кто не дал внятного ответа чем именно плох мой подход и где могут быть подводные камни, все только и бубнят про то что это криво( А почему??? ), убивает масштабирование? (КАК??) судя по статьям про EAV ничего плохого не слышал, только поиск .. Но это решаемое с помощью ElasticSearch , Solr , Sphinx и т.д (То есть индексированием). Так где же проблема ? Даже про стеки в Oracle мне некто не мог сказать (Это те умные которые кричат что криво) хотя изначально я ждал только этого ответа(Если посмотрите на мой вопрос).

Так почему же это плохо??? Чем?? Если вы всё так хорошо знаете , объясните пожалуйста тупому или дайте ссылку хотя бы, а то то что я читал мне не помогло.

Большое спасибо.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541379
bazinga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
joiner_plusсделай два поля, одно varchar2 для коротких названий, другое clob для длинных

Код: plsql
1.
2.
3.
4.
5.
потом одень вью
[src PLSQL]
SQL> create or replace view vw_tst as select NVL(b,a) as TITLE from tst ;

View created.



теперь это вью можно подсунуть CMS

Вы осознаете, что поскольку NVL определяет тип возвращаемого значения по типу первого аргумента, то во вьюхе колонка TITLE будет иметь тип CLOB? Почему бы тогда сразу не хранить все в CLOB?

Не говоря уже о том, что все операции с CLOB'ом, предоставляемым вьюхой будут в 10 раз медленнее, есть проблема с невозможносью использования MERGE + instead of триггеры и т.п.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541557
joiner_plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazingaВы осознаете, что поскольку NVL определяет тип возвращаемого значения по типу первого аргумента, то во вьюхе колонка TITLE будет иметь тип CLOB? Почему бы тогда сразу не хранить все в CLOB?

потому, что конвертация варчара во вьюхе никак не повлияет на механизм доступа в лежащей под низом таблицу.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541643
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeathДаже про стеки в Oracle мне некто не мог сказатьЯ, честно говоря, не очень понимаю (точнее, совсем не понимаю), о каких стеках выговорите. За 3 года работы с ораклом я слышал только о стеке вызова функций, но вам надо совсем не это.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541697
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страшно представить, может автор говорит про очереди в оракле, но чуть запутался?
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541714
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockСтрашно представить, может автор говорит про очереди в оракле, но чуть запутался?Автор упоминал стек только в таком контексте:
DDeathOracle (Может и другие) создают стеки + индексы на поля типа CLOB , размер стека можно определить, тем самым он выделает количество памяти в зависимости от размера стека и их количества, а стеки создаются в зависимости от количества данных в колонке.Я тут подумал - может, он (чем черт не шутит!) про составной индекс или function-based?
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541717
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeathКаждый предлагает свою альтернативу(За что им спасибо) но никаких наработанных паттренов для решения задачи нету.

Этого верующим в паттерны и рамки хрен докажешь. А вреда от их верований дофига. Потому что в конторах которые снабжают человечество рантаймом тоже сидят люди, которые тоже хотят осчастливить человечество и в результате счастливыми становятся недоумки, а грамотные сосут. В общем итоге все ухудшается по воле недоумков. В эпикризе - электронная таблица.

Кому лень творчески мыслить тот засоряет форумы идеями о теории всего. Кому не лень, тот проектирует каждый раз новую бд и на форуме ему и рассказать о ней нечего, поскольку она ну аще не универсальная.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541718
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таким образом паттерн на бэкграунде для девелоперов рантайма формируется нытиками. И блджад для них все и делается. А вы думали откуда взялась винда без кнопки старт?
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38541971
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
joiner_plusпотому, что конвертация варчара во вьюхе никак не повлияет на механизм доступа в лежащей под низом таблицу.
И какой будет профит от этого супер механизма доступа в прикладной системе?

joiner_plusхренового понимаете. экономия varchar2 вовсе не в размере на диске ...
а в чем?
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38542571
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeath Нет, доводов я не увидел , только слова. Где ссылки на пруфы или хотя бы просто объяснить примерно почему?Ссылок не будет, новых доводов тоже. Просто попробую подъитожить
EAV очень плохо в продакшене ибо
1 Это медленно - строка собирается из частей размазанных по таблице. Чем больше полей тем дольше собирается. Поиск по нескольким полям превращается в тихий ужас. Создание параллельной структуры вне субд неизбежно поднимает вопрос о согласованности и транзакционной целостности.
2 Запросы громоздкие, стало быть ошибится легко
3 Все проверки базы данных похоронены в принципе, опечатка в названии сущности или атрибута может быть незамеченной довольно долго
4 Это нифига не более гибко, ибо создавать новые сущности и атрибуты несложно и в традиционном стиле, а править структуру при EAV СЛОЖНЕЕ, ибо никто ошибку не выдаст.
5 Попытка доступа к базе средствами отличными от вашей программы (например постоителем отчетов) неизбежно приведет к созданию вьюх на ваш EAV моделирующих обычную реляционную базу. Если же эти вьюхи материализовать и индексировать, то выигрыш в производительности должен натолкнуть на мысль - а почему бы сразу так не сделать, зачем тогда он (EAV) нужен.
6 Использование продвинутой и недешевой СУБД Oracle в качестве тупого хранилища данных напоминает стрельбу из пушки по воробьям.

В то же время для разработки макета "proof of concept" указанные недостатки не являются критичными, только надо отдавать себе отчет, что в смете должно быть время на рефакторинг кода. Если у вас нет на это времени, это проблема вашего руководителя проекта. Если же рефакторинга проведено не было, макет пошел в продакшн, не удивляйтесь глюкам, тормозам, "лучам ненависти", ярлыкам "говнокод" и т.п.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38542629
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257EAV очень плохо в продакшене ибо
0) Какой-нибудь маньяк обязательно захочет получать из неё данные в готовом эксельном виде.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38542760
DDeath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257

авторЭто медленно - строка собирается из частей размазанных по таблице. Чем больше полей тем дольше собирается. Поиск по нескольким полям превращается в тихий ужас. Создание параллельной структуры вне субд неизбежно поднимает вопрос о согласованности и транзакционной целостности.

Таблицы 3 - 4 в которых по одному - два поля, поиск нет, а вот сортировка да..

авторЗапросы громоздкие, стало быть ошибится легко

Возможно , но на данном этапе 90% запросов создаются ORM

авторВсе проверки базы данных похоронены в принципе, опечатка в названии сущности или атрибута может быть незамеченной довольно долго

Согласен, но за это отвечает код программы. А вот опечатки быть не может т.к в таблице значений хранится ссылка экземпляр Item(из которого порождаются сущности) и ссылка на атрибут (Один атрибут используется несколькими сущностями)

авторЭто нифига не более гибко, ибо создавать новые сущности и атрибуты несложно и в традиционном стиле, а править структуру при EAV СЛОЖНЕЕ, ибо никто ошибку не выдаст

Когда у вас динамические атрибуты у каждого экземпляра сущности , это удобно и гибко (ИМХО).

автор5 Попытка доступа к базе средствами отличными от вашей программы (например постоителем отчетов) неизбежно приведет к созданию вьюх на ваш EAV моделирующих обычную реляционную базу. Если же эти вьюхи материализовать и индексировать, то выигрыш в производительности должен натолкнуть на мысль - а почему бы сразу так не сделать, зачем тогда он (EAV) нужен.

Это возможно , но я готов этим пожертвовать.

авторИспользование продвинутой и недешевой СУБД Oracle в качестве тупого хранилища данных напоминает стрельбу из пушки по воробьям.

По мне так база данных она для того и сделана чтоб хранить данные?
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38542881
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeathавторИспользование продвинутой и недешевой СУБД Oracle в качестве тупого хранилища данных напоминает стрельбу из пушки по воробьям.

По мне так база данных она для того и сделана чтоб хранить данные?Во-первых, не просто хранить, а еще и с особым цинизмом не давать выстрелить себе в ногу , даже когда этого очень хочется или ПМ требует.
Во-вторых, конкретно оракл имеет некоторое непустое множество платных функций, которые позволяют делать это более эффективно, то есть, продолжая аналогию, надевают на вашу ногу бронежилет, на пистолет ставят предохранитель и т. п. Вы же делаете в точности как чукча из анекдота, который обманул таксиста (денег заплатил, а сам не поехал). Не нужны возможности оракла - возьмите постгрес, денег сэкономите...
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38542896
R7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
R7
Гость
DDeathВозможно , но на данном этапе 90% запросов создаются ORM

EAV c ORM скрестить. Буква R мешать не будет?

Интересует. У кого-нить , вообще, это получалось?
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38542901
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R7У кого-нить , вообще, это получалось?
Те, кто способен эффективно использовать EAV и те, кто использует ORM - это два
непересекающихся множества.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38543775
DDeath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
R7 Нет, т.к EAV у нас сделан на основе связей, не понимаю к чему был этот вопрос.

Items :

ID:
1
2
3
4

Attributes

ID: 1,2,3

NAME: "TITLE" , "DETAIL_TEXT" , "IMAGE"

VALUES

ID: 1,2,3

Value: "Blah blah" , "Deateil blah blah" , "images/blh.jpg"

Item: 1,1,1 - Ссылка на Item

Attribute 1,2,3 - Ссылка на атрибут

Relationship

ID: 1,2,3

Item_child: 1 , 2 , 3 - Ссылка на Item

Item_parent: 1, 1, 1 - Ссылка на Item

Quantity: 10 , 11, 31

Type: ENUM: relationship / hierarchy


Вот и вся наша архитектура.

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

Вот все об этом говорят, о мистических паттернах и т.п а назвать что слабо ? Или лишь бы ляпнуть? На подобие "Где то что то слышал"
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38543879
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeathВот все об этом говорят, о мистических паттернах и т.п а назвать что слабо ? Или лишь бы ляпнуть? На подобие "Где то что то слышал"Я говорил не о паттернах, а о компонентах СУБД. Это немного разные вещи. Какие именно компоненты вам понадобятся - я не знаю. Во-первых, хорошо бы детально знать задачу, во-вторых, хорошо бы сравнить с конкурентами, в том числе с опенсорсными. Эта задача сама по себе большая, я не собираюсь ей заниматься.

Если интересуют паттерны, могу рассказать про два антипаттерна. В один вы уже вляпались (EAV*), во второй (slow by slow) - наверняка вляпаетесь в скором времени.

*EAV, конечно, не совсем антипаттерн, но минусов у него, имхо, больше, чем плюсов.
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38543899
DDeath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rockclimber Ради интереса смотрел у Wordpress , там EAV , у битрикса(Не знаю если можно с него брать пример) тоже подобие EAV...
...
Рейтинг: 0 / 0
Oracle + таблица атрибутов
    #38547025
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeath,
а какая вообще нагрузка планируется?
Количество объектов хранения, среднее количество аттрибутов на объект, количество запросов на чтение/запись в секунду?
Ну, например, ожидаемое на январь 2015го?

А то без этого оценивать и рекомендовать сложно.
...
Рейтинг: 0 / 0
25 сообщений из 79, страница 3 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Oracle + таблица атрибутов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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