|
|
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
день добрый. Сижу думаю как хранить данные по контрагентам. И что то кажется, что реквизиты можно сунуть в XML, что бы потом можно было легко добавить недостающее. Прошу общественность высказаться за и против такого подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 14:21 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Или скажем такие данные которые будут дергаться ну очень редко. И вообще стоит ли связываться с XML полями. Пока что никаких за и против не встретил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 14:25 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
А сколько против встретил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 15:26 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
пока только встретил что "XML не потому необходимо, а только потому что "ЗА НАДОМ"" типа если принципиально-технически не требуется то и нафиг не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 15:58 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Гуэст_день добрый. Сижу думаю как хранить данные по контрагентам. И что то кажется, что реквизиты можно сунуть в XML, что бы потом можно было легко добавить недостающее. Прошу общественность высказаться за и против такого подхода. Или скажем такие данные которые будут дергаться ну очень редко. И вообще стоит ли связываться с XML полями. Пока что никаких за и против не встретил. Хранить в XML реквизиты по контрагентам - вредно для душевного здоровья. Рано или поздно, всегда появиться необходимость искать по этим реквизитам (даже если сейчас заказчик уверяет в обратном). Рано или поздно, появится необходимость манипулирования данными из реквизитов: обновить некоторые из них по определенной логике. Указанные варианты сами по себе не страшны: для поиска можно прикрутить мощный движок сбоку БД и кормить его данными из XML; а для модификации данных в XML использовать встроенный функционал БД или внешнюю утилиту, которая последовательно обработает все записи. Но: - большие объемы данных XML - "кривая" реализация работы с XML встроенного функционала БД - в сочетании с ограниченным по времени технологическим окном - бурной фантазией заказчика о новой бизнес логике нарушат ваше душевное спокойствие :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 18:05 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
KostoУказанные варианты сами по себе не страшны: для поиска можно прикрутить мощный движок сбоку БД и кормить его данными из XML; а для модификации данных в XML использовать встроенный функционал БД или внешнюю утилиту, которая последовательно обработает все записи. у вас устаревшие данные. DB2 маппит XML документ внутренние таблицы и работа внутри с ним ничем не отличается для обычных таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 01:27 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Зачем в реляционной БД нужно организовывать хранение данных в виде XML? Извлечь в виде XML полезно (что является стандартной фичей например в Oracle). Но хранить то зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 06:12 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
В связи с чем возник вопрос: У контрагента может быть скажем 4-5 телефонов, несколько электронных адресов и так далее. разводить в таблице кашу из 4-5 полей по каждому свойству как то не хочется, как и выносить каждое свойство в отдельную таблицу. Так же не хочется сползать EAV реализации данного вопроса. Если кто подскажет какой нибудь выход из этой ситуации, буду благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 15:49 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Гуэст_, в вашем случае имхо EAV будет то что надо, вот еслиб у вас был например некий workflow и вам нужно было бы хранить данные контрагента между этапами обработки то xml было бы самое то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 15:53 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
В том то и беда, сроки, сроки и еще раз сроки. Проект проморозили на уровне счета денег, а когда выдали ТЗ на разработку оказалось что нужно было еще вчера. Это первая причина. Вторая в том, что почитав и прочитав, даже поиграв с такой системой уяснил для себя, что этот вид реализации для таких случаев действительно плох, очень плох. Тормоза на выборках и апдэйтах такие что в пору переписывать БД. Не говорите про индексы, оптимизацию и железо. Конечному заказчику до этих вопросов никакого дела нет. Для него важна стоимость и функционал. Третья причина это лень. Писать запросы к такой системе сравнимо с дерганьем волос на заднице. Да и интерфейц требуется не "вертикальный" а понятный, модульный, т.е. если это название котрагента, то оно идет одним полем и одной строкой, а не просто вываливанием списка свойств объекта где ID = 101. Вот такие соображения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 16:26 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Гуэст_У контрагента может быть скажем 4-5 телефонов, несколько электронных адресов и так далее. разводить в таблице кашу из 4-5 полей по каждому свойству как то не хочется, как и выносить каждое свойство в отдельную таблицу. Так же не хочется сползать EAV реализации данного вопроса. Если кто подскажет какой нибудь выход из этой ситуации, буду благодарен.Так не сползайте к EAV. Делайте отдельные таблицы для телефонов, адресов и т.д., или введите сужность "контакт" с "типом контакта". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 17:50 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
alexeyvgТак не сползайте к EAV. Делайте отдельные таблицы для телефонов, адресов и т.д., или введите сущность "контакт" с "типом контакта" .Это начало сползания к EAV ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 18:14 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Гуэст_В том то и беда, сроки, сроки и еще раз сроки. Проект проморозили на уровне счета денег, а когда выдали ТЗ на разработку оказалось что нужно было еще вчера. Это первая причина. Писать запросы к такой системе сравнимо с дерганьем волос на заднице. Да и интерфейц требуется не "вертикальный" а понятный, модульный, т.е. если это название котрагента, то оно идет одним полем и одной строкой, а не просто вываливанием списка свойств объекта где ID = 101. Вот такие соображения. Используйте XDB. На XDB надевается view, и связывайте свои xml данные с реляционными таблицами или объектами сколько угодно. Через XSD легко организуются многозначные атрибуты. Мапинг позволит организовать физическую модель данных без лишних хлопот. XML индексы надо построить по view и структуре запросов. Схему можно наращивать. Cмотри http://sql.ru/forum/actualthread.aspx?tid=713110 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2009, 14:18 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Гуэст_ пишет: > Сижу думаю как хранить данные по контрагентам. И что то кажется, что > реквизиты можно сунуть в XML, что бы потом можно было легко добавить > недостающее. Прошу общественность высказаться за и против такого подхода. Я не понимаю, зачем останавливаться на пол-пути ? Засунь вообще всю БД в одно поле типа XML ! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2009, 16:12 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Кстати, да. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2009, 16:18 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Гуэст_, нормальное решение. но нужно понимать чем оно черевато. как уже сказали DB2 хорошо с xml работает. поиск и отбор можно мутить с использованием xpath короче, если бд предоставляет сервисы облегчающие работу с xml, то можно попробовть, если нет, то скорее всего не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2009, 20:27 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Гуэст_У контрагента может быть скажем 4-5 телефонов, несколько электронных адресов и так далее. разводить в таблице кашу из 4-5 полей по каждому свойству как то не хочется, как и выносить каждое свойство в отдельную таблицу. если выносить в отдельные сущности не хочется, то почему бы не хранить в одном поле список с разделителями?: 11111;2222; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2009, 22:25 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Роман Дынник, есть понятие - многозначные атрибуты. В XSD они объявляются complextype. Создавайте элемент данного типа и реализуйте многозначность атрибутов. Но для этого надо использовать модель object relation store, которая связана с XSD или DTD. А это пока есть только в Oracle и DB2. Может и другие реляционки подтянутся. В нашем Linter могли бы лет 10 назад такое реализовать, но не стали технологию Невод тащить в ядро СУБД (модель надо было только подправить) , а ведущие игроки надумали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2009, 18:21 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
не нужно городить xml type, там где без него можно обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2009, 18:27 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Роман Дынникне нужно городить xml type, там где без него можно обойтись. Не нужно в XML хранить, его надо парсить и хранить в объектно-реляционной структуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2009, 17:50 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
Alexander_111Не нужно в XML хранить, его надо парсить и хранить в объектно-реляционной структуре.Не нужно делать категорических заявлений :) Такой подход - источник большой головной боли. Если РСУБД поддерживает нативное хранение XML (а нативнее всего он сейчас в DB2, там под него отдельный движок и storage с бинарным хранением), можно смело использовать хорошо типизированные документы и XQuery с XML-индексами для манипуляций. То есть все, включенное в SQL:2006. Для сложных иерархических структур весьма полезно. Если этого в РСУБД нет - XML для хранения лучше не использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 14:59 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
FavnЕсли РСУБД поддерживает нативное хранение XML (а нативнее всего он сейчас в DB2, там под него отдельный движок и storage с бинарным хранением), можно смело использовать хорошо типизированные документы и XQuery с XML-индексами для манипуляций.Что, и не будет потерь в произвордительности (или хотя бы потери не больше сем в 10 раз)? Интересно, IBM для достижения побед в TPC-C уже делает чемпионские заходы на этом новом движке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:15 |
|
||
|
XML поля для хранения данных
|
|||
|---|---|---|---|
|
#18+
alexeyvgЧто, и не будет потерь в произвордительности (или хотя бы потери не больше сем в 10 раз)?Странный вопрос. В обработке именно сложного XML по сравнению с маппингом в таблицы и тем более с хранением в CLOB конечно будет серьезный выигрыш, т.к. уже сохраненные XML лежат в бинарных иерархиях с индексами и XQuery работает именно с ними. alexeyvgИнтересно, IBM для достижения побед в TPC-C уже делает чемпионские заходы на этом новом движке?Простите, но это бред. Любопытно, какую связь Вы увидели между XML полями и TPC, который о них ничего не знает. Реляционный движок занимается таблицами через SQL, XMLный - иерархиями XML через XQuery. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2009, 15:27 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1542940]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 493ms |

| 0 / 0 |
