Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 65 66 67 68 69 [70] 71 72 73 74 .. 83   вперед  Ctrl
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
ЗоринАндрей
Member

Откуда: Санкт-Петербург
Сообщений: 3004
Alexey Rovdo
Ценовая политика гибкая.

Ну-ну. Да помню я статейку в Компьютерре про этот самый Софткей.
Даже вот урл нашел ->
тынц

Самой распространенной и самой известной службой регистрации программ является Shareg, которая сегодня переименована в Softkey.ru (ЗАО «Софткей»).

Зарегистрировался - и читаю, что для начала продаж программ нужно подписать авторское соглашение. Открываю Соглашение и… бегите, девки, за нашатырем!...
Итак, читаем: «Авторский договор о передаче исключительных имущественных прав на произведения». Второй вариант - о передаче неисключительных прав. Разница в том, что в одном случае вы полностью лишаетесь возможности продавать свой продукт (эксклюзивная передача), в другом - нет.
По большому счету, дальше можно было вообще не читать, а просто закрыть окно браузера и забыть все это как дурной сон. Потому что программист обращается в регистрационную службу с целью делегировать процедуру приема и обработки платежей, а вовсе не для того, чтобы расстаться со своими имущественными правами
Ну хорошо, я отдаю вам все права на программу, с которой вы теперь можете делать ВСЁ, что вам захочется, а что - взамен? А вот что (пристегнитесь покрепче!): «Размер авторского вознаграждения составляет 50% от объема выручки от продаж Произведения (включая 20% НДС)»… И еще - под дых, чтобы совсем наповал: «При выплате авторского вознаграждения Правопреемник удерживает подоходный налог в размере 13% от суммы начисленного вознаграждения».
Я понимаю, что ты, читатель, совершенно обалдел от прочитанного (как и я в свое время), так что вхожу в положение: если ваша программа стоит 100 рублей, то вы получите 43 рубля 50 копеечек. Ну что, вдохновляет такая перспектива?


Вот такая "ценовая политика".

З.Ы. можно удалять ;-)
31 мар 05, 16:54    [1431093]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Софткей работает в строгом соответствии с российским налоговым и бухгалтерским законодательством. И если законодательство и налоговая требуют начислять и 13% подоходного и 26% социального и 18% НДС и еще бог весть что, то причем здесь Софткей? И эти исключительные и неисключительные права тоже из ниоткуда не взялись. Если вы автор программы и хотите ее продавать - обратитесь к нашим менеджерам и юристам и они вам все по полочкам разложат и расскажут откуда какие цифры взялись - увы таковы российские реалии.
31 мар 05, 17:25    [1431279]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
автор
Софткей работает в строгом соответствии с российским налоговым и бухгалтерским законодательством. И если законодательство и налоговая требуют начислять и 13% подоходного и 26% социального и 18% НДС и еще бог весть что, то причем здесь Софткей?

Эээээ, полегче, законодательство тут ни при чем.
Софткей дерет 50% с цены просто потому, что так хочет. И платит потом уже налоги. А может брать и 20%. И 30%. Но не хочет - зачем, если пойти все-равно некуда.

ЗЫ Ну может мы родим как-нибудь и будем предоставлять такой сервис, и не за 50% (опустим софткей :))

-- Tygra's --
31 мар 05, 17:32    [1431307]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Вы ошибаетесь. Впрочем, как я понимаю, вы не являетесь автором программы, которою хотите продавать - просто языком трепать всегда легче, чем действительно ознакомиться с проблематикой вопроса.

PS: Я в общем то не против рассказать вам о Софткей и о том, откуда берутся все эти цифры, но просто заведите топик соотвествующий и задайте в нем вопрос.
31 мар 05, 17:48    [1431377]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
serg99
Member

Откуда:
Сообщений: 422
Alexey Rovdo
serg99

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


Видите ли, все, что вы пишете после этой фразы, показывает, что "реальные и достаточно глубокие различия" лежат в тех функциях, которые выполняют СУБД и сервера приложений. Т.е. мы называем одну программу "СУБД", а другую - "сервер приложений" исключительно исходя из того, для исполнения каких функций эта программа предназначена. И ваше описание функций и требований к исполнению этих функций вероятно правильное. Но речь то не об этом. Если у меня есть некий набор компонентов, программ, приложений, подпадающий под ваше описание функций СУБД, то я могу назвать его СУБД? Или, чтобы не заморачивться на названиях, есть ли какие-то еще формальные причины, по которым такой набор/программу/приложение можно отличить от того, что вы называете СУБД?
Рядовой пользователь может даже не отличить относятся два окошка у него на экране к одному приложению или к разным. Ему вообще не обязательно знать что либо кроме иконки, окошка и клавиатуры. Другое дело программист, системный программист, администратор, системный архитектор, CIO наконец. Когда выбираются базовые средства для реализации ИС предприятия, выбирается в том числе технология разработки, администрирования и развития всей ИС, а так же границы ее масштабируемости. Мне не верится что Вы не знаете чем отличается апп-сервер со встроенным хранилищем персистентных объектов от типовой СУБД масштаба предприятия.

Alexey Rovdo
serg99

то их действенность определяется пролетарской сознательностью ПРИКЛАДНОГО программиста. Если Вы готовы ставить целостность и непротиворечивость модели данных предметной области в зависимость от того будут ли все прикладные программисты выполнять соглашения, то ...


Во ВСЕХ ситуациях такая зависимость существует.
Есть все таки большая разница между зависимостью от толпы прикладных программистов и зависисмостью скажем от одного системного программиста с соответствующими правами доступа по изменению модели данных предметной области.


Alexey Rovdo
serg99

Оттого что и ХП и приложение можно изменить совсем не следует что это эквивалентные понятия.


Как понятия и термины приложения и ХП конечно НЕЭКВИВАЛЕНТНЫ. Об их отличиях вы много сказали. И я с вами согласен. Я же смотрю на конкретные реализации. Например, ХП в составе MS SQL и "внешняя" программа, выполняющая ТЕ ЖЕ функции в связке с MySQL (при следовании описанным мною выше соглашениям) эквивалентны?
Программа - это часть приложения? Может ли этой частью воспользоваться другое приложение написанное другим программистом на другом языке программировния? В контексте прав доступа какого приложения будет тогда выполняться программа? и т.п.

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

Alexey Rovdo
serg99

Внешнее – это все что соединяется с СУБД с помощью коннектов и соответственно может пользоваться сервисами по конкурентному чтению и записи данных в БД, организуя этот процесс как последовательность транзакций.


Вижу отличие от формального описания ХП только в словах "с помощью коннектов". Сразу возникает вопрос. А как доступ к данным получают ХП? И чем это принципиально (функционально) отличается от "коннектов"?
ХП работают в контексте коннекта. Думаю Вам лучше почитать документацию на какую нибудь СУБД.
31 мар 05, 17:52    [1431411]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
Alexey Rovdo
Вы ошибаетесь. Впрочем, как я понимаю, вы не являетесь автором программы, которою хотите продавать - просто языком трепать всегда легче, чем действительно ознакомиться с проблематикой вопроса.

PS: Я в общем то не против рассказать вам о Софткей и о том, откуда берутся все эти цифры, но просто заведите топик соотвествующий и задайте в нем вопрос.

Ну почему же, я являюсь автором программы. Но на таких условиях пока что не хочу продавать - лучше буду искать клиентов сам и как-нибудь договариваться.
А по поводу откуда берутся цифры - а чем отличается софткей от магазина у меня на первом этаже? Да ничем. Чего бы тогда магазину не наценивать все товары на 50% или не брать эту сумму с клиентов говоря: ну так налоги же, женеман пасижур.... :))

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

-- Tygra's --
31 мар 05, 18:21    [1431565]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

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

Мне не верится что Вы не знаете чем отличается апп-сервер со встроенным хранилищем персистентных объектов от типовой СУБД масштаба предприятия.


Таки ЧЕМ ? (при условии соблюдения соглашений, описанных мною выше).

serg99

Есть все таки большая разница между зависимостью от толпы прикладных программистов и зависисмостью скажем от одного системного программиста с соответствующими правами доступа по изменению модели данных предметной области.


Описанное мною выше соглашение не допускает того, что у прикладных программистов есть права доступа к обсуждаемой паре (пусть это будет "апп-сервер со встроенным хранилищем персистентных объектов или со встроенной СУБД"). Такие права есть только у системного программиста.

serg99

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


Мне определенно нравится это высказывание. Оно действительно полностю соответствует моему пониманию СУБД и ничем не противоречит разнообразным формальным определениям.
31 мар 05, 18:35    [1431617]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

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

А по поводу откуда берутся цифры - а чем отличается софткей от магазина у меня на первом этаже? Да ничем. Чего бы тогда магазину не наценивать все товары на 50% или не брать эту сумму с клиентов говоря: ну так налоги же, женеман пасижур.... :))


1) Российское законодательство (да и мировое) не классифицирует программное обеспечение как обычный товар - это очень и очень специфичный товар, обращение которого регулируется далеко не только "товарными" статьями бухгалтерского законодательства.

2) Если вы попытаетесь сдать на комиссию в свой магазин товар как "Физическое лицо", то узнаете, что возьмут с вас не меньше чем Софткей (если работают в рамках законов).

Все просто, если вы являетесь "Юридическим лицом" в этом случае наша комиссия составит 20% от установленной вами цены программы (с НДС), если ваша организация является плательщиком НДС. И все это внятно описано на нашем сайте. Так что перестаньне гнать оффтоп.
31 мар 05, 18:52    [1431663]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
###
Guest
2 tygra: "Да ничем. Чего бы тогда магазину не наценивать все товары на 50% или не брать эту сумму с клиентов говоря: ну так налоги же, женеман пасижур.... :))"

Магазин (розничный) нацивает на 50% - 250%, это так для информации... А вы этого не знали?
31 мар 05, 19:20    [1431726]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
Alexey Rovdo
Но вот правоприменительная практика (т.е. навешивание/ненавешивание этих ярлыков/определений на конкретные продукты без четкого анализа того, на сколько это обосновано) ...
Ну хорошо, давайте по пунктам. Вот, например, первый пункт... Опа, так я об этом спрашивал уже! Какими структурами оперирует ООБД, интересновался я. И молчание было мне ответом...
31 мар 05, 19:32    [1431755]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Павел Воронцов

Какими структурами оперирует ООБД ...


Объектными структурами (уж точно не реляционными).
А если без шуток, уточните вопрос.
31 мар 05, 19:38    [1431765]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
vadiminfo
Member

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

Ни Кодд ни кто-то еще нигде не утверждал, что это достоинство исключительно реляционной модели.

Но я не об исключетнльномти говорил.Там было о том, Вы перепеутали причину и следствие. Будьте внимательнее. А то это выглядит так, я Вам про Ерему, а Вы мне про Фому.

А про исключительность мы еще только проясняем. Я думал, что ООМД претендует тоже на независмомть. Но Вы говорите так, что она без сервера приложений никак не может.

Alexey Rovdo

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

Ну, что мы теперь будем отменять прописные в инфотехнологиях истины, вдумываясь в то, что нам не подходит? А вместо этого подбрасывать свои наспех придуманные выдумки? Вы же сами не хотели терминологических споров.

Alexey Rovdo

Вот вы наконец и пришли к тому, что ОМД - это пока что-то очень туманное. Нет описания ОМД.

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


Alexey Rovdo

Есть РМД, но значит ли, что все требования, которым удовлетворяет РМД мы должны распространить на все другие возможные модели?

Требованиям РМД удовлетворять надо производителям РСУБД. А вот требованиям (как Вы это называете) МД (модель данных вообще), стремятся как бы удовлетворять все производители СУБД. Другое дело, что это не всегда просто как кажется. Возможно, одни типы СУБД удовлетворяют одним требованиям МД хуже, а другим лучше. Например, плохо обстоит дело с ограничением целостности, но лучше с манипулированием данными или структурой.

Alexey Rovdo

Вот и возникает проблема - СУБД должна поддерживать модель данных, а где эта модель, а что такое модель?

Ну, привет. Мало того, что редкая книга по БД не начинается с этого. Так еще здесь об этом говорилось не раз. Вы лично посоветовали нам с mir не вдаваться в терминологические споры, када мы говорили об этом. Я еще для Вас все на пальцах грил. А Вы тока решили прояснить вопрос что такое эта модель?
Внимательней читайте ведь я парился - писал для Вас. И все зря?

Alexey Rovdo

Это не принципиально. В файл-серверном случае мы можем говорить о неком наборе библиотек, вместо приложений на апп-сервере.

Это принципально. В аксцессе не просто какие-то там библиотеки, а все приложение клиентское в БД, а триггеров нет. Кроме того, не ясно тогда зачем Вы подчеркивали про сервер приложения. Разве у клиентских о библиотеках мы говрить не можем?

Alexey Rovdo

ОМД (если понимать под этим нечто похожее на РМД) не влазит в ООСУБД.

А похожее у них, то что и то и другое МД.
Вы знаете, это настолько сильное заявление против ООСУБД, что даже я - релянционщик не могу до конца поверить в это. Что уж говорить об объектщиках. Давайте будем считать, что эта фраза просто не так может быть истолкована и забудем о ней.

Alexey Rovdo

По крайней мере для того, чтобы удовлетворить всевозможные требования по обеспечению целостности ей нужен полноценный сервер приложений.

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

Alexey Rovdo

Значит ли, что после этого мы должны переименовать ООСУБД во что-то другое? Или же мы сможем отнести к ООСУБД только продукты, в состав которых встроен свой сервер приложений (GemStone)? Но тогда, полагаю, при сравнении с другими продуктами мы в первую очередь упремся именно в недостатки этого конкретного встроенного сервера приложений.

Не значит. Я уже говорил про Аксцесс, в который встроено клиент приложение, но проблема есть. Поэтому и встраивание сервера приложение может не снять проблему. Другое дело, если Вы его путаете с ХП и в GemStone встроены триггера. Поэтому уточните.
В этой теме мы сравниваем типы СУБД, и потому если хоть одна из них может, значит и весь данный тип может. Опять, Аксцесс не может, а MS Server может - значит РСУБД может.
31 мар 05, 19:40    [1431768]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
Alexey Rovdo
Объектными структурами (уж точно не реляционными).
А если без шуток, уточните вопрос.
Уточняю. Перечислите пожалуйста типы структур, которыми оперирует база. А именно - что вернёт запрос

select name, address from emp

?

Это будет объект? Список? Коллекция (коллекция чего? объектов?)? (Упаси Боже) Множество?
31 мар 05, 19:52    [1431782]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
самопал
Guest
Павел Воронцов
А именно - что вернёт запрос

select name, address from emp

Это будет объект? Список? Коллекция (коллекция чего? объектов?)? (Упаси Боже) Множество?


Судя по примеру на C из VERSANT Database Fundamentals Manual, это будет массив объектов, для которых будут загружены из базы только атрибуты name и address. Но мне тоже интересно...
31 мар 05, 20:36    [1431840]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
c127
Guest
2 Alexey Rovdo

>Мы ходим по кругу. Начнем обсуждать что такое СУБД. Кто-то напишет "СУБД обеспечивают целостность данных" и опять вернемся к тому с чего начали.

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

Все Ваши последние построения базируются на предложениях типа "а давайте СУБД+сервер_приложений назовем СУБД-ой. Или: а давйте откажемся от требования: доступ к данным толко через сервер и никак больше, раз его не поддерживает Версант. А почему я не могу?". Можете. Но в таком случае необходимо как минимум привести альтернативные определения, чего, разумеется, сделано не было. Кроме того сразу же прийдется попереопределять и все остальное.

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

Тем более что чуть раньше Вы сами же пишите:
Alexey Rovdo, 30 мар 05, 17:30>Вы были бы правы, если бы мы принимали в качестве соглашения свои проприетарные технологии. Но мы, разумеется, должны ориентироваться на принятые стандарты и спецификации.

Вот и ориентируйтесь на принятые стандарты, и не нужно разводить этот треп о том, что именно нужно называть "СУБД". Возьмите и прочитайте.




2 Dimonische

>Я упомянул уже приложение по хранению статических данных. Да, можно было бы предоставить всем клиентам доступ к Ораклу непосредственно. Но Наши клиенты этого не хотят. Потому что мы предоставляем доступ намного проще чем Оракл. Мы имеем функции специфичные для бизнесов, которые с нами общаются. Фактически, мы реализовали Объектную Базу по предметной области без поддержки языка запросов. Клиенты не могут запускать SQL. Поверьте мне, если бы они хотели, я был бы просто вынужден его бы добавить. Но они не хотят и причина проста - нафига им разбираться с другими(чужими) таблицами, хп, связями и т.д. и п.р. Мы предоставляем простой доступ. Все счастливы.

Если сервер приложений отсутвует, то это не значит, что пользователи имеют непосредственный доступ к БД. Все, о чем Вы говорили можно сделать, например, через тонкого веб клиента, положив логику в базу и пользователь разницы не заметит. tygra об этом уже говорил.
1 апр 05, 03:44    [1432124]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
c127
Guest
Виноват, не "через тонкого веб-клиента" конечно, а через тонкий клиент (по отношению к БД) на веб сервере.
1 апр 05, 04:03    [1432129]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
Rovdo
Забавно то, что вы считаете будто я оппонирую Дейту и Кодду (и вам) и имею что-то против существующих формальных определений. Но к самим формальным определениям у меня нет никаких претензий (разве только фактическое отсутствие надлежащего формализма для ОМД, разумеется, напрягает).

Только не надо думать, что все здесь забыли ваши слова:
Rovdo
Полагаю, в том числе и потому, что требования к "модели данных" (к самому этому понятию) еще не устоялись. […]возникает проблема - СУБД должна поддерживать модель данных, а где эта модель, а что такое модель?

Если уж сказанули такое, имейте мужество признать, что ошиблись. А то сначала вы говорите, что «требования к понятию «модель данных» не устоялись» (и это за 26 лет!), «а что такое модель?», а когда вас, простите, ткнули, сразу удивленное лицо: «Но к самим формальным определениям у меня нет никаких претензий». Не надо так выворачиваться, это не серьезно.
1 апр 05, 06:11    [1432149]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

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

А про исключительность мы еще только проясняем. Я думал, что ООМД претендует тоже на независмомть. Но Вы говорите так, что она без сервера приложений никак не может.


Выше уже много раз пытались определить, что же такое ООМД. И пришли к выводу, что ООМД - это что-то очень туманное и дать ее внятное описание никто не может. Поэтому здесь я говорю "Я не знаю, что же такое ООМД". А нужен ей или не нужен сервер приложений окончательно решать только тому, кто начнет использовать в работе ООСУБД (в случае GemStone за него уже решили). Но я показываю возможные методики использования этих продуктов и, естественно, описываю и свое отношение к этим методикам.

vadiminfo

Alexey Rovdo

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

Ну, что мы теперь будем отменять прописные в инфотехнологиях истины, вдумываясь в то, что нам не подходит? А вместо этого подбрасывать свои наспех придуманные выдумки? Вы же сами не хотели терминологических споров.

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

vadiminfo

Я же считал, раньше, что нет универсальной общепринятой ООМД. Однако, есть реализованные ООСУБД, в которых есть поддержка модели данных, которую можно отнести к ООМД. Иначе зачем они называются ООСУБД.
Здесь были выссказывания, что никакой ООМД нет, потому и ООСУБД нет. Вы этого хотите?
...
Требованиям РМД удовлетворять надо производителям РСУБД. А вот требованиям (как Вы это называете) МД (модель данных вообще), стремятся как бы удовлетворять все производители СУБД. Другое дело, что это не всегда просто как кажется. Возможно, одни типы СУБД удовлетворяют одним требованиям МД хуже, а другим лучше. Например, плохо обстоит дело с ограничением целостности, но лучше с манипулированием данными или структурой.


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

Нужны ли методы объектов для обеспечения целостности данных? В зависимости от ответа на это вопрос подходы разбиваются на две ветви:

1) Методы объектов выполняющие определенные действия над данными объектов вполне могут быть заменены триггерами и хранимыми процедурами, аналогичными тем, что реализованы во многих РСУБД. При этом сохраняются все подходы к реализации целостности ровно в том же виде, как мы и привыкли их видеть в РСУБД. Сервер приложений, на котором объекты инстанцируются и обрабатываются остается для СУБД чисто "внешней" конструкцией.

2) Методы объектов должны быть доступны для обеспечения целостности данных.

2.1) Чтобы обеспечить доступность методов объектов и возможность их исполнения "внутри" ООСУБД, туда нужно встроить полноценный сервер приложений. Объекты будут инстанцироваться внутри этого сервера приложений и методы будут исполняться внутри этого сервера приложений. Целестность данных в таком случае обеспечивается, хотя для реализации (разработке) таких ООСУБД прийдется прикладывать значительно большие усилия (все-таки полноценный сервер приложений - это не хухры-мухры), что показывает опыт ООСУБД GemStone.

2.2) Следует шире взглянуть на систему и пересмотреть наше понимание терминов "целостность данных" или "СУБД".

2.2.1) Если считать что целостность данных должна обеспечиваться некой единой системой, которая сама по себе удовлетворяет всем требованиям СУБД, но на деле состоит из ряда компонентов, то вполне можно говорить о том, что эта система и есть СУБД, а составляющие ее компоненты СУБД не являются. Тогда то, что мы называем обычно ООСУБД, в действительности СУБД не является (если только мы не согласны принять положение 1 и считать эти продукты СУБД в смысле 1) - возможно, это праильнее называть Persistence Object Storage или как-то еще. Но пара Persistence Object Storage + Сервер приложений (при принятии соглашений, о которых я выше много говорил) полностью удовлетворяет всем классическим критериям СУБД и "внутри" у нее вероятно ОМД.

2.2.2) Мы можем скорректировать наше понимание термина "целостности данных" для ОМД с тем, чтобы Persistence Object Storage удовлетворял этому требованию в новой трактовке. Тогда мы можем назвать его ООСУБД.


Практические следствия из этих толкований терминологии проявляются только при сравнении веток вариантов 1 и 2 (все подварианты ветки 2 в практическом плани ничем не отличаются). В первом случае мы умышленно отказываемся от использования методов для поддержания целостности иопираемся только на встроенные триггеры и хранимки. Лично мне такой подход не нравится. Полагаю, что он приведет к усложнению решения задачи, снижению читабельности кода и в целом противоречит принципам ОО-программирования. Но на практике такой подход не запрещен (во всяком случае в ООСУБД VDS). Подход 2 мне нравится больше и кажется более удобным на практике. Единственная проблема с методом 2.1 в том, что производители ООСУБД не настолько велики и не обладают достаточными ресурсами, чтобы успевать за бурным развитием технологий апп-серверов, поэтому такие продукты и критикуют за недостаточно быструю реализацию новых функций и несоотвествие распространенным стандартам.

vadiminfo

...в Access ... а все приложение клиентское в БД ...


"В одном файле = в БД". А вот с MS SQL и Oracle вы уже согласны отойти от такого отождествления? Ведь для них "в БД <> в одном файле". Так почему бы не принять, что понятие "в БД" - это вообще некая логическая конструкция, которая в разных конфигурациях может пониматься совершенно по-разному (в зависимости от реализации и принятого соглашения).

vadiminfo

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


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

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

vadiminfo

В этой теме мы сравниваем типы СУБД, и потому если хоть одна из них может, значит и весь данный тип может. Опять, Аксцесс не может, а MS Server может - значит РСУБД может.


Ну тут мне даже нечего добавить. Я уже привык к тому, что в итоге всегда остается только Oracle и сравнивать приходится только с ним (даже если со строны ООСУБД речь идет о продуктах для встроенного, файл-серверного или пр. применения).
1 апр 05, 11:22    [1432889]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Павел Воронцов


Уточняю. Перечислите пожалуйста типы структур, которыми оперирует база. А именно - что вернёт запрос

select name, address from emp

Это будет объект? Список? Коллекция (коллекция чего? объектов?)? (Упаси Боже) Множество?


Фактически указанные вам запрос подразумевает то, что вы хотите получит доступ к атрибутам name и address объектов класса emp.

Выдержка из руководства VDS:

Query types — The general term "query" conceptually refers both to routines that evaluate object values ("find") and routines that evaluate object identities using links ("get").

find Functions and methods that use search conditions to find objects and return links are called "search" or "find" routines. The term "query" is often used to refer to just "find" routines.

get Functions and methods that use links to bring objects in memory are called "dereference," "retrieval," or "get" routines.

VERSANT evaluates "find" queries on the server machine containing the database to be searched and then sends links to the found objects to the application.

VERSANT evaluates "get" queries on the application machine and then retrieves the desired objects from any connected database.
1 апр 05, 12:03    [1433107]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
VERSANT predefines many elemental and class types that you can use with embedded, inheritance, and association relationships. The following types available in all interfaces.

Vstr — A vstr provides low overhead, variable length storage for one or many elemental values.
Link — A link stores a reference to another object.
Link vstr — A link vstr provides variable length storage for one or many references to other objects.


C/VERSANT — C/VERSANT also predefines the following type.

List — A list provides ordered variable length storage.


C++/VERSANT — C++/VERSANT also predefines the following types.

Bi-link — A bi-link stores a bi-directional reference.
Bi-link vstr — A bi-link vstr provides variable length storage for one or many bi-directional references.
Array — An array is an ordered collection of elements accessed by an index which is an integer.
Set — A set is an unordered collection of unique elements.
Dictionary — A dictionary is a collection that maps keys to values.
List — A list provides ordered variable length storage.
Date and Time — Date and time attribute types.


The C++/VERSANT interface also provides facilities to create the following types:

Parameterized — Parameterized types allow single definitions for classes that differ only by the data type of their contents. This is useful for classes, such as sets, that have identical functionality and differ only in the data type of their contents.
Run-time — Classes that are defined at run-time.
Smart — Smart objects automatically select the correct version of an object based upon a pre-selected configuration.

VERSANT also allows you to use third party class libraries to define your classes.
1 апр 05, 12:08    [1433137]     Ответить | Цитировать Сообщить модератору
 К вопросу об определениях и соглашениях... Просто пример, обсуждать не надо  [new]
самопал
Guest
Alexey Rovdo
Выше уже много раз пытались определить, что же такое ООМД. И пришли к выводу, что ООМД - это что-то очень туманное и дать ее внятное описание никто не может.


An object model is a collection of descriptions of classes or interfaces, together with their member data, member functions, and class-static operations. [www.w3.org/TR/1998/WD-DOM-19980720/glossary.html]

A data model is a collection of descriptions of data structures and their contained fields, together with the operations or functions that manipulate them. [www.w3.org/TR/2002/PR-DOM-Level-2-HTML-20021108/glossary.html]

ODBMS is a DBMS that integrates database capabilities with object-oriented programming language capabilities. An ODBMS makes database objects appear as programming language objects, in one or more existing programming languages. The ODBMS extends the language with transparently persistent data, concurrency control, data recovery, associative queries, and other database capabilities. [ODMG]

The Object Model specifies the constructs that are supported by an ODBMS:
* The basic modeling primitives are the object and the literal. Each object has a unique identifier. A literal has no identifier.
* Objects and literals can be categorized by their types. All elements of a given type have a common range of states (i.e., the same set of properties) and common behavior (i.e., the same set of defined operations). An object is sometimes referred to as an instance of its type.
* The state of an object is defined by the values it carries for a set of properties.These properties can be attributes of the object itself or relationships between the object and one or more other objects. Typically the values of an object's properties can change over time.
* The behavior of an object is defined by the set of operations that can be executed on or by the object. Operations may have a list of input and output parameters, each with a specified type. Each operation may also return a typed result.
* A database stores objects, enabling them to be shared by multiple users and applications.[ODMG]


The ODMG Object Model is the fundamental definition of an ODBMS's functionality.It includes significantly richer semantics than does the relational model,by declaring relation-ships and operations explicitly.[ODMG]

Эт к тому, что в VDS заявлена поддержка стандартов ODMG.
1 апр 05, 12:32    [1433240]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
Alexey Rovdo
VERSANT predefines many elemental and class types that you can use with embedded, inheritance, and association relationships. The following types available in all interfaces.

Vstr — A vstr provides low overhead, variable length storage for one or many elemental values.
Link — A link stores a reference to another object.
Link vstr — A link vstr provides variable length storage for one or many references to other objects.


C/VERSANT — C/VERSANT also predefines the following type.

List — A list provides ordered variable length storage.


C++/VERSANT — C++/VERSANT also predefines the following types.

Bi-link — A bi-link stores a bi-directional reference.
Bi-link vstr — A bi-link vstr provides variable length storage for one or many bi-directional references.
Array — An array is an ordered collection of elements accessed by an index which is an integer.
Set — A set is an unordered collection of unique elements.
Dictionary — A dictionary is a collection that maps keys to values.
List — A list provides ordered variable length storage.
Date and Time — Date and time attribute types.


The C++/VERSANT interface also provides facilities to create the following types:

Parameterized — Parameterized types allow single definitions for classes that differ only by the data type of their contents. This is useful for classes, such as sets, that have identical functionality and differ only in the data type of their contents.
Run-time — Classes that are defined at run-time.
Smart — Smart objects automatically select the correct version of an object based upon a pre-selected configuration.

VERSANT also allows you to use third party class libraries to define your classes.
Вы меня убедили. Бросаю Оракл, мелкомягких и вкупе с ними все остальные СУБД и перехожу на ООБД технологии! Спасибо Вам!
1 апр 05, 12:43    [1433292]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Вроде есть время вернуться к моему вчерашнему посту и рассказть свое мнение о запросах в ООСУБД.

Из личной практики работы с продуктами Versant я вынес следующее. Запросы нужно использовать при работе с ООСУБД как можно реже. Причин тут несколько.

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

Во-вторых, сложна судьба самого языка запросов ООСУБД. Существует спецификация ODMG, которая определяет язык запросов OQL. Именно на базе OQL и строятся сегодня языки запросов разных СУБД. Но основная беда OQL в том, что в период его создания у разработчиков было немерянное желание сделать его максимально похожимна SQL, что и породило массу проблем и вопросов (ака "что вернет запрос ... ?"). Производители ООСУБД, тем не менее, вынуждены поддерживать то, что включено в спецификацию и развивать эту поддержку. Но логика развития демонстрирует странные факты. OQL, существующий уже давно, не вызывает особых симпатий, а разработчики, например на Java, предпочитают более адаптированный к их нуждам JDOQL.

По моим личным впечатлениям декларативные языки запросов вообще не подходят для работы с ООСУБД - они не соответствуют объектной парадигме этих систем, вступая с ней в противоречие. Более понятным и продуктивным здесь может быть процедурный/функциональный подход к написанию запросов.

И, кстати, производители ООСУБД этот подход поддерживают, хотя пока и нельзя сказать, что он сильно развит (далее все гипотетически, конкретных продуктов, работающих подобным образом я не знаю). Т.е. вместо OQL запроса вида: "SELECT * From ObjectClass Where ObjectClass.atrrib = const_Object" мы в ОО-программе пишем что-то вроде "database.GetCollecttion('ObjectClass', constObject.equals)" и получаем результат-коллекцию. Обычно это коллекция ссылок на объекты.

Но уже и в этом примере видно, что включение объекта Object в результирующую коллекцию происходит в зависимости от того, какой результат возвратит метод cons_Object.equals(Object). Как оптимизировать такие запросы, если код метода equals может быть очень сложным? Где отрабатывать код метода? Пока что ответов на эти вопросы нет. Но похоже производители движутся именно в этом направлении (и в первую очередь об этом свидетельствует рост популярности функциональных языков запросов: JDOQL, XQuery, WebOQL ... ). Т.е. методы отрабатываются на сервере приложений, а база данных только предоставляет данные для сервера приложений, помогая ему чем может (индексы, транзакции ... ).

Чтобы создать систему, действительно способную оптимизировать такие запросы, разработчикам ООСУБД еще предстоит много и много потрудиться (адаптивные методы оптимизации еще не вышли научных институтов), но формально реализовывать системы, в которых подобные механизмы будут работать, сегодня уже никто не мешает. Весь инструментарий доступен и в целом вполне удобен при использовании (базируется на использовании итераторов, пространств классов и т.п.). Просто вопросы оптимизации, увы, пока лежат на разработчиках подобных систем.
1 апр 05, 12:49    [1433324]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Sh
Member

Откуда: SPB
Сообщений: 1930
Alexey Rovdo
Просто вопросы оптимизации, увы, пока лежат на разработчиках подобных систем.


Нет слов.
1 апр 05, 13:03    [1433400]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение объектно-ориентированных, реляционных и объектно-реляционных СУБД .  [new]
Alexey Rovdo
Member

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

Rovdo
Полагаю, в том числе и потому, что требования к "модели данных" (к самому этому понятию) еще не устоялись. […]возникает проблема - СУБД должна поддерживать модель данных, а где эта модель, а что такое модель?

Если уж сказанули такое, имейте мужество признать, что ошиблись. А то сначала вы говорите, что «требования к понятию «модель данных» не устоялись» (и это за 26 лет!), «а что такое модель?», а когда вас, простите, ткнули, сразу удивленное лицо: «Но к самим формальным определениям у меня нет никаких претензий». Не надо так выворачиваться, это не серьезно.


А я по прежнему считаю, что определение Кодда относится к РМД. Хотя бы потому, что и понятия такого ОМД в 1980 еще не было. А о том, что требования не устоялись, говорит хотябы разнобой у разных авторов в определении этого понятия. Пример из W3C выше. Впрочем, приведя определение Кодда для МД, пойдите дальше и приведите определение Кодда для РМД. Быть может я и признаю, что мое мнение неверно, когда увижу что эти определения отличаются не только в буквочке "Р".
1 апр 05, 13:04    [1433403]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 65 66 67 68 69 [70] 71 72 73 74 .. 83   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить