Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 27   вперед  Ctrl
 недостатки иерархических баз  [new]
недостатки иерархических
Guest
Может, кто ткнёт носом в описание недостатков иерархических баз? Поиск по форуму и по инету дал мало вразумительного.
Только не недостатки Cashe и MUMPS, а иерархических баз, как класса.
25 июн 08, 11:47    [5844473]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
VoDA
Member

Откуда: сеРверная пальмира :)
Сообщений: 4898
недостатки иерархических
Может, кто ткнёт носом в описание недостатков иерархических баз? Поиск по форуму и по инету дал мало вразумительного.
Только не недостатки Cashe и MUMPS, а иерархических баз, как класса.
Их основной недостаток именно иерархичность, т.е. реляционная логика не реализуется совсем или эмулируется. Как следствие не поддерживает SQL или эмулирует его через внутренние структуры.
Также на иерархические СУБД практически нет стандартов типа SQL-xx.

А при учете того, что иерархические структуры легко можно хранить в РСУБД и манипулировать ими через SQL, можно сказать, что большинство задач удобнее решать на РСУБД. Некоторые СУБД поддерживают расширения SQL для иерархических запросов.

Все ИМХО.
PS я рассматривал вопрос о иерархических СУБД. Сами иерархические базы можно реализовать как на иерархических СУБД, так и на РСУБД.
25 июн 08, 12:30    [5844870]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
Нормально озвучен один объективный недостаток - отсутсвие стандарта на язык доступа к данным.
обозначим его номером 1 ?
Следующие?
25 июн 08, 12:43    [5844981]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
недостатки иерархических
Может, кто ткнёт носом в описание недостатков иерархических баз? Поиск по форуму и по инету дал мало вразумительного.
Только не недостатки Cashe и MUMPS, а иерархических баз, как класса.

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

Другое дело , что тут к иерархическим пытались отнести и XML БД. Но последние все же в литературе относят к полуструктурированным, тогда как иерархические, РСУБД, ОРСУБД, ООСУБД - к структурированным. Сила типизации в классификации МД, все же, слишком важный признак для классификации МД.
25 июн 08, 12:52    [5845068]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
Favn
Member

Откуда:
Сообщений: 585
Для нереляционных СУБД следует разделять СУБД иерархической, сетевой (не путать с LAN и WAN :) ) и объектно-ориентированной модели.
Классическая иерархическая несколько устарела (лет так на 30 :) ) На сетевую модель есть стандарт - CODASYL, они тоже не первой свежести, пример реализации на x86 - Titanium. Cashe, как я понимаю, объектная, были потуги их стандартизации, насколько помню - кончились ничем. Смело можно считать объектную модель надстройкой над сетевой - механизм тот же.
Главные достоинство - максимально быстрый доступ к данным и легкость реализации данных в виде графов. На очень небольшом классе задач могут дать очень высокую производительность. Кстати, сетевые структуры в реляционных БД реализуются таки весьма затратно, и те же задачи требуют гораздо более мощного железа.
Недостатки, на вскидку:
1. Отсутствует декларативный язык запросов (SQL). Логику работы с данными приходится реализовывать в программах => она неизменна и почти не масштабируется.
2. Следствие - при изменении БД надо менять программы, для эффективной работы необходимы хорошие программисты :), т.к. языки процедурные.
3. Еще следствие - процедурный запрос почти не параллелится => никакая масштабируемость.
4. В тех СУБД, где внешний SQL есть (Cache, Titanium) - он скуден, требуется ручное сложное проектирование отображения родной сетевой структуры в реляционную. Плохие оптимизаторы SQL.

Еще одним (современным) вариантом иерархических (но не сетевых) СУБД можно смело считать XML СУБД. У них как раз есть декларативный язык запросов XQuery/XPath, но весьма специфическая модель данных. Как XML DBMS могут выступать и некоторые РСУБД, например DB2 и Oracle.
25 июн 08, 13:14    [5845265]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
Favn
Member

Откуда:
Сообщений: 585
vadiminfo
[По факту развития СУБД иерархичечских БД относят к первому поколению, а РСУБД ко второму.
Другое дело , что тут к иерархическим пытались отнести и XML БД. Но последние все же в литературе относят к полуструктурированным. Сила типизации в классификации МД, все же, слишком важный признак для классификации МД.
Я бы все-таки ко 2-му поколению отнес сетевые (CODASYL) СУБД, а РСУБД - к 3-му.
XML ДБ является полуструктурированной только для не типизированных документов. Если СУБД знает схему XML документов и использует ее при парсинге и хранении, БД вполне типизирована и является иерархической по организации данных и методу навигации по ним. Но, согласен, эта модель вестьма отличается от иерархической "классики" и заслуживет отдельного рассмотрения.
25 июн 08, 13:23    [5845347]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
1) Отсутсвие стандарта на язык доступа к данным.
2) императивный, навигационный язык БД.
3) при изменении БД надо менять программы
4) запрос (к данным) не параллелится

Ещё?
25 июн 08, 13:30    [5845410]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
не хочу подымать флейм никоим образом, лучше бы здесь вообще избежать дискуссии, ограничившись перечислением недостатков.
Но пункт 3) - разве он не присущ реляционным базам данных? Разве при изменении логической структуры базы данных не надо менять приложения?
25 июн 08, 13:32    [5845420]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Favn
Я бы все-таки ко 2-му поколению отнес сетевые (CODASYL) СУБД, а РСУБД - к 3-му.
XML ДБ является полуструктурированной только для не типизированных документов. Если СУБД знает схему XML документов и использует ее при парсинге и хранении, БД вполне типизирована и является иерархической по организации данных и методу навигации по ним. Но, согласен, эта модель вестьма отличается от иерархической "классики" и заслуживет отдельного рассмотрения.

Ну, когда я говорил относят к первому и вторму поколению, я имел в виду в литературе по БД. Т.е. читал просто ранее. А так это уже зависит от того по каким признакам классифицировать. Моно например, иерархические считать частным видом сетевых.
По XML - принципиально важно, что изменение струтуры не есть модификация БД в отличии от струтурированных. Т.е. если поменять структуру в РБД, то строго говоря это уже другая БД не совсем равная прежней, а XML БД, может быть, будет все та же БД. Это существенно для выразительности МД и сложности извлекать требуемую инфу. А может или нет извлеч всю выгоду от этого и снизить недостатки конкретная СУБД это уже второй вопрос.
25 июн 08, 13:42    [5845503]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
Yo.!
Guest
недостатки иерархических
не хочу подымать флейм никоим образом, лучше бы здесь вообще избежать дискуссии, ограничившись перечислением недостатков.
Но пункт 3) - разве он не присущ реляционным базам данных? Разве при изменении логической структуры базы данных не надо менять приложения?

нет, нет нужно. клиент не заметит если вместо таблицы появится вью, вместо вью материализед вью, если таблицу разабьют на партиции или ораганизуют Index Organized Table. в иерархических же структура хранения привязана к клиенту.
еще один пункт я бы записал оптимизатор РСУБД, по сути в иерархических субд приходится самостоятельно изобретать низкоуровневые методы доступа к данным и зашивать их в ручную намертво в приложение. в РСУБД же cost-based оптимизатор самостоятельно построит оптимальный план основываясь на статистике.
25 июн 08, 13:44    [5845512]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
недостатки иерархических
не хочу подымать флейм никоим образом, лучше бы здесь вообще избежать дискуссии, ограничившись перечислением недостатков.
Но пункт 3) - разве он не присущ реляционным базам данных? Разве при изменении логической структуры базы данных не надо менять приложения?

Присущь в меньшей степени. В РМД есть оьбъект БД, называемый Представление, сохраненный декларативный запрос. Прога использует его имя. Вы можете менять структуру БД, таблы и править это представление. И может оказаться что прогу менять не надо совсем.
25 июн 08, 13:46    [5845528]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
1) Отсутсвие стандарта на язык доступа к данным.
2) императивный, навигационный язык БД.
3) структура хранения привязана к клиенту, что приводит к более тяжёлому (по сравнению с RDBMS) изменению стурктуры базы.
4) запрос (к данным) не параллелится
5) Отстутсвие оптимизатора, что приводит к программированию в клиентах низкоуровневых методов доступа. Что тоже не облегчает изменение структуры данных.

Правильно?
Ещё?

Вот про Представление, Сохранённыё декларативный запрос, etc - не очень.... Это подразумевает, что ничего похожего на view в иерархических базах нет. А ведь оно невзначай может и быть в какой-либо иерархической базе. Хотя, для полноты картины, можно и включить. Но сформулировать надо более обще, более нагляднее. Есть варианты?
25 июн 08, 14:01    [5845688]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
недостатки иерархических
1) Отсутсвие стандарта на язык доступа к данным.
2) императивный, навигационный язык БД.
3) при изменении БД надо менять программы
4) запрос (к данным) не параллелится

Ещё?

пункт 4) что-то в лит-ре в явном виде как-то не не встречал. Может зависеть от реализации. Другое дело, что в общем случае можно предположить существование машин с ассоциативной памятью, а не адресной. Были такие задумки - книжка аж 80-х есть про это. И машины называли машины баз данных. Там, наверное, РМД могла использовать преимущество ассоциативности.
Мож пункт 4) пока отнести к нуждающимся в дополнительных уточнения?
25 июн 08, 14:02    [5845693]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
опять мне пункт 3) не нравиться...
А вы уверены, что структура хранения привязана к клиенту?
Я же просил, без оглядок на cashe/mumps, а о иерархических базах, как классе. Он же шире, чем mumps.
25 июн 08, 14:02    [5845704]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
vadiminfo - я с вами полностью согласен, думал, как сформулировать претензию к этому пункту.
Для верности, я его уберу, до тех пор, пока не выяснится, что это таки правда. Ну не верю я в такие утверждения - тогда уж нужно сформулировать, что мы понимаем под паралеллизмом. А то невнятно как-то.
Итого, на текущий момент

1) Отсутсвие стандарта на язык доступа к данным.
2) императивный, навигационный язык БД.
3) более тяжёлые (по сравнению с RDBMS) последствия, при изменении стурктуры базы.
4) Отстутсвие оптимизатора, что приводит к программированию в клиентах низкоуровневых методов доступа. Что тоже не облегчает изменение структуры данных.

Пунк 3 изменил.
Или таки структуры хранения привязаны к данным?
25 июн 08, 14:07    [5845769]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
Может, кто знает ссылку на полемику Кода с сторонниками иерархических/сетевых баз?
Наверняка аргументы были сильны...
25 июн 08, 14:09    [5845781]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
недостатки иерархических

Вот про Представление, Сохранённыё декларативный запрос, etc - не очень.... Это подразумевает, что ничего похожего на view в иерархических базах нет. А ведь оно невзначай может и быть в какой-либо иерархической базе. Хотя, для полноты картины, можно и включить. Но сформулировать надо более обще, более нагляднее. Есть варианты?

Но там же используется свойство декларативности языка БД. Т.е. там написан текст запроса, в котором грится что нуно, но не говорится как, и который хранится в БД. А иерархической что они будут сохранять? кусок кода? Который к тому же в приложении? Будут сохранять его в БД? Если таких много, то скорей всего они хде-то забьют на это. Так или иначе обеспечить такую же независимость сложнее. А потом будут этот код править? Затрат на снижение зависимости больше, что означет так или иначе опять большую зависимость.
По любому, это в общем известный в лит-ре недостаток. Вряд ли мы его здесь отменим.
25 июн 08, 14:14    [5845833]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
_мод
Guest
недостатки иерархических
Может, кто ткнёт носом в описание недостатков иерархических баз?

Классическая ИСУБД - это IMS. Но фокус в том, что IMS позволяет строить сетевые БД, что на практике и используется . В чистом виде иерархические БД не используются, т.к. у них грубо говоря только один индекс на таблицу (типа ISAM). Это и есть главный и единственный недостаток.
25 июн 08, 14:14    [5845839]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
vadiminfo - немного не так.
Вот _mod упоминает IMS. Так там таки есть PCB (Program Communication Block, если не вру, совокупность многих PCB объеденина в PSB, который полностью определяет, что приложение может видеть, и что делать с тем, что видит), который, в том числе, и выполняет роль пробраза view, предоставляя приложению его укникальный вид на данные, причём этот вид не обязан соответсвовать физической организации данных, и прочее, и прочее.
Но там ведь, в этом IMS, есть и DL/I, язык доступа к данным, пробраз SQL, который отделён от приложений полностью, само собой, отдлена и физическая структура данных от приложений. более того, DL/I с его SSA (Segment Search Argument) имеет явно выраженные декларативные задатки.
Другое дело, что DL/I - не стандарт, и существует только в IMS. Это объектывный аргумент 1)

А если сформулируем так

1) Отсутсвие стандарта на язык доступа к данным.
2) императивный, навигационный язык БД.
3) более тяжёлые (по сравнению с RDBMS) последствия, при изменении стурктуры базы.
4) Отстутсвие оптимизатора, что приводит к программированию в клиентах низкоуровневых методов доступа. Что тоже не облегчает изменение структуры данных.
5) Отсутсвует возможность сохранять результат запроса.

Что-то пункт 5) притянут за уши.
Может, уточнить его, или проще выкинуть?
25 июн 08, 14:37    [5846060]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
_mod - вы немного противоречите.

Позволяет строить сетевые можели - это да, но каждое приложение в каждый момент работает только с иерархией, и ничего не знает о сети - в PCB задаётся именно иерархия. Каждый запрос к данным выполняется только с одним PCB.
А "грубо говоря один индекс на таблицу" - не смешно. Ещё VSAM позволял и позволяет несколько AIX (Alternative IndeX). Посмотрите на VSAM cluster и VSAM Sphere.
А ведь это даже не база данных.
25 июн 08, 14:40    [5846103]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
1) Отсутсвие стандарта на язык доступа к данным.
2) императивный, навигационный язык БД.
3) более тяжёлые (по сравнению с RDBMS) последствия, при изменении стурктуры базы.
4) Отстутсвие оптимизатора, что приводит к программированию в клиентах низкоуровневых методов доступа. Что тоже не облегчает изменение структуры данных.
5) Нет возможности имлементировать бизнес логику в базе данных


Как вам такая редакция 5) пункта?
Ведь сохранённый результат запроса, и хранимые процедуры - мне кажется, это всё есть суть реализации бизнес логики.
Нет? Ошибаюсь?
25 июн 08, 14:43    [5846130]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
недостатки иерархических
vadiminfo - немного не так.
Вот _mod упоминает IMS. Так там таки есть PCB (Program Communication Block, если не вру, совокупность многих PCB объеденина в PSB, который полностью определяет, что приложение может видеть, и что делать с тем, что видит), который, в том числе, и выполняет роль пробраза view, предоставляя приложению его укникальный вид на данные, причём этот вид не обязан соответсвовать физической организации данных, и прочее, и прочее.
Но там ведь, в этом IMS, есть и DL/I, язык доступа к данным, пробраз SQL, который отделён от приложений полностью, само собой, отдлена и физическая структура данных от приложений. более того, DL/I с его SSA (Segment Search Argument) имеет явно выраженные декларативные задатки.
Другое дело, что DL/I - не стандарт, и существует только в IMS. Это объектывный аргумент 1)

А если сформулируем так

1) Отсутсвие стандарта на язык доступа к данным.
2) императивный, навигационный язык БД.
3) более тяжёлые (по сравнению с RDBMS) последствия, при изменении стурктуры базы.
4) Отстутсвие оптимизатора, что приводит к программированию в клиентах низкоуровневых методов доступа. Что тоже не облегчает изменение структуры данных.
5) Отсутсвует возможность сохранять результат запроса.

Что-то пункт 5) притянут за уши.
Может, уточнить его, или проще выкинуть?

Речь идет именно о степени зависимости приложений от данных, а не о полной зависмости в иерархических или отсутсвии таковой в реляционных. В РСУБД она оценивается как меньшая. По-моему, пп 3) в Вашей формулировки хуже, потому что не понятно в каком смысле они "более тяжелые" - не ясно что именно имеется в виду. Да и "тяжесть изменения структуры" отражает в общем случае не обязательно тока аспекты переделки прог.
Может оказаться связанным с чем-то и похуже: с траблами с самой БД, ЖЗЦ ИС в целом. Тот пункт был намного точнее.
25 июн 08, 15:01    [5846340]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
недостатки иерархических
Guest
vadiminfo - сформулируйте, пожалуйста, пункт 3)
25 июн 08, 15:16    [5846486]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
недостатки иерархических
vadiminfo - сформулируйте, пожалуйста, пункт 3)

Большая зависимость приложений от данных в иерахических МД по сравнению с РМД.
Но, возможно, не по сравнению, например, ООМД, поскольку, читал, что и у них Представления тоже вроде как отсутсвуют.
Это вообще скорее одно из достоинств ИС использующих РБД.

Пп 4) - как бы нуждается в уточнениях.
пп 5) - не понял о каком сохранении результатов запросов идет речь.
25 июн 08, 15:32    [5846654]     Ответить | Цитировать Сообщить модератору
 Re: недостатки иерархических баз  [new]
Favn
Member

Откуда:
Сообщений: 585
vadiminfo
По XML - принципиально важно, что изменение струтуры не есть модификация БД в отличии от струтурированных. Т.е. если поменять структуру в РБД, то строго говоря это уже другая БД не совсем равная прежней, а XML БД, может быть, будет все та же БД.
Если однотипные документы XML формализованы схемамой, то она как раз описывают структуру документов, включая типы полей. Это используется при хранении и обработке. И схемы задают структуру БД, и изменение схемы может сделать документы невалидными.
vadiminfo
"4) запрос (к данным) не параллелится"
пункт 4) что-то в лит-ре в явном виде как-то не не встречал.
Логически вытекает из процедурности извлечения данных - грубо говоря, зашитые в программу циклы сервер не разобъет по разным потокам. Думаю, что во времена расцвета CODASYL это не было особо актуально, поэтому и нет в литературе. :)
25 июн 08, 15:48    [5846804]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 27   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить