Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
 Re: Задачи для объектно-ориентированных СУБД.  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
mv
По-моему, ООСУБД годятся для чего угодно.
Язык ассемблера, скажем, тоже годится для чего угодно.
mv
Если бы им скорость формирования коллекций по условию, соизмеримую со временем выполнения соотв. SQL-запросов, да средства навигации по объектному пространству (OQL/OCL и т.п.), да прозрачное отображение объектов языка программирования на объекты сервера - то ничего другого и нафик не нужно. А еще бы реализацию исполнения методов объектов - на сервере. Чтобы не уродоваться с ХП, триггерами и т.п.
Индексацию атрибутов объектов еще. Чтобы быстро получить именно то, что нужно. Для повышения скорости доступа к часто используемым коллекциям.
И сборку мусора - "правильную", чтобы "вдовые" объекты не подвисали, и клиенты не тормозились. И многопоточность. И репликацию объектов. И синхронизацию "копия объекта на клиенте" -> "объект на сервере" -> "другие копии объкта на других клиентах" прозрачную. Чтобы даже контролы отображения понимали, что данные изменились - и что нужно не "4", а "5" отображать.
Э... про необходимость развитого механизма запросов я уже говорил, так...
Механизм авторизации доступа на уровне владельца объекта и группы его пользователей (м.б. раздельно - к атрибутам и методам).
Механизмы блокировок. Разные - по настроению/желанию.
И восстановление после сбоев. Т.е механизмы репликации, резервного копирования и журнализации.
И много чего еще. Но самое главное - это "...прозрачное отображение объектов языка программирования на объекты сервера..." и скорость выполнения запросов. Тогда скорость разработки будет колоссальной (ООП!), и система тормозить не будет.

Говоря иными словами, если бы у бабушки был #^@, это была бы не бабушка, а дедушка.
mv
А если уж ты такой искалеченный, что без табличек жить не можешь - юзай коллекции. Ах, да - там же поддержки SQL нету...
Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты.
Ну, зачем же переходить на личности. Вы скопом обвиняете практически 90% IT специалистов в "искалеченности"? То есть все идут не в ногу, а один Вася в ногу? Может, действительно что-то "в консерватории подправить" :)
Что ж вы так злитесь то? Юпитер сердится, значит он неправ.
И еще. Помните фразу "если с нами Бог, то кто же с ними?". Так вот. Если за нами наука и практика, то что же за вами?
22 июн 05, 07:13    [1638543]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
vadiminfo
Member

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

Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты.


Реляционным не пришлось ждать вымирания поколений, взращенных на дореляционных моделях. Вот в чем заковыка таких предположений. Тогдашним продвинутым энтузиастам повезло больше. Либо они попродвинутее были нынешних, либо сама РМД все еще попродвинутее ООП, механически перенесенного на БД. Т.е. взяли просто данные своих прог и попытались сделать их БД, ну что-то прицепили от дореляционных. Этого, возможно, принципиально не достаточно с одной стороны, так как они могли унаследовать дореляционные черты - начали почти с чистого листа. Внешним признаком этого остается, то что многие бедные энтузиасты все еще могут претендовать налабать свои ООСУБД, у которых нет недостатков уже существующих. А ведь им уже 15 лет. Там видно полно всякого рода, и всегда есть место более продвинутым энтузиастам. С другой стороны есть, возможность перенести ОО рациональное зерно в РМД. Тем самым не возвращаться к устаревшим 30 лет назад идеям. И придется ждать вымирания еще нескольких поколений. А так как все не стоит на месте, может отмереть сама ООУБД, останутся тока энтузиасты, хотя и якобы продвинутые. Часто это просто бывшиее ООП кодеры из других проблемных областей, не связанных с приложениями БД, либо реальные базисты желающие создать свое СУБД. Но есть пока тока одно направление, относительно легкое, и где можно найти потребителей - тех самых ООП кодеров. Конечно, есть посложнее - СУБЗ. Но там реальные специ (а не просто продвинутые энтузиасты) уже долго никак ничего не могут реально продвинуть. Хотя я думаю их время еще придет.
Так что тут много неясного еще про то, кто вымрет и что будет.
22 июн 05, 10:19    [1638888]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
mv
Складывается впечатление, что ООП для Вас это не средство, а цель. По принципу "Что знаю, то и хочу везде и всегда". Мечты хорошо, однако где гарантия, что даже если они исполнятся, ООСУБД будут действительно удобнее чем РСУБД ? Идеалы и стандарты могут быть только в планах, при реализации продукта все равно идеалы и стандарты будут нарушены в силу изменения внешних условий, наложения ограничений текущей среды (ОС, используемое для разработки ПО и т.д.) или же непредвиденных обстоятельств.

Но самое главное - открою Вам секрет. Все что Вы хотите видеть в ООСУБД - ЕСТЬ В РСУБД !!! Причем не первый год, все отлажено, надежно и постоянно совершенствуется. И чтобы этим воспользоваться не нужно ждать чуда, мечтать и кидаться из стороны в сторону. Нужно всего лишь кое что подкрутить в голове, научиться мыслить в разных измерениях, для разных технологий, уйти от однобокости в мышлении. И настанет счастье - окажется, что непонятный SQL на самом деле понятный, краткий и очень мощный. Окажется, что ООП это не процедурные C, Java или ObjectPascal, кои являются всего лишь частной реализацией, а всего лишь один из способов описания данных, так же как и релляционная алгебра. При хорошем знании и того и другого окажется, что все 3 принципа ООП ложаться на РСУБД, если смотреть именно на принципы, а не привычные описания классов и манипуляции обьектами в процедурных языках.

Но для всего этого нужно стать этаким "буддистом" и научиться вместо отрицания чуждых, противоречащих собственной, религий, добиваться их понимания, осмысливания и принятия, помня, что на самом деле даже все разное - это часть одного общего, просто находящееся в другом измерении. Таким образом можно будет добиться разносторонних знаний, то есть стать действительно ценным специалистом, который в зависимости от ситуации может предложить достаточно широкий спектр решений, частенько удачно комбинируя касалось бы противоречащие друг другу алгоритмы из разных "измерений".
22 июн 05, 10:42    [1638984]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Все знали, что OS/2 лучше Windows, но где она теперь?
Это я о чем? А о том, что технические преимущества и недостатки вовсе не являются главными критериями, определяющими популярность и обеспечивающими процветание тех либо иных систем. И если завтра кто-то из большой тройки вдруг решит, что пришло время ООСУБД, то не пройдет и года, как все на них перейдут (заметьте, почти без всяких колебаний). А если не решит, то все также уверенно будут говорить о преимуществах РСУБД.

C'est la vie.
22 июн 05, 10:57    [1639055]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
shuklin

...
Итак, чтобы продемонстрировать достоинства ООБД надо найти задачу, модель предметной области является сетью и / или требует наследования и полиморфизма. (Кстати версант не может продемонстрировать такие преимущества, так как они сами и признались, методы у объектов в БД не поддерживаются, тогда одного из удобнейших возможностей ОО - полиморфизма в FastObjects нет, мне странно, как можно не поддерживать полиморфизм в .NET Возможно Алексей что то напутал или недообъяснил и полиморфизм таки есть )
...


В ООСУБД Versant коды методов не хранятся в самой БД - они являются частью кода приложения, которое с этой базой работает. Разумеется, в рамках .NET-платформы можно организовать и хранение этих кодов в самой БД (например, в blob-атрибутах), но на практике это крайне редко может быть нужно. Возможно это нужно в нейронных сетях. Но вот в CAD/CAM и пр. - вряд ли. И даже когда это нужно, в крайнем случае достаточно ввести хранение методов применяемых к классам объектов, но не к каждому объекту индивидуально, как в вашей системе.
22 июн 05, 11:04    [1639094]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
shuklin

Спасибо за ответ, хотя и не на мой вопрос! Его формулировка действительно допускала ваш ответ, но мне интересно не это.

Я полностью согласен с вашим ответом вплоть до строк
Однако возможность нарушать 1NF - хранить в одном атрибуте объекта список значений из этих ID позволяет реализовывать коллекции объектов использующих метод прямой навигации (что в РБД уже затруднительно, так как отношения один ко многими или составной ключ - это уже не один а несколько операций поиска по индексам, к тому же прямая навигация в таком случае ИМХО удобнее JOIN ).

Это, на мой взгляд, не совсем верно с точки зрения решения задачи в рамках модели данных. Так как это все-таки вопрос физической реализации.

Постараюсь уточнить вопрос. Мне хотелось бы увидеть модель на UML реализация которой родными средствами РБД была бы не эффективна. Под родными средствами я понимаю ее реализация в виде R-схемы (или прямо SQL DDL&DML).
При этом я думаю что можно утверждать что такая модель будет существовать (с некоторыми оговорками) и при этом все ее отношения будут приводимы к 3НФ.

PS> к стати, вы первый кто вспомнил о том что в РБД "плохо" с динамическим полиморфизмом и я с этим полностью согласен
22 июн 05, 11:17    [1639181]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
funikovyuri
PS> кстати, вы первый кто вспомнил о том что в РБД "плохо" с динамическим полиморфизмом и я с этим полностью согласен
Вот это очень интересный аспект на мой взгляд... Если уж брать РМД, то там нет никаких проблем с динамическим полиморфизмом. Достаточно сказать что-то вроде

R := R EXTEND ADD ('A' AS A);

чтобы у relvar R появился новый атрибут. Или

R := R {ALL BUT A};

чтобы убрать соответствующий атрибут. То есть мы можем легко и непринуждённо преобразовать одно отношение в совсем-совсем другое, используя алгебру. Такое возможно в обсуждаемых тут системах?

Другое дело, что если предположить, что R - "базовое" отношение и содержит большое количество кортежей, то такая операция при реализации окажется очень ресурсозатратной. Может оказаться таковой (зависит от реализации). Но ведь, насколько я понимаю, в обсуждаемых здесь системах всё то же самое. Обновление спецификации класса, количество экземпляров которого в базе исчисляется миллионами, тоже очень затратным делом...
22 июн 05, 11:43    [1639352]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
Уважемый Павел, мы не про ниследование и отношение "is a" говорим, а про динамический полиморфизм. Это, если грубо, поведение, а не структура.

Но, забегая вперед, скажу что у РМД с ним действительно проблем нет - это проблемы конкретных продуктов (всех)
22 июн 05, 11:48    [1639382]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
Павел,

дело еще и в том, что РМД - это модель, позволяющая формально описать данные. ОМД - кроме этого позволяет описывать поведение (на мой взгляд, это чуть ли не единственное отличие)
22 июн 05, 11:51    [1639408]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
funikovyuri
Уважемый Павел, мы не про ниследование и отношение "is a" говорим, а про динамический полиморфизм. Это, если грубо, поведение, а не структура.

Но, забегая вперед, скажу что у РМД с ним действительно проблем нет - это проблемы конкретных продуктов (всех)
Тогда о чём это, уважаемый Юрий? Мне хотелось бы понять каким боком полиморфизм (да ещё и динамический) относится к поведению? Не корысти ради, а просвещения для...
22 июн 05, 11:53    [1639420]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
Да и еще - насчет ресурсоемкости... IMHO изменение описания схемы/описания классов это операции которые в большинстве случаев делаются редко и не на рабочей системе. Так что их ресурсоемкость - это дело второе
22 июн 05, 11:54    [1639423]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
Павел Воронцов

class Parent{
public void printName() {
System.out.println("parent");
}
}

class Child extends Parent{
public void printName() {
System.out.println("child");
}

public static void main(String[] args) {
Parent obj = new Child();
obj.printName();
}
}

...
java Child
...

> child


Реализация динамического полиморфизм в C++, java, C# основана на механизме виртуальных функций.
22 июн 05, 11:59    [1639457]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
funikovyuri
.... skip ....
Реализация динамического полиморфизм в C++, java, C# основана на механизме виртуальных функций.
Тут я тоже не вижу никаких проблем ни в РМД ни в современных СУБД. Хоть заперееопределяйся.
22 июн 05, 12:26    [1639619]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
Павел Воронцов

Что именно имеется в виду? (сразу скажу что я о возможностях SQL и его "Procedural extension")
22 июн 05, 12:30    [1639638]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
funikovyuri

Поскольку мы имеем дело с СУБД, задача которой - хранение, манипуляция и целостность данных, единственные существенные действия - добавление/изменение/удаление записи. И тут простор - от констрейнтов до триггеров. Проблемы конечно есть, но общая идея ясна.
22 июн 05, 12:53    [1639770]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
А, вот вы о чем. Я говорил про другие операции (не CRUD). Что касается же их, то Create - в ОО-языках обычно не полеморфен (т.е. это не виртальная функция), а так да - с CRUD в РСУБД все вроде нормально
22 июн 05, 13:07    [1639841]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
А другие операции в СУБД и не нужны. Всё остальное к логике хранения, манипулирования и целостности данных отношения не имеет.
22 июн 05, 13:13    [1639874]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
Павел Воронцов

Павел, вы же сами любите говорить, что современная СУБД это не только данные + ограничения целостности... Хотя да, это относится к требованиям к процедурным расширениям, а не к РБД как таковой. Но, если не придираться, то хранимые процедуры сейчас неотъемлемая часть СУБД
22 июн 05, 13:23    [1639918]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
mv
По-моему, ООСУБД годятся для чего угодно....


Абсолютно и полностью согласен со всеми тезисами. Чтобы их воплотить в жизнь - нада работать )) Движемся потихоньку.
22 июн 05, 14:28    [1640356]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
с127
Нельзя получить последовательность натуральных чисел заранее неизвестной длины.


К слову. С точки зрения чистых теоретиков, эта задача не решаема обычным компом в принципе (Хотя абстрактной машиной Тьюринга - решаема). См. докозательство Клини. (Идея - как представить число с размерами битового образа превышающими суммарный объем RAM & HD ?)
22 июн 05, 14:31    [1640377]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
guest_20040621
Только зачем это Вам, если Вы уже выбрали другое решение? ;)


Действительно, проверили ряд решений, выбрали, реализовали, внедрили, завершили внедрение уже как 2 года назад, теперь из чисто ностальгических соображений иногда со старыми знакомыми пивко потягиваем )) Вроде не жалуются )))
22 июн 05, 14:35    [1640402]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
с127
На всякий случай: Вашу диссертацию я вчера прочитал, может не сильно внимательно, этих определений там не нашел, возможно пропустил, поэтому если на нее ссылаетесь то ссылайтесь поподробнее, с указанием страницы или подраздела.


Определений объекта и других ООП понятий в диссере нет вовсе - диссер нейронкам посвящен. Проблема построения базы знаний в диссере затронута краем, четких определений из области БЗ там тоже нет. В качестве книжки на ночь рекомендую японский пятитомник по ИИ. Он как раз проблеме знаний посвящен.
22 июн 05, 14:40    [1640428]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
Alexey Rovdo
В ООСУБД Versant коды методов не хранятся в самой БД - они являются частью кода приложения, которое с этой базой работает.


Что мне не ясно. Я помню, что ты говорил, что методы не поддерживаются. Однако, что мешает мне реализовать в классе, хранящемся в БД FastObjects какой нибудь абстрактный интерфейс? Что произойдет если вызвать метод такого интерфейса? Во всех примерах которые ты приводил (из тех что я видел) ни ни методов ни темболее интерфейсов в классах, живущих в БД не наблюдалось. Мне непонятно как можно запретить наследование интерфейсов являющееся частью .NET Framework и что будет если такое реализовать и попытаться запустить? Об этом я и писал.

Alexey Rovdo
не к каждому объекту индивидуально, как в вашей системе.


А про чужую разработку фантазировать не надо )) Я вот очень пытаюсь не зная деталей реализации БД от версант ничего к ним своего не прифантазировать )))

В моей системе реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД. Только данные экземпляра хранятся в БД. А описание метаданных и реализация методов - обеспечивается средой .NET
22 июн 05, 14:53    [1640500]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
Павел Воронцов
А другие операции в СУБД и не нужны. Всё остальное к логике хранения, манипулирования и целостности данных отношения не имеет.


Если для решения ваших задач такие операции не нужны, это не значит, что они не нужны и для решения всех остальных задач.
22 июн 05, 15:07    [1640594]     Ответить | Цитировать Сообщить модератору
 Re: Задачи для объектно-ориентированных СУБД.  [new]
guest_20040621
Guest
> Действительно, проверили ряд решений, выбрали, реализовали, внедрили,
> завершили внедрение уже как 2 года назад, теперь из чисто ностальгических
> соображений иногда со старыми знакомыми пивко потягиваем )) Вроде не
> жалуются )))

Ну и чудненько. ;)

Позволю себе влезть в дискуссию:

> Чтобы их воплотить в жизнь - нада работать )) Движемся потихоньку.

Хех, дело хорошее. Вы намерены - imho, это следует делать в первую очередь - написать-таки открытый стандарт для ООСУБД? ;)
22 июн 05, 15:08    [1640602]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить