Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Cуществуют задачи, которые будучи изначально решены на базе классических ООСУБД (например, Versant FastObjects) будут на порядок быстрее ЛЮБЫХ решений с реляционными системами. К таким задачам относятся практически все случаи со сложной организацией и большим многообразием хранимых и обрабатываемых данных. Например, если нужно манипулировать сетями из тысяч разнотипных объектов или сами эти объекты могут быть очень сложным образом связаны. Следует понимать, что я не утверждаю того, что реляционные системы в данном случае неприменимы - очень даже примеными и вполне функциональны. Тем не менее с помощью ООСУБД обрабатывать и осуществлять поиск по сложноструктурированным данным оказывается значительно быстрее и удобнее. 1) Представте себе хотя бы достаточно разветвленную иерархическую структуру однотипных объектов, в которой нужно найти элемент, удовлетворяющий заданному критерию и расположенный в строго определенной ветви дерева. Т.е., есть условие на атрибуты этого объекта и есть условие на его предка, причем число промежуточных звеньев между предком и искомым объектом заранее не известно. В рамках типовой реляционной СУБД решение есть, но оно будет гораздо медленнее. 2) А вот еще пример. Есть сеть связанных разнотипных объектов. Нужно добавить один элемент в эту сеть, полностью сохранив целостность хранимых данных. В таком случае при использовании реляционных СУБД нам прийдется вносить данные сразу во множество таблиц (информация о новом объекте и его связях), что будет сопровождаться многократными проверками для обеспечения целостности данных. В случае объектных СУБД такие проверки пройдут быстрее. Ровно та же ситуация будет и при необходимости поиска объекта в такой сети и т.п. Приведенные мною примеры достаточно примитивны и, конечно, не отражают всей специфики реальных задач бизнеса. Но практика использования ООСУБД показывает, что они приживаются в таких сферах, как: управление телекоммуникационными сетями (хранение и всей информации о структуре и параметрах элементов сетей), биоинформатика (информация о сложных молекулярных цепочках и т.п.), системы прогнозирования и принятия решений (сложноструктурированная входная информация и варианты развития событий), промышленная автоматизация (управление сложными производственными линиями и цепочками). Немаловажным фактором, способствующим повышению показателей быстродействия решений на базе ООСУБД является то, что сама объектная база может быть разделена на несколько частей и размещена на различных серверах (причем все связи между объектами сохраняются). Т.е. в этом случае легче реализовать распределенную обработку данных, чем в реляционных системах. И наконец, всегда надо понимать, что ООСУБД ориентированы на использование ОО языков при проектировании приложений. Именно поэтому ООСУБД более популярны у Java-разработчиков, чем скажем у .NET (где есть развитые средства интеграции с реляционными системами, которые во многих случаях по своему быстродействию вполне устраивают разработчиков). Именно использование грамотного ОО подхода позволяет строить очень быстрые системы на базе Java и ООСУБД (например, FastObjects или Versant Developer Suite). Кстати я ни в коем случае не агитирую за отказ от реляционных систем. Лично я убежден, что подавляющее большинство существующих сегодня бизнес-задач лучше реализуется именно в рамках реляционной модели и именно поэтому реляционные системы стали столь популярными. Просто в России почему-то решили, что реляционные системы - лучший выбор для всех случаев, что в корне неверно (примеров использования ООСУБД крупнейшими западными компаниями множество). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 13:13 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> ... приживаются в таких сферах, как: управление телекоммуникационными сетями В таких сферах всё что угодно приживется... Но это ни о чём не говорит. >> примеров использования ООСУБД крупнейшими западными компаниями множество Западные компании всё что угодно использовать могут... Но это тоже ни о чём не говорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 13:48 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Все примеры для ввода данных и для поиска одной записи, то есть типичный OLTP. Теперь наложите на это несомненно великолепное быстродействие еще необходимость выполнять большие отчеты по разным критериям, в том числе и с полным перебором всех записей, а не только по ключу. Заодно добавьте массированные загрузки данных и обеспечение непротиворечивости данных при многопользовательском доступе (изолированность транзакций). Тут и получите отставание от РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 14:22 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Не хочу ни спорить, ни соглашаться, а лишь обратить внимание на то, что выдвинут лишь набор утверждений, не подкрепленных никакими доказательствами. По английски это будет "challenge", а по-русски (да простят меня модераторы) - "залупа". Считаю поэтому тему чистой провокацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 14:33 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru>> ... приживаются в таких сферах, как: управление телекоммуникационными сетями В таких сферах всё что угодно приживется... Но это ни о чём не говорит. >> примеров использования ООСУБД крупнейшими западными компаниями множество Западные компании всё что угодно использовать могут... Но это тоже ни о чём не говорит. А чем таким так по вашему примечательны телекоммуникации? Я ведь, например, не утверждал, что ООСУБД прижились во всех сферах, где много денег. Например, в банковской сфере и бухгалтерии их применение в большинстве случаев не оправдано (впрочем, и здесь есть место - к примеру, в системах экспресс-анализа заемщиков при выдаче кредитов, каковые являются по сути системами прогнозирования и помощи при принятии решений). Что же касается телекоммуникаций, то не стану говорить про все ныне существующие ООСУБД, а вот Versant VDS и FastObjects фактически появились именно в процессе реализации заказов телекоммуникационных компаний. И их применение в сложном оборудовании началось не вчера, а еще в самом начале 90-х. Хотелось бы что-нибудь сказать по поводу России, но видимо основная причина отсутствия на наших просторах ООСУБД-решений проста. А где они, российские производители сложного телекоммуникационного (АТС, ATM-коммутаторы, GSM ... ) оборудования и сложных лабораторных комплексов для биологических исследований ? Ау-у ... Впрочем сейчас ситуация меняется. Во-первых, появились компании (раньше их было совсем мало), которые пишут для крупных западных заказчиков и им уже в требованиях указывают на необходимость ориентации на конкретную платформу. А во-вторых, некоторые уже поняли, что мало сделать ОЧЕНЬ БОЛЬШУЮ и КРУТУЮ систему, но ее еще надо регулярно обновлять и развивать. Видал я оракловые базы с более чем 500 таблицами. Наверное те, кто это наворотил очень собой гордятся. Да вот только компании - обладатели такого богатства с ног сбиваются в поисках вундеркиндов, которые способны быстро войти в курс и заниматься развитием их систем (пусть даже они и хорошо задокументированы). И вот нарадовавшись досыта, начинают искать другие решения, позволяющие как быстрее и легче разрабатывать, так и обеспечивающие легкость внесения изменений в существующие системы уже в процессе эксплуатации, а также не требующие двухгодичного обучения сотрудников, которые потом захотят баснословные зарплаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 15:26 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> А где они, российские производители сложного телекоммуникационного (АТС, ATM-коммутаторы, GSM ... ) оборудования Так это в само оборудование встравивается или предназначено для управления всей сетью (как HP OpenView)? Крупные телекоммуникационные сети в России есть: Ростелеком, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 15:32 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoВидал я оракловые базы с более чем 500 таблицами. Наверное те, кто это наворотил очень собой гордятся. Да вот только компании - обладатели такого богатства с ног сбиваются в поисках вундеркиндов, которые способны быстро войти в курс и заниматься развитием их систем (пусть даже они и хорошо задокументированы). Уровень Вашей компетенции как минимум в том, с чем Вы сравниваете, понятен. Я бы на Вашем месте не позорился дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 15:37 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Опередил меня softwarer немного (отвелекся я на работу :)). Остается только его поддержать. Либо делать системы с двумя, ну максимум тремя таблицами - и просто, и разобраться быстро можно -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 15:47 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
AIВсе примеры для ввода данных и для поиска одной записи, то есть типичный OLTP. Теперь наложите на это несомненно великолепное быстродействие еще необходимость выполнять большие отчеты по разным критериям, в том числе и с полным перебором всех записей, а не только по ключу. Заодно добавьте массированные загрузки данных и обеспечение непротиворечивости данных при многопользовательском доступе (изолированность транзакций). Тут и получите отставание от РСУБД. Действительно лет 5-7 тому назад все это было проблемой для объектных СУБД. Но сегодня это НЕ ТАК. VDS и FastObjects в полной мере поддерживают и запросы (языки OQL, JDOQL и др.), и изолированные транзакции и многопользовательский многопотоковый доступ с возможностями блокировки на уровне объектов (сравните с блокировкой на уровне таблиц). Что же касается отчетов, то и системы для генерации отчетов существуют полностью объекто-ориентированные (http://www.qint.de/), и ODBC-доступ к объектным базам из любых других систем генерации отчетности возможен. В целом все зависит от специфики задачи и всех особенностей эксплуатации системы, рассматриваемых вкупе. Поэтому и нельзя привести ясный и простой пример из реальной жизни - граница, где применение объектных СУБД становится выгоднее, чем использование традиционных реляционных решений слишком расплывчата и зависит не только (я бы сказал, что это вообще не самый существенный фактор при принятии решений) от предполагаемого быстродействия системы, но от таких вещей как: требуемое время разработки, требуемая надежность, предполагаемый срок эксплуатации и частота внесения изменений и доработок, режимы работы системы, которые будут наиболее востребованы в процессе ее эксплуатации (ввод данных/генерация отчетов/групповые операции с данными и т.п.). Чтобы меня не упрекали в отсутствии реальных примеров, привожу: 1) Borland CaliberRM (в Enterprise версии содержит встроенную базу данных Versant VDS). 2) MES-платформа автоматизации предприятий Siemens Simatic IT (Framewoek на базе Versant FastObjects). 3) Приложение Bosch Rubin NT для управления сетями безопасности (видеонаблюдение, пожарные/охранные датчики и т.п.) использует встроенный FastObjects. 4) Телекоммуникационное оборудование, в которое встраивается FastObjects: управляющие контроллеры INTUITY AUDIX и DEFINITY, Lucent BCF 2000, GSM- и UMTS-контроллеры Ericsson и др. 5) Лабораторное оборудование Applied Biosystems и MDS Sciex. 6) Системы управления телекоммуникационными сетями NEC INC-100MS, Siemens AccessIntegrator. и многое, многое другое ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 15:52 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторграница, где применение объектных СУБД становится выгоднее, чем использование традиционных реляционных решений слишком расплывчата и зависит не только (я бы сказал, что это вообще не самый существенный фактор при принятии решений) от предполагаемого быстродействия системы, но от таких вещей как: требуемое время разработки, требуемая надежность, предполагаемый срок эксплуатации и частота внесения изменений и доработок, режимы работы системы, которые будут наиболее востребованы в процессе ее эксплуатации (ввод данных/генерация отчетов/групповые операции с данными и т.п.). Как эти вещи по вашему могут повлиять и в какую сторону? Если уж эти вещи влияют на выбор, то как? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 15:56 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey Rovdoпримеров использования ООСУБД крупнейшими западными компаниями множество Можно поподробнее? Что за задача, объем данных, количество пользователей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:00 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
наверно в системе с 500 классами разобраться проще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:02 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey Rovdoи многопользовательский многопотоковый доступ с возможностями блокировки на уровне объектов (сравните с блокировкой на уровне таблиц). Зачем? Давайте лучше сравним с блокировкой на уровне строк и спросим, поддерживают ли ООСУБД блокировки на уровне отдельных свойств объектов. P.S. Лично мне из Вашего рассказа стало понятно, что Вы имеете в виду переложение идеи сетевых баз. Примеров их реализации - множество, преимущества и недостатки тоже известны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:05 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Если смотреть по профилю, то автор с компании www.softkey.ru, которая в частности занимается распространением FastObjects. Если посмотреть на стоимость процессорной лицензии (22К), можно найти и некий интерес автора. Касаемо темы топика, все это замечательно. Вкусно и красиво. Но FastObjects - встраиваемая в приложение СУБД. Без выделенного сервера. Правильно? Таким образом к этой базе нельзя в любой момент подцепить внешнее приложение. Например, для анализа статистики. Насчет распределенных вычислений. Промышленные РСУБД умеют работать в кластерных конфигурациях. Ну и много всего остального. Так что надо четко представлять границы применимости конкретно FastObjects. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:06 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Я думаю просто проще выстроить иерархию устройств сети, например, для каждого нового вида оборудования заводится свой класс, наследуемый от основного оборудования. Класс, по идее, должен быть простым, чтобы его программисты предприятия связи смогли написать по паспорту оборудования, когда придёт новое оборудования. При этом основная программа работает только с одним уровнем представления сети. А больше преимуществ никаких. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:10 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruА больше преимуществ никаких. Не совсем так. Сетевые базы удобны для организации, назовем так, максимально гибких связей между хранимыми объектами. Платой за это является в первую очередь осложненная навигация и не слишком эффективная массовая обработка данных. Впрочем, я давно в этом копался, так что мало что могу сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:16 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygra авторграница, где применение объектных СУБД становится выгоднее, чем использование традиционных реляционных решений слишком расплывчата и зависит не только (я бы сказал, что это вообще не самый существенный фактор при принятии решений) от предполагаемого быстродействия системы, но от таких вещей как: требуемое время разработки, требуемая надежность, предполагаемый срок эксплуатации и частота внесения изменений и доработок, режимы работы системы, которые будут наиболее востребованы в процессе ее эксплуатации (ввод данных/генерация отчетов/групповые операции с данными и т.п.). Как эти вещи по вашему могут повлиять и в какую сторону? Если уж эти вещи влияют на выбор, то как? -- Tygra's -- Ок. Начнем по порядку. Требуемое время разработки. Утверждаю, что систему высокой сложности, для которой разумным является использование объектно-ориентированного подхода (т.е. задача разбивается на относительно самостоятельные сущности - бизнес-объекты, используется UML-моделирование и разработка клиентских приложений на базе ОО языков программирования Java, C++, C#), можно значительно быстрее разработать с использованием инструментария ООСУБД (FastObjects или Versant Open Access). Замечу, что это не означает обязательного использования в качестве хранилища данных собственно объектной СУБД - с Open Access можно применять и Oracle и MS SQL и множество других систем (вот кстати, лишнее доказательство того, что ООСУБД и РСУБД - суть две стороны одной медали, поскольку объектные данные можно автоматически переформатировать в реляционные и положить в реляционную СУБД - про быстродействие пока умалчиваю). Требуемая надежность. Cовременные ООСУБД (особенно VDS) имеют тот же уровень надежности, что нам может обеспечить Oracle. Есть и поддержка репликации и систем высокой готовности и т.п. Так что в данном вопросе РСУБД и ООСУБД сегодня равны. Предполагаемый срок эксплуатации и частота внесения изменений и доработок. Если систему предполагается эксплуатировать долго и при этом постоянно дорабатывать с учетом новых требований и изменений предметной области, то ООСУБД типа VDS и FastObjects на порядок лучше любой известной мне РСУБД. Это вызвано тем, что в упомянутых мною ООСУБД изменения в объектной структуре и атрибутах хранимой информации осуществляются совершенно естественным образом (бери клас, меняй атрибуты класса, а все объекты автоматически переформатируются), более того есть поддержка версий объектов и слияния структур (т.е. была одна объектная структура, а из нее произошли две других, мы их взяли и снова слили, получив объектную структуру, обладающую свойствами обоих своих родителей). И все это может производиться на работающих базах без остановки сервисов. Режимы работы системы, которые будут наиболее востребованы в процессе ее эксплуатации Вот здесь кроится важная проблема. непосредственно влияющая на производительность. Если в процессе эксплуатации системы необходимо часто формировать отчеты (т.е. это преобладающий режим), при генерации которых происходит линейный перебор больших массивов, то быстродействие РСУБД будет выше. Если же в основном имеет место конкурентный доступ (чтение и изменение) большого количества пользователей к различным хранимым в системе информационным сущностям (здесь важно понять именно то, что среднестатистический пользователь обычно работает именно со своим кусочком информации, лежащей в большой общей базе), то объектные СУБД лучше реляционных, т.к. обеспечивают блокировку на уровне объектов, а не таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:19 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
AAronЕсли смотреть по профилю, то автор с компании www.softkey.ru, которая в частности занимается распространением FastObjects. Если посмотреть на стоимость процессорной лицензии (22К), можно найти и некий интерес автора. Касаемо темы топика, все это замечательно. Вкусно и красиво. Но FastObjects - встраиваемая в приложение СУБД. Без выделенного сервера. Правильно? Таким образом к этой базе нельзя в любой момент подцепить внешнее приложение. Например, для анализа статистики. Насчет распределенных вычислений. Промышленные РСУБД умеют работать в кластерных конфигурациях. Ну и много всего остального. Так что надо четко представлять границы применимости конкретно FastObjects. Если посмотреть на сайт ww.softkey.ru то можно увидеть, что мы продаем и Oracle и MS SQL, а цена. к примеру, Oracle Database Enterprise Edition Processor License 48К. И я не стану скрывать, что имею интерес к продаже всего: Oracle, MS SQL, Versant FastObjects, Versant VDS и тысяч прочих продуктов, предлагаемых нами. Касаемо темы: FastObjects может как встраиваться в приложение, так и запускаться в качестве выделенного сервера. К нему можно подцепиться для анализа статистики, в т.ч. и через специальный ODBC-драйвер. FastObjects может работать в кластерных конфигурациях. И много всего остального. Все сказанное справедливо и для Versant VDS. Господа, все эти проблемы были решены 4-5 лет назад. Действительно во всех ныне доступных на русском языке книгах написано, что ООСУБД "недоделаны", т.е. "не могут", "не поддерживают" и т.п. Но эти книги были написаны в середине 90-х. С тех пор очень много воды утекло - нету этих проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:29 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
-----------наверно в системе с 500 классами разобраться проще А если у вас и база данных и приложение для работы с ней (как оно обычно и бывает), а приложение вы пишете на Java или C++/C#? Сначала вам прийдется разобраться с 500 таблицами и роли в структуре базы данных, а затем - милости прошу разбираться и с 500 классами в приложении, которое предназначено для работы с этой базой. Так не легче ли создать одну модель из 500 классов и работать только с ней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:33 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторУтверждаю, что систему высокой сложности, для которой разумным является использование объектно-ориентированного подхода (т.е. задача разбивается на относительно самостоятельные сущности - бизнес-объекты, используется UML-моделирование и разработка клиентских приложений на базе ОО языков программирования Java, C++, C#), можно значительно быстрее разработать с использованием инструментария ООСУБД (FastObjects или Versant Open Access). Остается только понять, какие такие системы требуют ООП подхода. Я лично не вижу пока, где ООП подход в БД мог бы помочь так сильно (или вообще помочь), чтобы я радовался до слез :) А дальше по способу, ктоторый неоднократно применялся на форуме: авторТребуемая надежность. Cовременные ООСУБД (особенно VDS) имеют тот же уровень надежности, что нам может обеспечить Oracle. Есть и поддержка репликации и систем высокой готовности и т.п. Так что в данном вопросе РСУБД и ООСУБД сегодня равны. Cовременные РСУБД (особенно MS SQL, Sybase, Oracle) имеют тот же уровень надежности, что нам может обеспечить ООП СУБД и даже выше . Есть и поддержка репликации и систем высокой готовности и т.п. Так что в данном вопросе РСУБД и ООСУБД сегодня равны, посему выбираем РСУБД :) авторПредполагаемый срок эксплуатации и частота внесения изменений и доработок. Если систему предполагается эксплуатировать долго и при этом постоянно дорабатывать с учетом новых требований и изменений предметной области, то РСУБД типа ..... на порядок лучше любой известной ООПСУБД. Это вызвано тем, что в упомянутых РСУБД изменения в структуре и атрибутах хранимой информации осуществляются совершенно естественным образом ( бери таблицу, меняй структуру ), более того есть поддержка версий объектов и слияния структур (т.е. была одна объектная структура, а из нее произошли две других, мы их взяли и снова слили, получив объектную структуру, обладающую свойствами обоих своих родителей) - (это даже и не представляю, мазохизм чтоли?). И все это может производиться на работающих базах без остановки сервисов. авторРежимы работы системы, которые будут наиболее востребованы в процессе ее эксплуатации Вот здесь кроится важная проблема. непосредственно влияющая на производительность. Если в процессе эксплуатации системы необходимо часто формировать отчеты (т.е. это преобладающий режим), при генерации которых происходит линейный перебор больших массивов, то быстродействие РСУБД будет выше. (да-да) Если же в основном имеет место конкурентный доступ (чтение и изменение) большого количества пользователей к различным хранимым в системе информационным сущностям (здесь важно понять именно то, что среднестатистический пользователь обычно работает именно со своим кусочком информации, лежащей в большой общей базе), то РСУБД не хуже объектных , т.к. обеспечивают блокировку на уровне строк , а не таблиц. Эххехее :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:43 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ООСУБД ориентированы на работу с данными на уровне объектов. Объект - это строка таблицы, грубо говоря. А РСУБД предоставляют доступ к данным на уровне столбцов, организованных в отношения. Доступ на уровне столбцов более гибок и работает быстрее, потому, как не надо тащить на клиента весь объект. Грубо говоря, если мне надо раскрыть дерево и показать два столбца, то в случае с РСУБД я получаю два столбца, а в случае с ООСУБД - объекты, из которых беру два аттрибута (которые могут быть в разных объектах). Получаем снижение гибкости и производительности из-за избыточной связанности данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:50 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
А кэшируют выбираемые данные они тоже на уровне строк? А весь объект в одной строке одной таблицы размещается? Если это такой простой объект, то РСУБД лучше. А если это некая связанная сеть объектов? Т.е. в случае РСУБД лежат они в десятке таблиц. Каковы же тогда будут издержки сервера на блокировку всех этих записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:53 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
В Oracle весьма незначительные Из-за версионности и удачной реализации блокировок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 16:54 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruООСУБД ориентированы на работу с данными на уровне объектов. Объект - это строка таблицы, грубо говоря. А РСУБД предоставляют доступ к данным на уровне столбцов, организованных в отношения. Доступ на уровне столбцов более гибок и работает быстрее, потому, как не надо тащить на клиента весь объект. Грубо говоря, если мне надо раскрыть дерево и показать два столбца, то в случае с РСУБД я получаю два столбца, а в случае с ООСУБД - объекты, из которых беру два аттрибута (которые могут быть в разных объектах). Получаем снижение гибкости и производительности из-за избыточной связанности данных. Если это основная задача приложения, то РСУБД лучше. А если это только одна из множества задач, то просто пишите запрос на OQL: select attr1, attr2 from Objects where [условие] И получаете результат без необходимости тащить все объекты целиком. В принципе, если в системе идет работа с такими объектами, которые можно разместить в одной строке одной таблицы (каждый отдельно взятый - таблиц то и типов объектов может быть много) и не нужно выбирать и блокировать их группами, то в большинстве случаев РСУБД будут лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:02 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Чем сложнее объект, тем сложнее достучаться до внутренностей набора объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:02 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторА если это только одна из множества задач, то просто пишите запрос на OQL: select attr1, attr2 from Objects where [условие] И получаете результат без необходимости тащить все объекты целиком. Тогда это не стыкуется с этим: авторУтверждаю, что систему высокой сложности, для которой разумным является использование объектно-ориентированного подхода ( т.е. задача разбивается на относительно самостоятельные сущности - бизнес-объекты, используется UML-моделирование и разработка клиентских приложений на базе ОО языков программирования Java, C++, C#), Потому как либо вы на клиента тащите весь объект - потому что клиенти заточен на объекты, либо смысл в таком клиенте пропадает - и собственно смысл ООСУБД становится совсем не понятен. Мне он и так то непонятен - куда бы приткнуть :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:10 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
В общем, почему в России эта вещь не приживётся: 1. Дорогая 2. Нет пиратских копий 3. Её не преподают в институтах 4. По ней нет книг 5. Для всех задач хватает РСУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:12 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Но вы же предложили задачу, в которой действительно не надо тащить на клиента весь объект. По моему это вопрос правильного построения объектной модели. Ее именно и нужно строить так, чтобы в типовых задачах на клиенте нужен был весь объект, а если это невозможно, то действительно - такая задача не для объектных СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:15 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
6. Нет промышленного стандарта 7. Нет более лёгких аналогов и возможности выбора и возможности перехода на другого производителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:15 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruВ общем, почему в России эта вещь не приживётся: 1. Дорогая 2. Нет пиратских копий 3. Её не преподают в институтах 4. По ней нет книг 5. Для всех задач хватает РСУБД Полностью согласен только с п.4. Но это вполне исправимо и будет исправлено в обязательном порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:17 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Ее именно и нужно строить так, чтобы в типовых задачах на клиенте нужен был весь объект Тогда будет очень много объектов - для каждого рекордсета по объекту. Многие из которых будут лишь гранями основного объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:18 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru6. Нет промышленного стандарта 7. Нет более лёгких аналогов и возможности выбора и возможности перехода на другого производителя. Для Java такой стандарт есть - это стандарт JDO. И именно приложения, написанные в рамках этого стандарта полностью переносимы на большое количество СУБД (как объектных, так и реляционных). Т.е. непосредственно для хранения данных можно использовать и объектные и реляционные системы, просто во многих случаях полученные приложения будут несколько быстрее работать с объектными СУБД, но и всегда можно перенести на другие СУБД даже после развертывания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 17:20 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
интересно, если бы все присутсвующие были помоложе, как бы они отреагировали лет N назад на ООП, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 21:13 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygra Мне он и так то непонятен - куда бы приткнуть :) Зачем притыкать. Надо просто понять какие преимущества дает ООСУБД. Ведь никто, я полагаю, не спорит с тем, что применение объектного подхода к разработке приложения оправдано. Не думаю, что найдется много разработчиков, не использующих на сегодняшний день объектные языки программирования. Объектные базы просто позволяют программисту сосредоточиться на объектах, а не на структуре таблиц. Нет нужды думать о том, как хранить данные. Я уверен, что это позволяет серьезно повысить качество алгоритмов и реализацию бизнес-логики при тех же затратах времени на разработку. Другой вопрос, что иногда это снижает производительность. Но это является, на мой взгляд, следствием реляционного мышления программиста. Я не претендую на роль гуру. Но то, что я знаю об объектных базах, позволяет мне быть уверенным в том, что пишу. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 21:28 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что нет смысла сравнивать реляционные и объектные СУБД. Это просто способ хранения данных. Преимущества - в самом объектном подходе к разработке. А вот это объектный подход к сохранению данных позволяет использовать более эффективно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 21:32 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster tygra Мне он и так то непонятен - куда бы приткнуть :) Зачем притыкать. Надо просто понять какие преимущества дает ООСУБД. Ведь никто, я полагаю, не спорит с тем, что применение объектного подхода к разработке приложения оправдано. Не думаю, что найдется много разработчиков, не использующих на сегодняшний день объектные языки программирования. Объектные базы просто позволяют программисту сосредоточиться на объектах, а не на структуре таблиц. Нет нужды думать о том, как хранить данные. Я уверен, что это позволяет серьезно повысить качество алгоритмов и реализацию бизнес-логики при тех же затратах времени на разработку. Другой вопрос, что иногда это снижает производительность. Но это является, на мой взгляд, следствием реляционного мышления программиста. Я не претендую на роль гуру. Но то, что я знаю об объектных базах, позволяет мне быть уверенным в том, что пишу. :) Первые разумные слова, может последуем примеру, и все будем сначала думать, а потом писать? Что касается производительности, то с этим тоже все в порядке, если хотите жесткой аргументации, жду ЧЕТКО поставленного вопроса, или хотя бы задачи, которая по вашему мнению будет решаться быстрее на РСУБД! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 21:33 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Абонент { Строка имя Адрес регистрация Контракт[] контракты } Контракт { Дата начало_действия Дата конец_действия Оконечное_устройство[] устройства } Оконечное_устройство { Тип тип } Задача: Найти имена всех абонентов с московской регистрацией, у которых в период с 2002-09-01 по 2002-09-30 было не менее трёх открытых контрактов на устройства заданного типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 22:22 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Вьюшки объектные поддерживаются? И если да, то в каком виде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 22:25 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
2 Alexey Rovdo То что есть приложения где РМБД не совсем адекватно, и это признается в том числе и сторонниками реляционной модели - это не новость. Я пытался тоже это пообсуждать на этом форуме. Но правда и в том, что ООСУБД не единственный ответ на это. Есть еще и ОРСУБД. К ним относятся и Оракл и, я думаю, MS SQL. Пусть там это еще скорее праздно присутсвует, чем реально применяется. Но факт остается фактом - если бы ООМД имела несомненные преимущества во всех отношениях, ведущие производители перешли бы на эту модель. Сегодня под РСУБД можно понимать систему, которая является расширениями РМД, включая ОО и даже элементы других моделей данных. Можно вспомнить еще и системы принятия решений. Если используется OLAP, то он не является РМД, даже если там применяютя рел таблицы (звезда, снежинка). Причем, сам Кодд автор рел модели и предложил этот OLAP, признав, что РМД подходит только для OLTP. Т.е. речи нет о том, что апологеты рел модели не признают кроме этой модели ничего другого во всех случаях (в том числе и я). Другое дело, что она присутствует так или иначе или ее радикально устраняют как в ООМД. Т.е. вопрос стоит не в противопоставлении ООМД и "чистой" РМД. Вопрос в противопоставлении ООСУБД и СУБД которая поддерживает РМД и те или иные расширения и в частности ОРМД. И это все усложняет для успеха ООСУБД. Этим занимаются давно и серьезносно, а ясности как не было так. И у нас тут маловато шансов что-то решить. Приходится ждать панов, которые там на верху дерутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 22:42 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
2 Alexey Rovdo То что есть приложения где РМБД не совсем адекватно, и это признается в том числе и сторонниками реляционной модели - это не новость. Я пытался тоже это пообсуждать на этом форуме. Но правда и в том, что ООСУБД не единственный ответ на это. Есть еще и ОРСУБД. К ним относятся и Оракл и, я думаю, MS SQL. Пусть там это еще скорее праздно присутсвует, чем реально применяется. Но факт остается фактом - если бы ООМД имела несомненные преимущества во всех отношениях, ведущие производители перешли бы на эту модель. Сегодня под РСУБД можно понимать систему, которая является расширениями РМД, включая ОО и даже элементы других моделей данных. Можно вспомнить еще и системы принятия решений. Если используется OLAP, то он не является РМД, даже если там применяютя рел таблицы (звезда, снежинка). Причем, сам Кодд автор рел модели и предложил этот OLAP, признав, что РМД подходит только для OLTP. Т.е. речи нет о том, что апологеты рел модели не признают кроме этой модели ничего другого во всех случаях (в том числе и я). Другое дело, что она присутствует так или иначе или ее радикально устраняют как в ООМД. Т.е. вопрос стоит не в противопоставлении ООМД и "чистой" РМД. Вопрос в противопоставлении ООСУБД и СУБД которая поддерживает РМД и те или иные расширения и в частности ОРМД. И это все усложняет для успеха ООСУБД. Этим занимаются давно и серьезносно, а ясности как не было так. И у нас тут маловато шансов что-то решить. Приходится ждать панов, которые там на верху дерутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 22:46 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
У меня при работе с этим форумом вдруг начали лезть какие-то эктив иксы и проч фигня. На моем компе что-то не так или где пока не въехал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 22:49 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Вы не одни такие умные. Informix в 1996 году, после покупки объектно-ориентированной ДБ Illustra, под громкие фанфары выпустил версию 9 с поддержкой определенных пользователем типов, переназначенных функций, наследованием и пр. объектно-ориентированной херней. И че ? Да ниче. Оказались все эти фишечки и рюшечки не особенно нужны. За 5 лет в саппорте я считанные разы имел дело с проблемами в объектно-ориентированных фичах. Такой вот reality check . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 00:18 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
2 vybegallo Речь идет о специальных каких-то приложениях. Разумеется что пока РМД в бизнес приложениях остается самой успешной. Поэтому искать ООП в таких приложениях особого смысла пока нет. Искать надо где-то типа геоинформационных систем, каких-нибудь автоматизациях конструирования чего-нибудь и т.д., а не в банках, складах, базах интернет ресурсов и проч. Если данные ПО структурируются с помощью нескольких рел таблиц (даже сотен), и SQL достаточен для удовлетворения всех инфо потребностей, то скорее всего, искать там ООП не стоит - там рел модель выиграет даже если будет значительно медленнее. Напомню, что на своей заре она значительно уступала в скорости иерархическим (тогда доминировавшим), но сразу захватила часть рынка (у нее есть кое-какие концептуальные преимущества, поважнее скорости). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 09:46 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
vadiminfoРечь идет о специальных каких-то приложениях Именно для этих целей и использовались объектные расширения Informix - полнотекстовый поиск, хранение и индексированный поиск по двумерным и трехмерным картам, работа с фото и видео, временные ряды и т.д. Несмотря на огромный выигрыш в производительности, реальный спрос на такие решения оказался ограниченным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 10:15 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
А кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 10:19 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
jimmersА кто и как понимает объекно-ориентированнную СУБД? Так сказать, критерий. /topic/146505&pg=-1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 11:18 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Таааааакк.... Давайте определимся. Тема топика: ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ? Теперь вроде как получается: авторРечь идет о специальных каких-то приложениях Отсюда вывод: нужно побыстрее определиться, о чем же речь, о специальных приложениях, или обо всех ? Если специальных - то смысла в обсуждении нет, т.к. можно найти такие специальные приложения, где любая СУБД будет медленнее какого-то своего решения. Если обо всех - тогда реальный пример: было сделано на РСУБД, было плохо, сделали на ООП - пришло щастте :) ====== Есче. Давайте будем вести речь именно об ООСУБД, а не надстройке над клиентом, которая делает вид, что она работает с ООСУБД, а на самом деле данные лежат в обычной РСУБД. Это непорядок - ОО так ОО. В чистом виде. Потому далее я веду речь о любой системе - хоть бухгалтерской, хоть складской. авторЗачем притыкать. Надо просто понять какие преимущества дает ООСУБД. Вот, пытаюсь.... авторВедь никто, я полагаю, не спорит с тем, что применение объектного подхода к разработке приложения оправдано. Не думаю, что найдется много разработчиков, не использующих на сегодняшний день объектные языки программирования. Это точно, программировать используя ООП гораздо проще. авторОбъектные базы просто позволяют программисту сосредоточиться на объектах, а не на структуре таблиц. Нет нужды думать о том, как хранить данные. А кто такие, эти объекты? Чем они лучше тех же таблиц? Чем лучше сосредоточиться на структуре объектов , чем на структуре таблиц ? И как часто вы лично думаете над тем, как хранить данные? Я вот редко. Они сами хранятся :). Чем объект лучше таблицы? Чем лучше работа с объектом, чем с таблицей? авторЯ уверен, что это позволяет серьезно повысить качество алгоритмов и реализацию бизнес-логики при тех же затратах времени на разработку. Какие ваши доказательства? ((с) шварцнегер) авторДругой вопрос, что иногда это снижает производительность. Но это является, на мой взгляд, следствием реляционного мышления программиста. Как мышление может повлиять на производительность системы, в которой менять руками почти ничего нельзя? авторЯ не претендую на роль гуру. Но то, что я знаю об объектных базах, позволяет мне быть уверенным в том, что пишу. :) А я вот не знаю. Но чтобы узнать, хочу увидеть хоть какие-то преимущества. Пока не вижу. авторМне кажется, что нет смысла сравнивать реляционные и объектные СУБД. Это просто способ хранения данных. Да нет уж, в СУБД часто еще и бизнес-логика находится, так что надо сравнивать, надо. авторПреимущества - в самом объектном подходе к разработке. А вот это объектный подход к сохранению данных позволяет использовать более эффективно. И опять: коментарии, доказательства, примеры... Как мне облегчит жизнь объект данных? ==== А вот еще вопрос: хорошо, есть объект данных. Есть у него свойства, как-то с ним можно работать. А где лежит логика работы с этим объектом? Внутренняя логика. В СУБД? Или на клиенте? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 11:22 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
О, нашел ответ на свой последний вопрос: авторВ целом, действительно объектные СУБД всегда имеют тесную интеграцию с самими ОО языками программирования. Т.е. для настоящих объектных СУБД разработки структуры базы данных как таковой не производится - есть некий API и/или расширения языка которые позволяют полностью оттранслировать объектную структуру приложения в структуру базы данных. К примеру, я просто объявляю Java-класс сохраняемым и все объекты этого класса автоматически получают возможность быть сохраненными в БД (т.е. мне не надо вообще заботиться о том, в какой таблице эти объекты будут храниться и т.п.). Т.е. получается, что без специального, написанного именно для этой системы и СУБД, клиента, сами данные в СУБД - просто пшик, потому что они из себя ничего не представляют, никаких объектов нет, ничего такого. И смысл sql-запрос делать по ним какой? Так чтоли? Нуууу, это уже неинтересно :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 11:26 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
vadiminfo2 vybegallo Разумеется что пока РМД в бизнес приложениях остается самой успешной. Поэтому искать ООП в таких приложениях особого смысла пока нет. Не факт. Вот, например, PeopleSoft собирается использовать ООСУБД для разработки бизнес-приложений. http://]http://www.versant.com/events/news/PeopleSoftContract Еще я точно знаю, что Worth Phoenix (к сожалению у меня нет ссылки - надо Alexey Rovdo спросить) использует стандарт JDO при разработке своей ERP системы. Это явно предполагает возможность работы с объектной базой данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 11:27 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygraТаааааакк.... Давайте определимся. авторВедь никто, я полагаю, не спорит с тем, что применение объектного подхода к разработке приложения оправдано. Не думаю, что найдется много разработчиков, не использующих на сегодняшний день объектные языки программирования. Это точно, программировать используя ООП гораздо проще. авторОбъектные базы просто позволяют программисту сосредоточиться на объектах, а не на структуре таблиц. Нет нужды думать о том, как хранить данные. А кто такие, эти объекты? Чем они лучше тех же таблиц? Чем лучше сосредоточиться на структуре объектов , чем на структуре таблиц ? И как часто вы лично думаете над тем, как хранить данные? Я вот редко. Они сами хранятся :). Когда программист пишет программу он работает с объектами, не так ли. Они существуют в памяти компьютера. Это данные, правильно? Чтобы их сохранить в РБД надо преобразовать эти данные к виду таблиц. Сделать маппинг. А если не нужно преобразовывать? Просто дать команду commit и объект уже в базе данных. Я так понимаю объектные СУБД. tygra Чем объект лучше таблицы? Чем лучше работа с объектом, чем с таблицей? ООП предполагает работу с объектом. tygra Как мышление может повлиять на производительность системы, в которой менять руками почти ничего нельзя? Не будешь же ты спорить, что качество архитектуры системы влияет на ее производительность? Вне зависимости от аппратной части. tygra Да нет уж, в СУБД часто еще и бизнес-логика находится, так что надо сравнивать, надо. А зачем она там? А если все сосредоточить в приложении? Какая разница, описывать взаимосвязи классов или отношения таблиц. Просто попробовать абстрагироваться от формата ХРАНЕНИЯ данных и сосредоточиться на их сути. tygra А вот еще вопрос: хорошо, есть объект данных. Есть у него свойства, как-то с ним можно работать. А где лежит логика работы с этим объектом? Внутренняя логика. В СУБД? Или на клиенте? Работать как со свойствами объекта класса. И какая разница - на клиенте или на сервере? :) В приложении! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 12:16 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Когда программист пишет программу он работает с объектами Сдается мне, Вы не с того конца программу разрабатываете. Всё же данные первичны, и алгоритмы их обработки вторичны. Дело в том, что одни и те же данные могут быть представлены как совершенно различные объекты в зависимости от точки зрения пользователя. Следовательно, мапинга Вам избежать не удастся. А так как вы точку зрения одного приложения (одной маленькой и ничтожной частички большой и прекрасной системы) делаете основной, то Вы затрудняете работу других приложений с теми же данными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 12:36 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Почему бы не абстрагироваться наконец от поведения объектов и сосредоточится на их сути, то есть данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 12:38 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
А JDO зачем сюда приплетать? Т.е. пожалуйста - только его наличие скорее на руку РСУБД чем чему-то еще. Ведь jdo позволяет получить слой из бизнесс-сущностей на java, хранящий свое состояние в РСУБД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 12:43 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
А вот интересно, зачем мне данные в виде объектов ООП??? Данные - они и есть данные, зачем мне их видеть на клиенте в виде именно объектов ООП (объектов кода)? Я и так с ними очень прекрсно работаю и без проблем. Зачем лишнюю шелуху сверху наворачивать? А если еще учесть то, что вся бизнес-логика сосредоточена на клиенте - ну извините, мне это нафиг не нужно. Быть привязанным к клиенту на веки вечные? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 12:49 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторКогда программист пишет программу он работает с объектами, не так ли. Они существуют в памяти компьютера. Это данные, правильно? Чтобы их сохранить в РБД надо преобразовать эти данные к виду таблиц. Сделать маппинг. Вот оно как оказывается получается :) Я почему то всегда думал, что программист когда пишет программу, он описывает структуру информации и пишет алгоритмы ее обработки. А уж в каком виде информации хранится и обрабатывается зависит от использующегося инструмента. Или Вы думаете что все тут пишут программу обьектами, которые еще почему то все храняться в памяти ? :) Лично я наоборот все больше считаю, что SQL гораздо современнее и эффективнее ООП в области работы с данными, так как это фактически функциональный язык работы с множествами (описанными структурами), а в реализованая в современной модели ООП концепция обьектов и их обработки скажем так для операций над множествами не очень катит. И тут никакое наследование не поможет по той причине, что оно просто не сдалось - нам не надо стремится сделать отображение реального мира (которое по любому с помощью наследования лишь частично реализуемо), а всего то решать конкретно поставленные задачи. авторПросто дать команду commit и объект уже в базе данных. Я так понимаю объектные СУБД. А если мы зараз меняем миллион обьектов, которые на событие их изменения они меняют еще 10 миллионов обьектов. И вдруг по бизнес-логики возникает ошибка запрета на изменение одного из обьектов, которая приводит к ROLLBACK и соотвествующе к тому, что неплохо бы все эти свойства обьектов вернуть в первоначальное состояние, чтобы не нарушить целостность базы данных. А в это время другая сессия пытается по всем этим обьектам отчет собрать, причем ее не волнует, чего там и как меняется - главное, чтобы вся информация была целостной и не получилось, что в начале отчета данные одни, в конце другие, а в базе вообще третьи. Как все это себе представляем ? Если в виде "дал commit и обьект уже в БД", то это будет грустно, глючно и тормознуто. Но в той же РСУБД об этом даже думать не придеться. P.S. Я лично вообще не работаю в задачах с обьектами. Я работаю с информацией, ее сбором, обработкой, преобразованием, аналитикой. Обычно информации "множество" и алгоритмы обработки требуются для "множеств". Никого не интересует одна запись (обьект), разве что клиентские приложения, когда они формочку на ее ввод, редактирование делают. И то у тех уже на обьектной иерархии нужные компоненты работы с множествами реализованы, которые кстати в первую очередь используют коллекции, кои в каком то плане можно назвать убогим аналогом таблиц РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:00 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygraА если еще учесть то, что вся бизнес-логика сосредоточена на клиенте - ну извините, мне это нафиг не нужно. Быть привязанным к клиенту на веки вечные? А сервер приложений это тоже клиент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:17 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruСдается мне, Вы не с того конца программу разрабатываете. Всё же данные первичны, и алгоритмы их обработки вторичны. Разработка информационной системы начинается с описания проблемы, задачи, функционала. Для реализации этого какие-то данные должны храниться дольше, чем программа существует в памяти. Если стоит задача обработать какой-то массив информации, то да - первичны данные. Но не всегда это так. Далеко не всегда. www.fun4me.narod.ru Дело в том, что одни и те же данные могут быть представлены как совершенно различные объекты в зависимости от точки зрения пользователя. Следовательно, мапинга Вам избежать не удастся. А так как вы точку зрения одного приложения (одной маленькой и ничтожной частички большой и прекрасной системы) делаете основной, то Вы затрудняете работу других приложений с теми же данными. Значит это разные классы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:34 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruПочему бы не абстрагироваться наконец от поведения объектов и сосредоточится на их сути, то есть данных? Данные - это всего лишь один из аспектов проблемы. Ведь суть приложения не чтение и сохранение данных, а их обработка. В основном суть информационной системы - автоматизация процессов, поведения данных. ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:36 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
funikovyuriА JDO зачем сюда приплетать? Т.е. пожалуйста - только его наличие скорее на руку РСУБД чем чему-то еще. Ведь jdo позволяет получить слой из бизнесс-сущностей на java, хранящий свое состояние в РСУБД... Да, именно! Бизнес-сущности! А объектные базы данных просто более эффективно работают с ними. Я реально видел сравнительные тесты. JDO быстрее работает с объектной базой данных, чем с реляционной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:39 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Разработка информационной системы начинается с описания проблемы, задачи, функционала Любой функционал описывается набором входных и выходных потоков данных и его, в пределе, можно заменить табличной функцией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:40 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruЛюбой функционал описывается набором входных и выходных потоков данных и его, в пределе, можно заменить табличной функцией. Ты работал непосредственно с заказчиком, который формулирует проблему для автоматизации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:46 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Ты работал непосредственно с заказчиком, который формулирует проблему для автоматизации? Ну работал. Давно это правда было. Ничего особого... Если у заказчика есть что-то, что он хочет автоматизировать, то у него уже есть входные и выходные данные для этого чего-то, которые, быть может, нуждаются в некоторой формализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:51 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru>> Разработка информационной системы начинается с описания проблемы, задачи, функционала Любой функционал описывается набором входных и выходных потоков данных и его, в пределе, можно заменить табличной функцией. Мысль не нова, и поднята в тему!!! Но гараздо эффективнее этот функционал реализовывать в виде входного и выходного списка объектов, т.е. экземпляров классов с присущими им методами работы с данными. А то такими темпами мы докатимся до процедурного програмирования, и будем утверждать, что все остальное излишество :). Да, так действительно можно работать, но нужно ли? Вопрос именно в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:55 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygraА вот интересно, зачем мне данные в виде объектов ООП??? Данные - они и есть данные, зачем мне их видеть на клиенте в виде именно объектов ООП (объектов кода)? Я и так с ними очень прекрсно работаю и без проблем. Зачем лишнюю шелуху сверху наворачивать? А если еще учесть то, что вся бизнес-логика сосредоточена на клиенте - ну извините, мне это нафиг не нужно. Быть привязанным к клиенту на веки вечные? Объектный подход - это просто технология разработки. На сегодняшний день лучше не придумали. Почитай Брукса. Реляционная модель мешает ему последовательно следовать. Да, этот подход предъявляет повышенные требования к программисту в плане разработки классов. Каждый класс должен быть как отдельное приложение. Но он окупается за счет ряда преимуществ - повторное использование кода, более точное описание действительности, высокий уровень абстракции и т.п. Если нужно единовременно переработать некое ограниченное кличество данных, которые уже есть, - не нужен объектный подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 13:57 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
vadiminfoМожно вспомнить еще и системы принятия решений. Если используется OLAP, то он не является РМД, даже если там применяютя рел таблицы (звезда, снежинка). Причем, сам Кодд автор рел модели и предложил этот OLAP, признав, что РМД подходит только для OLTP. Я бы не согласился с этим утверждением. Дело в том, что в последнее время в реляционные СУБД полным ходом добавляется работа с OLAP-функциями. Более того, РСУБД затыкает за пояс многомерные СУБД с точки зрения масштабируемости. Объёмы многомерных баз находятся на сегодняшний день в пределах десятков и реже сотен гигабайт. Объёмы хранилищ данных на реляционных СУБД исчисляются десятками и сотнями терабайт. К тому, что РСУБД хороши только для OLTP - существует несколько специализированных СУБД для систем поддержки принятия решений - Teradata, Sybase IQ, RedBrick. Они имеют все атрибуты реляционных СУБД, однако для OLTP не используются. Ну, и, наконец, можно привести пример инструментов класса ROLAP (типа Microstrategy), которые OLAP-функционал реализуют с помощью сложного многопроходного SQL поверх тех же реляционных СУБД. Более того, основные производители СУБД (например, Oracle и Microsoft) идут к конвергенции технологий хранения данных. Об этом свидетельствует тот факт, что функционал OLAP постепенно становится частью ядра СУБД. Хотя, с другой стороны, например IBM не очень с этим спешит. В результате, наезд на РСУБД с этой стороны считаю не очень корректным. По существу топика, не думаю, что ООСУБД может быть быстрее, скажем, той же Терадаты, DB2 или Sybase IQ при решении задач поддержки принятия решений (читай, сложной обработки больших объёмов данных). С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:06 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru>> Ты работал непосредственно с заказчиком, который формулирует проблему для автоматизации? Ну работал. Давно это правда было. Ничего особого... Если у заказчика есть что-то, что он хочет автоматизировать, то у него уже есть входные и выходные данные для этого чего-то, которые, быть может, нуждаются в некоторой формализации. У заказчика есть проблема . Он не мыслит набором данных. Тем не менее нужно определить набор данных. Но кто сказал, что это нельзя представить в виде объектной модели? Есть CASE-средства для этого. Которые, кстати, могут на основе модели создавать прототипы классов. Профессиональному программисту (а не администратору баз данных) этого уже достаточно. ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:06 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
LankasterОн не мыслит набором данных. Тем не менее нужно определить набор данных. Но кто сказал, что это нельзя представить в виде объектной модели? Есть CASE-средства для этого. Которые, кстати, могут на основе модели создавать прототипы классов. Профессиональному программисту (а не администратору баз данных) этого уже достаточно. ИМХО А что - CASE уже генерить физические модели для РСУБД по логическим уже не умеют ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:18 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторПрофессиональному программисту (а не администратору баз данных) этого уже достаточно. И еще пожалуйста определите, причем тут администратор БД и может ли профессиональный программист быть проектировщиком БД, не занимаясь кодированием (я например таковым себя считаю) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:19 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUSА что - CASE уже генерить физические модели для РСУБД по логическим уже не умеют ? Умеют. А зачем? Зачем программисту на Java, например, физическая структура данных? Если он может работать с логической. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:22 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUS авторПрофессиональному программисту (а не администратору баз данных) этого уже достаточно. И еще пожалуйста определите, причем тут администратор БД и может ли профессиональный программист быть проектировщиком БД, не занимаясь кодированием (я например таковым себя считаю) ? Все IMHO: Мое личное мнение, что программист проектирует систему (ее архитектуру), а не структуру данных. Точнее даже не программист, а архитектор. Программист реализует эту архитектуру. Администратор баз данных - тот, кто следит за оптимизацией хранения (чтения-записи) данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:25 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Java, Linux, XML! Java, Linux, XML!! Java, Linux, XML!!! А XML в FastObjects есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:26 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster www.fun4me.narod.ru>> Ты работал непосредственно с заказчиком, который формулирует проблему для автоматизации? Ну работал. Давно это правда было. Ничего особого... Если у заказчика есть что-то, что он хочет автоматизировать, то у него уже есть входные и выходные данные для этого чего-то, которые, быть может, нуждаются в некоторой формализации. У заказчика есть проблема . Он не мыслит набором данных. Тем не менее нужно определить набор данных. Но кто сказал, что это нельзя представить в виде объектной модели? Есть CASE-средства для этого. Которые, кстати, могут на основе модели создавать прототипы классов. Профессиональному программисту (а не администратору баз данных) этого уже достаточно. ИМХО Объясните мне тогда, что такое объекты? Бизнес-данные классифицируются, определяются их взаимосвязи, учитываются дополнительные правила обработки и т.д. Почему это не является работой с объектами. Почему та же ER-модель не объектна? Потому что нет наследования и методов? Тогда четко говорите, что имеете дело с определенным методом работы, в котором некоторые математические абстракции бизнес-объектов называются объектами в программистском смысле. Эти программистские объекты не имеют ничего общего с объектами в природе, бизнесе и т.д., поскольку являются лишь определенным и приблизительным способом описания. Примерно так же, как теория относительности Галилея описывает механическое движение. И применяются методы ООП, в котором понятие "объект" узурпировало термин "объект", имеющийся в человеческом языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:30 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
AI Почему та же ER-модель не объектна? Потому что нет наследования и методов? Как минимум поэтому. AI Тогда четко говорите, что имеете дело с определенным методом работы, в котором некоторые математические абстракции бизнес-объектов называются объектами в программистском смысле. Эти программистские объекты не имеют ничего общего с объектами в природе, бизнесе и т.д., поскольку являются лишь определенным и приблизительным способом описания. Примерно так же, как теория относительности Галилея описывает механическое движение. И применяются методы ООП, в котором понятие "объект" узурпировало термин "объект", имеющийся в человеческом языке. Да, это определенный метод работы. Естественно, невозможно абсолютно точно отобразить реальность. "Программистские объекты" - лишь попытка приблизиться к реальности. На мой взгляд, пока - самая удачная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:37 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster ASCRUSА что - CASE уже генерить физические модели для РСУБД по логическим уже не умеют ? Умеют. А зачем? Зачем программисту на Java, например, физическая структура данных? Если он может работать с логической. Я не очень понимаю, как на Java можно работать с логической структурой данных. Если Вы считаете, что обьект в ООП можно назвать логической (чистой) структурой, один в один соотвествущей реальному обьекту в мире, то Вы глубоко ошибаетесь. авторВсе IMHO: Мое личное мнение, что программист проектирует систему (ее архитектуру), а не структуру данных. Точнее даже не программист, а архитектор. Программист реализует эту архитектуру. Администратор баз данных - тот, кто следит за оптимизацией хранения (чтения-записи) данных. Не возможно спроектировать систему и ее архитектуру без формализации ее структуры и описания ее бизнес-процессов. Все это элементарно делается на РСУБД, где на DDL описываются структуры хранения данных, а на SQL, DML и языке хранимых процедур прописывается бизнес-логика. БД получается законченным самостоятельным модулем системы. Дальнейшая разработка клиентской части - это уже вторичное дело и без разницы на чем ее делать - на ООП языках, веб-технологиях или вообще работать напрямую через ISQL. Соотвествующе пытаться подогнать СУБД только под критерий "чтоб было удобно одной из технологии разработки клиентских приложений" мне кажется не рациональным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:38 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster"Программистские объекты" - лишь попытка приблизиться к реальности. На мой взгляд, пока - самая удачная. На мой взгляд это не удачная, а устаревшая модель приближения к реальности. Концепция обьединения формализованных данных с методами их обработки, да еще с поддержкой посредством наследования расширения аттрибутов обьекта мне лично в последнее время не нравиться. Можно подумать, что если у меня в иерархии классов от класса "Обезьяна" будет наследован класс "Человек", то я в любой момент смогу "привести" человека к обезьяне и получить размер хвоста и модель ее поведения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:47 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUSЯ не очень понимаю, как на Java можно работать с логической структурой данных. Если Вы считаете, что обьект в ООП можно назвать логической (чистой) структурой, один в один соотвествущей реальному обьекту в мире, то Вы глубоко ошибаетесь. Не один в один. Но близко. Гораздо ближе, чем таблица :) У объекта есть поведение (методы). Фактически объект - это объединение данных и их поведения в одной сущности. Мне это нравится. ASCRUSНе возможно спроектировать систему и ее архитектуру без формализации ее структуры и описания ее бизнес-процессов. Все это элементарно делается на РСУБД, где на DDL описываются структуры хранения данных, а на SQL, DML и языке хранимых процедур прописывается бизнес-логика. БД получается законченным самостоятельным модулем системы. Дальнейшая разработка клиентской части - это уже вторичное дело и без разницы на чем ее делать - на ООП языках, веб-технологиях или вообще работать напрямую через ISQL. Соотвествующе пытаться подогнать СУБД только под критерий "чтоб было удобно одной из технологии разработки клиентских приложений" мне кажется не рациональным. Есть разные подходы. Лично я считаю, что объектный подход хорош. Есть задачи, когда данные надо отделить от приложения. Но опять же, у данных есть поведение. Это не просто набор таблиц. Приходится писать скрипты, триггера, задавать констрейнты... Вполне возможно сделать это в рамках приложения и описать некий интерфейс работы данными посредством приложения. Ведь закачивая данные в Oracle фактически пользователю навязывается это приложение (сама СУБД) для работы с данными. Разве не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:50 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster AI Почему та же ER-модель не объектна? Потому что нет наследования и методов? Как минимум поэтому. Вот тут-то Вы, Штирлиц, и попались. Матчасть надо учить. Как Вы объясните наличие сущностей супертип-подтип в ER-модели? Подтип наследует атрибуты супертипа и является одновременно экземпляром и супертипа, и подтипа. Далее. Lankaster www.fun4me.narod.ru Дело в том, что одни и те же данные могут быть представлены как совершенно различные объекты в зависимости от точки зрения пользователя. Следовательно, мапинга Вам избежать не удастся. А так как вы точку зрения одного приложения (одной маленькой и ничтожной частички большой и прекрасной системы) делаете основной, то Вы затрудняете работу других приложений с теми же данными. Значит это разные классы. Класс-то один, поскольку данные хранятся в одном-единственном экземпляре, но для разных целей представляются в разных видах. Очень интересно смотреть на представления, показывающие одни и те же данные в иногда совершенно разном виде. Lankaster tygra А если еще учесть то, что вся бизнес-логика сосредоточена на клиенте - ну извините, мне это нафиг не нужно. Быть привязанным к клиенту на веки вечные? А сервер приложений это тоже клиент? Разумеется! А что же по-вашему? Сервер СУБД? Опять-таки, матчасть надо учить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:52 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUS На мой взгляд это не удачная, а устаревшая модель приближения к реальности. Концепция обьединения формализованных данных с методами их обработки, да еще с поддержкой посредством наследования расширения аттрибутов обьекта мне лично в последнее время не нравиться. Можно подумать, что если у меня в иерархии классов от класса "Обезьяна" будет наследован класс "Человек", то я в любой момент смогу "привести" человека к обезьяне и получить размер хвоста и модель ее поведения. Ну, это уже вопрос вкусов :) А получить данные о длине хвоста человека - вполне нормально. Она равна 0. Как правило :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 14:53 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
AI Вот тут-то Вы, Штирлиц, и попались. Матчасть надо учить. Как Вы объясните наличие сущностей супертип-подтип в ER-модели? Подтип наследует атрибуты супертипа и является одновременно экземпляром и супертипа, и подтипа. А методы? :) AI Класс-то один, поскольку данные хранятся в одном-единственном экземпляре, но для разных целей представляются в разных видах. Очень интересно смотреть на представления, показывающие одни и те же данные в иногда совершенно разном виде. Классы разные, а данные одни. Кто мешает строить связи между классами и аттрибутами? AI Lakaster А сервер приложений это тоже клиент? Разумеется! А что же по-вашему? Сервер СУБД? Опять-таки, матчасть надо учить. А вот тут, батенька, я с вами не соглашусь... Для СУБД сервер приложений клиент. А в рамках всего клиент-серверного приложения - однозначно сервер! Не ту матчасть учите :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:01 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторЕсть разные подходы. Лично я считаю, что объектный подход хорош. Есть задачи, когда данные надо отделить от приложения. Мне казалось всегда, что так и должно обычно быть. Иначе зачем вам вообще СУБД? авторНо опять же, у данных есть поведение. Это не просто набор таблиц. Приходится писать скрипты, триггера, задавать констрейнты... Так вам не хочется писать это все? Или вы не умеете на sql чего-то писать? Или кроме Java больше не на чем? (Как же я ненавижу Java :)) авторВполне возможно сделать это в рамках приложения и описать некий интерфейс работы данными посредством приложения. Зачем? Для этого есть средства у СУБД. Мне система, которая без клиента ничего из себя не представляет, нафиг не нужна. Да и большинству тоже. Хотя для тех, что продает такие решения, выход хорош - только через них можно чего-то сделать с данными. Хотя бы те же отчеты. авторВедь закачивая данные в Oracle фактически пользователю навязывается это приложение (сама СУБД) для работы с данными. Разве не так? Не понял этого предложения. ЗЫ И что только люди не напишут, чтобы оправдать неприжившийся продукт вследствие его неконкурентноспособности. ===== Еще раз определимся :) Зачем вам данные в виде объекта? Пока понятно только вот это: 1. Либо вы не умеете по-другому, ну может просто не умеете на sql ХП, Триггеры писать или вообще с СУБД работать - сами говорили, что все само делается/хранится/используется, любой ламер типа может работать и т.д. 2. Либо ... ??? Ыыыы... Так вот хоть один пример приведите, с объектом данных, почему он лучше и т.д. А интерсно, действительно, если РСУБД позволяет представлять данные как я хочу - в одном месте у "объекта" такие свойства, в другом другие, то с ООСУБД как? Объект то уже есть - к нему ничего не добавишь/не убавишь в процессе работы с данными :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:09 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Про сервер приложений давайте не будем в этом топике, лучшие старый продолжим, там и так полсотни страниц, ну еще столько же добавим... Только не тут -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:11 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygra Про сервер приложений давайте не будем в этом топике, лучшие старый продолжим, там и так полсотни страниц, ну еще столько же добавим... Только не тут Ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:13 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru Абонент { Строка имя Адрес регистрация Контракт[] контракты } Контракт { Дата начало_действия Дата конец_действия Оконечное_устройство[] устройства } Оконечное_устройство { Тип тип } Задача: Найти имена всех абонентов с московской регистрацией, у которых в период с 2002-09-01 по 2002-09-30 было не менее трёх открытых контрактов на устройства заданного типа. Итак считаем время: SQL: select Абонент.имя, count(Контракт.КонтрактID) from Абонент inner join Контракт On Контракт.АбонентID=Абонент.АбонентID and (Контракт.начало_действия between 2002-09-01 and 2002-09-30 or Контракт.конец_действия between 2002-09-01 and 2002-09-30) inner join Список_связей on Список_связей.КонтрактID = Контракт.КонтрактID inner join Оконечное_устройство on Оконечное_устройство.id = Список_связей.Оконечное_устройствоID and Оконечное_устройство.тип = 'тип' where Абонент.регистрация = 'Москва' group by (Абонент.имя) having count(Контракт.КонтрактID) уф, вроде так... Исходим из следующих предположений 1. програмисты гении и построили ВСЕ нужные индексы правильных типов. 2. В таблицах Абонент, Контракт,Оконечное_устройство и Список_связей соответственно n,m,k,l записей. записей в таблице Абонент с регистрацией Москва 80%, устройств заданного типа 10% 3. SQL работает оптимально, все запросы уже скомпелированы и т.д. Время исполнения вычисляется так a. использование btree индекса по полю регистрация O()log2(n) b. использование btree индекса по полю Контракт.АбонентID O()log2(m) c. использование btree индекса по полям Контракт.начало_действия и Контракт.конец_действия O()2*log2(m) d. если в таблице связи сделать btree индекс по двум полям, то возможно, он сможет его использовать 1 раз для связи таблиц Контракт и Оконечное_устройство отсюда в идеале имеем: O()log2(l) e. фильтрация Оконечное_устройство.тип = 'тип' O()log2(k) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:13 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster AI Lakaster А сервер приложений это тоже клиент? Разумеется! А что же по-вашему? Сервер СУБД? Опять-таки, матчасть надо учить. А вот тут, батенька, я с вами не соглашусь... Для СУБД сервер приложений клиент. А в рамках всего клиент-серверного приложения - однозначно сервер! Не ту матчасть учите :) Тогда надо говорить не о клиент-серверных технологиях, а о многозвенных. И говорим мы именно о СУБД, объектных или не совсем. И сервер приложений - самый обычный клиент. Матчасть-то я учу нужную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:14 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygraА интерсно, действительно, если РСУБД позволяет представлять данные как я хочу - в одном месте у "объекта" такие свойства, в другом другие, то с ООСУБД как? Объект то уже есть - к нему ничего не добавишь/не убавишь в процессе работы с данными :) -- Tygra's -- Можно подробнее. Что значит представить данные как я хочу. Изменить схему? Или Вы имеете ввиду написать SELECT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:24 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygra Отсюда вывод: нужно побыстрее определиться, о чем же речь, о специальных приложениях, или обо всех? Если специальных - то смысла в обсуждении нет, т.к. можно найти такие специальные приложения, где любая СУБД будет медленнее какого-то своего решения. Речь идет о типах приложений. Например, геоинформационные системы. Самих приложений много может быть - вопрос инфо потребностей. Поэтому имеет смысл. И медленность не всегда главное. Я писал выше пример. Lankaster Данные - это всего лишь один из аспектов проблемы. Ведь суть приложения не чтение и сохранение данных, а их обработка. В основном суть информационной системы - автоматизация процессов, поведения данных. ИМХО Однако, более традиционно считается, что целью информационной системы является удовлетворение информационных потребностей. Объектное проектирование дает преимущество более точного и естественного моделирования за счет поведения объектов. Однако, это преимущество может оказаться незначительным в приложении, а преимущества РМД существенными. Т.е. преимуществ и недостатков несколько у разных подходов. Имеет значение все-таки - как они проявляются на конкретных типах приложений. В бизнес приложениях преимущества РМД слишком высоки – простота моделирования, и простота получения нужной информации. Вот там где эти преимущества РМД не очень проявляются или наоборот, там другое дело. Константин Лисянский Я бы не согласился с этим утверждением. Дело в том, что в последнее время в реляционные СУБД полным ходом добавляется работа с OLAP-функциями. Более того, РСУБД затыкает за пояс многомерные СУБД с точки зрения масштабируемости. Объёмы многомерных баз находятся на сегодняшний день в пределах десятков и реже сотен гигабайт. Объёмы хранилищ данных на реляционных СУБД исчисляются десятками и сотнями терабайт. Может там не ясно прозвучало – РМД, а не РСУБД. Т.е. ROLAP – это уже не РМД. Там моделируются не сущности. Там есть измерения, таблицы фактов. Это не РМД. Но поддерживает это и MOPAP – РСУБД. Например, Оракл. Я и пытался об этом сказать. Речь шла о том, что не следует понимать под современными РСУБД – СУБД, которые поддерживают только РМД. Т.е. задача у сторонников ООСУБД сложнее, чем бороться только с РМД, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:34 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru Абонент { Строка имя Адрес регистрация Контракт[] контракты } Контракт { Дата начало_действия Дата конец_действия Оконечное_устройство[] устройства } Оконечное_устройство { Тип тип } Задача: Найти имена всех абонентов с московской регистрацией, у которых в период с 2002-09-01 по 2002-09-30 было не менее трёх открытых контрактов на устройства заданного типа. Итак считаем время: SQL: select Абонент.имя, count(Контракт.КонтрактID) from Абонент inner join Контракт On Контракт.АбонентID=Абонент.АбонентID and (Контракт.начало_действия between 2002-09-01 and 2002-09-30 or Контракт.конец_действия between 2002-09-01 and 2002-09-30) inner join Список_связей on Список_связей.КонтрактID = Контракт.КонтрактID inner join Оконечное_устройство on Оконечное_устройство.id = Список_связей.Оконечное_устройствоID and Оконечное_устройство.тип = 'тип' where Абонент.регистрация = 'Москва' group by (Абонент.имя) having count(Контракт.КонтрактID) уф, вроде так... Исходим из следующих предположений 1. програмисты гении и построили ВСЕ нужные индексы правильных типов. 2. В таблицах Абонент, Контракт,Оконечное_устройство и Список_связей соответственно n,m,k,l записей. записей в таблице Абонент с регистрацией Москва 80%, устройств заданного типа 10%, фильтрация по датам дана нам 10% от k 3. SQL работает оптимально, все запросы уже скомпелированы и т.д. Время исполнения вычисляется так a. использование btree индекса по полю регистрация O()log2(n) b. использование btree индекса по полю Контракт.АбонентID O()log2(m) c. использование btree индекса по полям Контракт.начало_действия и Контракт.конец_действия O()2*log2(m) d. если в таблице связи сделать btree индекс по двум полям, то возможно, он сможет его использовать 1 раз для связи таблиц Контракт и Оконечное_устройство отсюда в идеале имеем: O()log2(l) e. фильтрация Оконечное_устройство.тип = 'тип' O()log2(k) плюс агрегация следующего количества записей по одному полю 0.8*n * 0.1 * m * 0.1 * k это конечно очень грубо но гдето так. функцию на агрегирование уже не помню, давно было. Предположим что мы получили t записей соответственно фильтрация займет O()t итого O()(log2(n)+3*log(m)+log2(l)+log2(k)+t) В следующем топике попропую просчтать под ОБД, если кто поможет, буду благодарен. PS. предыдущий пост с темже началом можно незамечать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:48 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygraМне казалось всегда, что так и должно обычно быть. Иначе зачем вам вообще СУБД? В том то и дело, что мне она не нужна. tygraИли вы не умеете на sql чего-то писать? Я честно признаюсь, что вообще не программист Я скорее заказчик. На sql писать, тем не менее, могу. Но не хочу. Я не хочу отделять данные от приложения. Какие преимущества это дает? tygraИли кроме Java больше не на чем? (Как же я ненавижу Java :)) И не только на Java... :) tygra авторВедь закачивая данные в Oracle фактически пользователю навязывается это приложение (сама СУБД) для работы с данными. Разве не так? Не понял этого предложения. СУБД - тоже приложение в конечном итоге. Для работы с данными. tygra ЗЫ И что только люди не напишут, чтобы оправдать неприжившийся продукт вследствие его неконкурентноспособности. Я бы не был так категоричен в оценках. Посмотрим. tygra любой ламер типа может работать и т.д. Я, кстати, говорил ровно противоположное. tygra А интересно, действительно, если РСУБД позволяет представлять данные как я хочу - в одном месте у "объекта" такие свойства, в другом другие, то с ООСУБД как? Объект то уже есть - к нему ничего не добавишь/не убавишь в процессе работы с данными :) Я понимаю, можно написать приложение так, что при изменении физической структуры данных не меняется код приложения. Но это требует по меньшей мере большой универсализации методов работы с данными. Читай - потеря гибкости и скорости. Как правило же менять приходится и базу и приложение. ООСУБД фактически незаметна при изменении. Меняете описание классов, логику их работы - трансформируется технология их храниения (автоматически либо согласно заданных программистом алгоритмов). А не наоборот, когда меняются данные, а потом под них адаптируется приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:55 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий Гаврилов Итак считаем время: SQL: select Абонент.имя, count(Контракт.КонтрактID) from Абонент inner join Контракт On Контракт.АбонентID=Абонент.АбонентID and (Контракт.начало_действия between 2002-09-01 and 2002-09-30 or Контракт.конец_действия between 2002-09-01 and 2002-09-30) inner join Список_связей on Список_связей.КонтрактID = Контракт.КонтрактID inner join Оконечное_устройство on Оконечное_устройство.id = Список_связей.Оконечное_устройствоID and Оконечное_устройство.тип = 'тип' where Абонент.регистрация = 'Москва' group by (Абонент.имя) having count(Контракт.КонтрактID) уф, вроде так... Исходим из следующих предположений 1. програмисты гении и построили ВСЕ нужные индексы правильных типов. 2. В таблицах Абонент, Контракт,Оконечное_устройство и Список_связей соответственно n,m,k,l записей. записей в таблице Абонент с регистрацией Москва 80%, устройств заданного типа 10% 3. SQL работает оптимально, все запросы уже скомпелированы и т.д. Время исполнения вычисляется так a. использование btree индекса по полю регистрация O()log2(n) b. использование btree индекса по полю Контракт.АбонентID O()log2(m) c. использование btree индекса по полям Контракт.начало_действия и Контракт.конец_действия O()2*log2(m) d. если в таблице связи сделать btree индекс по двум полям, то возможно, он сможет его использовать 1 раз для связи таблиц Контракт и Оконечное_устройство отсюда в идеале имеем: O()log2(l) e. фильтрация Оконечное_устройство.тип = 'тип' O()log2(k) По-моему, задача эта была для ООСУБД. Как на РСУБД это сделать и так вполне понятно. К слову, индекс по регистрации в Москве низкоселективный. Будет full scan - O(n). Но он будет быстрее выборки по индексу из-за меньшего количества операций ввода-вывода. Каковые я бы и попробовал сосчитать для оценки времени выполнения, а не количество строк. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 15:59 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
vadiminfoМожет там не ясно прозвучало – РМД, а не РСУБД. Т.е. ROLAP – это уже не РМД. Там моделируются не сущности. Там есть измерения, таблицы фактов. Это не РМД. Но поддерживает это и MOPAP – РСУБД. Например, Оракл. Я и пытался об этом сказать. Речь шла о том, что не следует понимать под современными РСУБД – СУБД, которые поддерживают только РМД. Т.е. задача у сторонников ООСУБД сложнее, чем бороться только с РМД, Ну, да в принципе понятно, что Вы имели в виду. Вы лишь немного смешали понятия из разных моделей. Дело в том, что многомерная модель (по вашему OLAP) не оперирует таблицами (это я о таблицах фактов). Там есть измерения и показатели. Соответственно, речь идёт об анализе показателей в разрезе различных измерений (в самом примитивном понимании этой модели). Если мне не изменяет мой склероз, старина Кодд не упоминал ничего о том, как эта ЛОГИЧЕСКАЯ модель должна быть организована. Например, MDDB (multidimensional database) реализует эту модель физически отлично от того, какую модель использует РСУБД. ROLAP же полагается на РСУБД для хранения данных, пользователю же представляет данные в многомерном виде, а обработка данных может вестись на сервере РСУБД ("чистый" ROLAP, так и на сервере OLAP в случае HOLAP). В целом всё верно. Просто я счёл необходимым поправить детали. Надеюсь, кому-то помогло :) А как хранят данные ООСУБД я даже и не знаю. Может, кто-то просветит? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 16:10 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
AIТогда надо говорить не о клиент-серверных технологиях, а о многозвенных. И говорим мы именно о СУБД, объектных или не совсем. И сервер приложений - самый обычный клиент. Хорошо, будем считать, что нас интересуют только отношения СУБД и ближнего к ней звена приложения. То есть насколько я понял, есть некая необходимость (или просто желание) хранить бизнес-логику в Oracle, MS SQL или другой СУБД (не обязательно реляционной)? И это кажется более предпочтительным, нежели в собственном приложении? Мне нет. Я понимаю, что есть определенные стереотипы, выработанные практикой. И определенно, СУБД обладают мощными средствами обработки данных. Но мне нравится чистый объектный подход. Мне нравится JDO, дающая возможность абстрагироваться от формата хранения данных. Вся моя логика - в моем приложении. Я могу работать с реляционной базой, если у клиента она уже есть и он не готов платить за объектную. Могу повысить эффективность за счет переключения на объектную. Это та свобода, которая мне нужна. И если при этом я получу всю ту функциональность, которую дают популярные сегодня СУБД, то why бы и not... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 16:10 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Дело в том, что многомерная модель (по вашему OLAP) не оперирует таблицами (это я о таблицах фактов). Наверно, я опять не ясно выразился. По моему - OLAP это не модель вообще. Таблицей фактов оперирует ROLAP, а многомерный формат это MOLAP. И оба они Олапы, и оба есть в РСУБД Оракл или как он себя сам называет ОРСУБД. Т.е. по моему - многомерный формат (а не модель данных) - MOLAP, а ROLAP оперирует измерниями и таблицами фактов, которые стоятся на рел таблицах, но не есть РМД, в которой моделируются сущности. Обе поддерживаются РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 16:33 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster AIТогда надо говорить не о клиент-серверных технологиях, а о многозвенных. И говорим мы именно о СУБД, объектных или не совсем. И сервер приложений - самый обычный клиент. Хорошо, будем считать, что нас интересуют только отношения СУБД и ближнего к ней звена приложения. То есть насколько я понял, есть некая необходимость (или просто желание) хранить бизнес-логику в Oracle, MS SQL или другой СУБД (не обязательно реляционной)? И это кажется более предпочтительным, нежели в собственном приложении? Мне нет. Я понимаю, что есть определенные стереотипы, выработанные практикой. И определенно, СУБД обладают мощными средствами обработки данных. Но мне нравится чистый объектный подход. Мне нравится JDO, дающая возможность абстрагироваться от формата хранения данных. Вся моя логика - в моем приложении. Я могу работать с реляционной базой, если у клиента она уже есть и он не готов платить за объектную. Могу повысить эффективность за счет переключения на объектную. Это та свобода, которая мне нужна. И если при этом я получу всю ту функциональность, которую дают популярные сегодня СУБД, то why бы и not... Гм. Дело в том, что я собственным приложением считаю БД и уж никак не какое то звено (база первична, все остальное вторично). И там мне не надо думать о таких понятиях, как абстрагироваться, формат хранения данных. И я вообще не понимаю, что такое чистый обьектный подход. Вся моя логика в БД, я могу красиво и мощно работать с данными, не задумываясь об алгоритмах их обработки, могу повысить эффективность методом граммотного проектирования БД. Это как раз та свобода, которая мне нужна и мне совсем не нужны те функции, которые предоставляют ООП языки для решения стандартных задач. Если клиент сильно навороченный не нужен, то я вообще просто у РСУБД запускаю поддержку встроенного веб-сервера и по HTML макетам рисую формы ввода/вывода информации для браузера на тех же хранимых процедурах, где в итоге вся программа состоит из запущенного РСУБД, БД и обычного браузера у клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 16:35 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster AIТогда надо говорить не о клиент-серверных технологиях, а о многозвенных. И говорим мы именно о СУБД, объектных или не совсем. И сервер приложений - самый обычный клиент. Хорошо, будем считать, что нас интересуют только отношения СУБД и ближнего к ней звена приложения. То есть насколько я понял, есть некая необходимость (или просто желание) хранить бизнес-логику в Oracle, MS SQL или другой СУБД (не обязательно реляционной)? И это кажется более предпочтительным, нежели в собственном приложении? Мне нет. Я понимаю, что есть определенные стереотипы, выработанные практикой. И определенно, СУБД обладают мощными средствами обработки данных. А просто мы СУБД и обсуждаем. Вы же все время пытаетесь абстрагироваться от СУБД в пользу обработки, но не хранения. Все бы вроде ничего, если б не безделица - очень много (даже не терабайты) данных "приложенческий" подход не обработает даже в случае кеширования готовых отчетов. Я уже не говорю о дополнительной транзакционной активности с большим количеством версий одних и тех же данных. Поэтому и была придумана клиент-серверная технология, чтобы "специализированные приложения - СУБД" могли за разумные сроки обработать некоторое количество информации. И защитить ее от возможных потерь в случаях аварий и т.д. Последнее. Подход "приложение будет работать с любой базой, если та поддерживает интерфейс ххх" страдает одним пороком. Всегда неявно при написании приложения будет подразумеваться оптимизация под одну конкретную СУБД - ту на которой в настоящий момент система пишется. И на другой СУБД приложение будет работать или плохо, или даже не работать совсем. И уж тогда придется отказаться практически от всех возможностей СУБД, в том числе и для ускорения работы. То есть о хорошей производительности можно будет говорить только при использовании "неявной" СУБД и забыть о производительности для всех других, хотя "приложение может с ними работать". Подход "поставим более мощную железку" тоже может не помочь. Для примера рекомендую прочитать первые две главы книги Т. Кайта "Оракл для профессионалов". Там рассматривается именно ошибка не учета особенностей оракула, которая привела к неработоспособности системы вне зависимости от производительности сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 16:37 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUSГм. Дело в том, что я собственным приложением считаю БД и уж никак не какое то звено (база первична, все остальное вторично). БД - это данные. Приложением является их представление в конкретной СУБД. Так? ASCRUS И там мне не надо думать о таких понятиях, как абстрагироваться, формат хранения данных. И я вообще не понимаю, что такое чистый обьектный подход. Вся моя логика в БД, я могу красиво и мощно работать с данными, не задумываясь об алгоритмах их обработки, могу повысить эффективность методом граммотного проектирования БД. А что значит "красиво и мощно работать"? Это не обработка данных? Просто одним из методов обработки данных является обработка их средствами СУБД. Причем практически всегда этого не хватает. Есть и другие подходы. Я именно об этом говорю. Понимая, что другие подходы не всегда оправданы. ASCRUS Если клиент сильно навороченный не нужен, то я вообще просто у РСУБД запускаю поддержку встроенного веб-сервера и по HTML макетам рисую формы ввода/вывода информации для браузера на тех же хранимых процедурах, где в итоге вся программа состоит из запущенного РСУБД, БД и обычного браузера у клиента. То есть пользователь через браузер напрямую с базой работает? Ню-ню... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 16:47 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторА что значит "красиво и мощно работать"? Это не обработка данных? Просто одним из методов обработки данных является обработка их средствами СУБД. Причем практически всегда этого не хватает . Есть и другие подходы. Я именно об этом говорю. Понимая, что другие подходы не всегда оправданы. Если вам практически всегда этого не хватает, значит либо вы делаете какие-то сверхспециализированные системы - а значит к нашей теме это не относится - либо вы просто не знаете, как нужно и можно делать вредствами СУБД. Однако большинству здесь присутствующих хватает возможностей СУБД на 99-100%. А если чего и нужно сделать, то можно и утилиту написать. Но не городить из-за этого огород (это обсуждалось и в топике про многозвенки) авторТо есть пользователь через браузер напрямую с базой работает? Ню-ню... А что, вы не верите? Не видели такого? Ну это не значит, что такого нет. Да и пользователь не напрямую с базой работает, а через вебсервер. Сразу замечу - на вебсервере может не быть никакой логики. Он просто транслирует данные и запросы в удобоваримый вид. Вся логика реализована и работает в БД. И кстати, с такой БД можно работать еще из множества мест без всяких проблем - был бы коннект к базе и все. А в вашем случае БД - это черный ящик, к которому доступ только из специализированного клиента. А вообще получается, что вы пришли туда, откуда все уже давно ушли. И ваш метод очень похож на FoxPro 2.6 for DOS, только с ООП - все то же: логика внутри клиента, данные там же практически, обработка данных там же.... Регрессия, однако? :) ===== Ну хоть один пример, зачем это все???????? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:01 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Lankaster БД - это данные. Приложением является их представление в конкретной СУБД. Так? Скажем так - БД - это данные и бизнес-логика, представленные в конкретной СУБД (из за разности диалектов производителей СУБД). LankasterА что значит "красиво и мощно работать"? Это не обработка данных? Просто одним из методов обработки данных является обработка их средствами СУБД. Причем практически всегда этого не хватает. Есть и другие подходы. Я именно об этом говорю. Понимая, что другие подходы не всегда оправданы. Практически мне всегда хватает обрабатывать данные средствами СУБД. Поэтому дайте определение термину "обработка данных". Lankaster То есть пользователь через браузер напрямую с базой работает? Ню-ню... Угу - он родимый и работает по 80-ому порту. Через встроенные в РСУБД веб-сервисы, систему защиты и прав, посредством вызовов хранимых процедур. Причем остальные порты вообще можно закрыть, если к БД требуется доступ только через веб-сервисы. Что тут Вы конкретно видите плохого ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:02 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Виталий Гаврилов Итак считаем время: SQL: select Абонент.имя, count(Контракт.КонтрактID) from Абонент inner join Контракт On Контракт.АбонентID=Абонент.АбонентID and (Контракт.начало_действия between 2002-09-01 and 2002-09-30 or Контракт.конец_действия between 2002-09-01 and 2002-09-30) inner join Список_связей on Список_связей.КонтрактID = Контракт.КонтрактID inner join Оконечное_устройство on Оконечное_устройство.id = Список_связей.Оконечное_устройствоID and Оконечное_устройство.тип = 'тип' where Абонент.регистрация = 'Москва' group by (Абонент.имя) having count(Контракт.КонтрактID) уф, вроде так... Исходим из следующих предположений 1. програмисты гении и построили ВСЕ нужные индексы правильных типов. 2. В таблицах Абонент, Контракт,Оконечное_устройство и Список_связей соответственно n,m,k,l записей. записей в таблице Абонент с регистрацией Москва 80%, устройств заданного типа 10% 3. SQL работает оптимально, все запросы уже скомпелированы и т.д. Время исполнения вычисляется так a. использование btree индекса по полю регистрация O()log2(n) b. использование btree индекса по полю Контракт.АбонентID O()log2(m) c. использование btree индекса по полям Контракт.начало_действия и Контракт.конец_действия O()2*log2(m) d. если в таблице связи сделать btree индекс по двум полям, то возможно, он сможет его использовать 1 раз для связи таблиц Контракт и Оконечное_устройство отсюда в идеале имеем: O()log2(l) e. фильтрация Оконечное_устройство.тип = 'тип' O()log2(k) По-моему, задача эта была для ООСУБД. Как на РСУБД это сделать и так вполне понятно. К слову, индекс по регистрации в Москве низкоселективный. Будет full scan - O(n). Но он будет быстрее выборки по индексу из-за меньшего количества операций ввода-вывода. Каковые я бы и попробовал сосчитать для оценки времени выполнения, а не количество строк. С уважением, Константин Лисянский http://lissianski.narod.ru Имхо, преимущества ООСУБД можно увидеть, если повнимательнее взглянуть на пункты b и d. Ведь в случае ООСУБД все контракты конкретного абонента окажутся доступны через механизм непосредственной навигации, т.е. никакого перебора индексов не потребуется. В остальном ООСУБД будут работать также, как и РСУБД (т.е. индексация по полям поиска здесь работает аналогично). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:02 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
AIА просто мы СУБД и обсуждаем. Вы же все время пытаетесь абстрагироваться от СУБД в пользу обработки, но не хранения. Не совсем так. Я говорю о том, что можно сосредоточиться на обработке данных, уделяя меньше внимания хранению. ООСУБД дают такие возможности. AI Все бы вроде ничего, если б не безделица - очень много (даже не терабайты) данных "приложенческий" подход не обработает даже в случае кеширования готовых отчетов. http://factiva.com работает на ООСУБД. Их база - несколько терабайт. AI Я уже не говорю о дополнительной транзакционной активности с большим количеством версий одних и тех же данных. Поэтому и была придумана клиент-серверная технология, чтобы "специализированные приложения - СУБД" могли за разумные сроки обработать некоторое количество информации. И защитить ее от возможных потерь в случаях аварий и т.д. Все это давно уже реализовано не только в реляционных базах данных. Транзакции, индексы, оптимистичные и пессимистичные блокировки, версионность.... AI Последнее. Подход "приложение будет работать с любой базой, если та поддерживает интерфейс ххх" страдает одним пороком. Всегда неявно при написании приложения будет подразумеваться оптимизация под одну конкретную СУБД - ту на которой в настоящий момент система пишется. И на другой СУБД приложение будет работать или плохо, или даже не работать совсем. И уж тогда придется отказаться практически от всех возможностей СУБД, в том числе и для ускорения работы. То есть о хорошей производительности можно будет говорить только при использовании "неявной" СУБД и забыть о производительности для всех других, хотя "приложение может с ними работать". Не совсем так. Если мы говорим о JDO, то существует масса реализаций, которые достаточно эффективно работают с разными СУБД. Да, есть потери от универсализации. Но потери от самостоятельного написания прослойки для маппинга гораздо существеннее. Кроме того, я точно знаю, что переход на объектную СУБД даст выигрыш в производительности. AI Подход "поставим более мощную железку" тоже может не помочь. Для примера рекомендую прочитать первые две главы книги Т. Кайта "Оракл для профессионалов". Там рассматривается именно ошибка не учета особенностей оракула, которая привела к неработоспособности системы вне зависимости от производительности сервера. Согласен на все 100. Ресурс увеличения производительности за счет железа СИЛЬНО ограничен, и на него нельзя закладываться. А учет особенностей Оракла - забота тех, кто реализует JDO. Если я использую ООСУБД, то все особенности учтены в концепции стандарта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:05 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Ведь в случае ООСУБД все контракты конкретного абонента И кому он нужен - никому неизвестный конкретный абонент, когда в базе их сотни тысяч? Чем он отличается от других таких же и как его искать? И кто такая Сара И где она живёт? А вдруг она не курит? А вдруг она не пьёт? А если мне контракты абонента ненужны - зачем мне их грузить тогда из базы? А не грузить нельзя, получается, ведь объект - это то, что существует вне нас, не зависит от нас, внешний мир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:11 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygra Однако большинству здесь присутствующих хватает возможностей СУБД на 99-100%. Вот в этом похоже и проблема. Как на форуме офтальмологов обсуждать особенности производства стекла. tygra А что, вы не верите? Верю, но для меня такой уровень безопасности неприемлем. tygra А вообще получается, что вы пришли туда, откуда все уже давно ушли. И ваш метод очень похож на FoxPro 2.6 for DOS, только с ООП - все то же: логика внутри клиента, данные там же практически, обработка данных там же.... Регрессия, однако? :) Ну хоть один пример, зачем это все???????? Чтобы повысить эффективность разработки сложных систем. Со сложной логикой и сложными структурами данных. ООП никто не отменял. Если Вы докажете, что придумали новый, более эффективный подход к разработке - получите всемирное признание. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:31 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUS Скажем так - БД - это данные и бизнес-логика, представленные в конкретной СУБД (из за разности диалектов производителей СУБД). То есть логика в самих данных? Это понятно. Но имеет несколько недостатков. На первый взгляд вижу: необходимость заполнения базы данными пользователя на этапе разработки, отсутствие гибкости. ASCRUS Угу - он родимый и работает по 80-ому порту. Через встроенные в РСУБД веб-сервисы, систему защиты и прав, посредством вызовов хранимых процедур. Причем остальные порты вообще можно закрыть, если к БД требуется доступ только через веб-сервисы. Что тут Вы конкретно видите плохого ? Безопасность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:37 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru>> Ведь в случае ООСУБД все контракты конкретного абонента И кому он нужен - никому неизвестный конкретный абонент, когда в базе их сотни тысяч? Чем он отличается от других таких же и как его искать? И кто такая Сара И где она живёт? А вдруг она не курит? А вдруг она не пьёт? А если мне контракты абонента ненужны - зачем мне их грузить тогда из базы? А не грузить нельзя, получается, ведь объект - это то, что существует вне нас, не зависит от нас, внешний мир. Кое что зависит от того, является ли коллекция контрактов абонента встроенной в объект Абонент. Т.е. это может быть: 1) Встроенная коллекция со встроенными объектами (тогда выбирая объект Абонент мы тянем и все его Контракты). 2) Встроенная коллекция ссылок на Контракты (тогда выбирая объект Абонент мы тянем фактически только перечень его Контрактов). 3) Атрибут - ссылка на коллекцию, которая содержит встроенные в нее объекты Контракт (или ссылки на них). Как бы мы ни поступили, прямая навигация по ссылкам будет работать быстрее, чем выборка соответствующих Абоненту контрактов с использованием индекса. Разумеется первичный поиск Абонента прийдется осуществлять по индексу и это займет скорее всего столько же (или очень близко к этому) времени, сколько и в реляционном хранилище. Важно понять, что при малом количестве переходов по прямой навигации и преобладании индексов реляционные системы будут в выигрыше. Но существуют задачи, в которых глубина объектной структуры на порядки превышает приводимый здесь пример. И вот для них ООСУБД оказываются значительно быстрее любых РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:37 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Как бы мы ни поступили, прямая навигация по ссылкам будет работать быстрее, чем выборка соответствующих Абоненту контрактов с использованием индекса. Вроде понятно. То есть это то же самое, как если бы в РСУБД ввести специальный тип "первичный ключ" или "ссылка", который будет использоваться вместо суррогатных первичных ключей и указывать непосредственно на физический адрес записи, без поиска по индексу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:43 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUS Угу - он родимый и работает по 80-ому порту. Через встроенные в РСУБД веб-сервисы, систему защиты и прав, посредством вызовов хранимых процедур. Причем остальные порты вообще можно закрыть, если к БД требуется доступ только через веб-сервисы. Что тут Вы конкретно видите плохого ? Безопасность.[/quot] Мне почему то кажется, что проблемами безопасности протоколов должны заниматься ОС и специализированное ПО (думаю никто не мешает перед СУБД сервачек с Firewall и веб-сервером поставить), а вот проблемами прав доступа к данным и их ссылочной целостности СУБД заниматься. И это как раз и есть часть бизнес-логики, кое место только в СУБД, чтобы никто из вне БД, будь то веб, Java или SQL консоль, не мог "подправить" данные в обход логики БД, если конечно у него нет администраторских прав на отключение работы триггеров. Вы какую из безопасностей имели ввиду ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:43 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
яВроде понятно. То есть это то же самое, как если бы в РСУБД ввести специальный тип "первичный ключ" или "ссылка", который будет использоваться вместо суррогатных первичных ключей и указывать непосредственно на физический адрес записи, без поиска по индексу? ошибся. ещё коллекции нужны. и будет то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:45 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Продолжим сказочку про белого бычка :)) авторВот в этом похоже и проблема. Как на форуме офтальмологов обсуждать особенности производства стекла. Правильно, у вас проблемы - всем хватает возможностей РСУБД, а вы пытаетесь всем доказать, что оказывается, не хватает, а вот если взять ООСУБД, которая на самом деле не ОО, а пшик, а ОО-данные и их логика на самом деле обрабатываются только на клиенте, который (клиент) на самом деле не просто клиент, а Java (да не простая)...... и т.д. и т.п. ... и в общем если все это вместо одной РСУБД взять - то вот тогда-то нам всем наконец-то хватит возможностей. И придет нам щастте . Куды девать - ворота открывать... :)) Я правильно все написал? :) авторВерю, но для меня такой уровень безопасности неприемлем. Какой - такой ? Веб-сервер может стоять на другом компутере - так оно и есть. Что здесь вас пугает? И, кстати, к ООБД вообще никак нельзя подлезть из вебсервера :) авторЧтобы повысить эффективность разработки сложных систем. Со сложной логикой и сложными структурами данных. ООП никто не отменял. Никто. ООП я и так использую - только не везде, куда не плюнь, а там, для чего нужно. Для разработки - собственно для программирования клиента. Только вот ОО-данные тут ни при чем. Не надо валить все в одну кучу. авторЕсли Вы докажете, что придумали новый, более эффективный подход к разработке - получите всемирное признание Да не я. Дейт, вроде, структуру описал, чего-то там еще. Я то что, я просто использую архитектуру клиент-сервер. Самый универсальный и самый простой способ. :) ЗЫ Так вы не привели ни одного примера. Как же так. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:52 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторТо есть логика в самих данных? Это понятно. Но имеет несколько недостатков. На первый взгляд вижу: необходимость заполнения базы данными пользователя на этапе разработки, отсутствие гибкости. По-руски расшифруйте. Так оно совсем не понятно. Из другой оперы вроде как. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:54 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
О! К предыдущему Логика не в самих данных - это у вас логика в самих данных. А у нас логика на сервере - вокруг данных. :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:55 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru яВроде понятно. То есть это то же самое, как если бы в РСУБД ввести специальный тип "первичный ключ" или "ссылка", который будет использоваться вместо суррогатных первичных ключей и указывать непосредственно на физический адрес записи, без поиска по индексу? ошибся. ещё коллекции нужны. и будет то же самое. Про коллекции не понял. А остальное вполне согласуется с действительностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 17:56 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Про коллекции не понял. Возможность доступа к данным по физическму адресу ("тип "ссылка"") и возможность ссылаться из одной строки сразу на несколько подчинённых строк (коллекции), потому как иначе будет поиск по индексу, при получении подчинённых записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:02 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruВроде понятно. То есть это то же самое, как если бы в РСУБД ввести специальный тип "первичный ключ" или "ссылка", который будет использоваться вместо суррогатных первичных ключей и указывать непосредственно на физический адрес записи, без поиска по индексу? А кто Вам сказал, что его там нет? Есть такой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:08 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что в споре об архитектуре, серверах приложений, веб-серверах и использовании "только средств СУБД" почему-то игнорируется простой факт: Современные системы класса Oracle - это вовсе не только хранилища данных. К ним идет куча прибамбасов, которые к хранению данных никакого отношения не имеют и приплетать их возможности в качестве доказательство возможностей РСУБД некорректно. Корень вопроса лежит в обсуждении того, следует ли обрабатывать данные на клиенте или с помощью хранимых процедур на сервере. Попробуем сконцентрироваться именно на этом. Не вижу никакой разницы между системами: 1) РСУБД с поддержкой хранимых процедур 2) ООСУБД в связке с сервером приложений, т.е. клиент работает с базой только через сервер приложений, а уж на сервере приложений мы можем реализовать любую обработку данных. Если кому-то кажется что есть какие-то отличия давайте смотреть на ООСУБД и сервер приложений как на единый продукт, который и работает на одной машине и поставляется под одной маркой. Где отличия-то. Могу сказать больше - преимущества налицо - две по сути различных задачи (хранение и обработка) можно разделить между серверами, сбалансировав нагрузку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:09 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> А кто Вам сказал, что его там нет? Есть такой. Я знаю, что в Oracle такой есть. Я хотел уточнить, правильно ли я понял, о каких преимуществах навигации по объектам идёт речь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:14 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoМогу сказать больше - преимущества налицо - две по сути различных задачи (хранение и обработка) можно разделить между серверами, сбалансировав нагрузку. "Две по сути разные задачи - надевание презерватива и использование его, можно разделить между носителями, сбалансировав нагрузку". В смысле - надеть на один носитель, а работать другим. Видите ли, с одной стороны, это разделение на необходимом уровне уже произведено - существуют довольно интеллектуальные устройства "хранения". С другой же стороны, как только приходится вспомнить про эффективность - оказывается, что обработка и хранения суть крайне взаимосвязаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:15 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
LankasterКогда программист пишет программу он работает с объектами, не так ли. Они существуют в памяти компьютера. Это данные, правильно? Чтобы их сохранить в РБД надо преобразовать эти данные к виду таблиц. Сделать маппинг. А если не нужно преобразовывать? Просто дать команду commit и объект уже в базе данных. Я так понимаю объектные СУБД. Ланкастер, вы, похоже, веруете в Большую Красную Кнопку, которую юзеру достаточно нажать - и его задача будет выполнена точно и в срок. Достаточно вставить commit - и данные попадут в ООБД. Ваша проблема в том, что книг умных вы начитались, а в коде хоть одной, хоть завалящей БД типа mysql не ковырялись. И поэтому слабо представляете себе реализацию и ее технические ограничения. Особенно мне понравилась фраза про "какая разница, на сервере или на клиенте - в приложении !". Как насчет сотен и тысяч "приложений", одновременно работающих с одними и теми же "объектами" ? кто их будет блокировать - разблокировать, клиент ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:23 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
softwarer www.fun4me.narod.ruВроде понятно. То есть это то же самое, как если бы в РСУБД ввести специальный тип "первичный ключ" или "ссылка", который будет использоваться вместо суррогатных первичных ключей и указывать непосредственно на физический адрес записи, без поиска по индексу? А кто Вам сказал, что его там нет? Есть такой. Нужно видимо пояснить, поскольку действительно возникает недопонимание. Таким указателем на адрес в памяти при аналогии с РСУБД должен выступать foreign key в таблице Контракты. Т.е. если в таблице контракты мы вместо АбонентID включим поле [Физический адрес объекта Абонент], то тогда по этой ссылке мы сможем быстро обратиться к объекту Абонент, соответствующего контракту. Но, если нам нужно хранить в составе объекта Абонент все ссылки на отвечающие ему объекты Контракт (что, кстати вовсе не очевидно), то ситуацию можно представить так: в таблице Абонент мы вводим ссылку [физический адрес списка ссылок на объекты контракт], т.е. ссылку на коллекцию, а уже сама коллекция состоит из [ссылок на физические адреса объектов котракт]. Таким образом, спозиционировавшись на объект Абонент мы перескакивая по ссылкам можем быстро находить все соответствующие контракты. В реляционной же модели без перебора индекса (select ... join ... ) нам обойтись не выйдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:24 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский А как хранят данные ООСУБД я даже и не знаю. Может, кто-то просветит? Много не знаю, но немного расскажу, итак Все базы данных состоят как минимум из трех файлов данных это 1. system файл данных 2. logical.log файл протокола изменений структуры данных 3. physical.log файл протокола изменений данных иногда system состоит из двух частей, это структура, т.н. словарь, и данные. Файлы данных обычно страничные по 16к, на одной странице обычно располагаются объекты только одного класса. В фиксированных областях этих файлов находятся индексные секции, в которых внутреннему ID объекта сопоставляется точное положение объекта в файле данных. Если надо подробнее могу поискать в подручной литературе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:30 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey Rovdoто ситуацию можно представить так: в таблице Абонент мы вводим ссылку [физический адрес списка ссылок на объекты контракт], т.е. ссылку на коллекцию, а уже сама коллекция состоит из [ссылок на физические адреса объектов котракт] Ну или вводим в таблицу Абонент поле "массив физических адресов объектов Контракт"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:32 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторМне кажется, что в споре об архитектуре, серверах приложений, веб-серверах и использовании "только средств СУБД" почему-то игнорируется простой факт: Современные системы класса Oracle - это вовсе не только хранилища данных. К ним идет куча прибамбасов, которые к хранению данных никакого отношения не имеют и приплетать их возможности в качестве доказательство возможностей РСУБД некорректно. А кто приплетает? Я вообще говорю про системы класса MS SQL 2000 :)) Там ничего такого нет. И никто ничего этакого не приплетает - TSQL, PL/SQL, встроенные родные языки для обработки данных. А вы что подумали? авторКорень вопроса лежит в обсуждении того, следует ли обрабатывать данные на клиенте или с помощью хранимых процедур на сервере. Попробуем сконцентрироваться именно на этом. Нет, не в этом. Некарашо - вы сами начали этот топик и назвали его ООСУБД быстрее ЛЮБЫХ решений с реляционными системами . Когда вас долго выспрашивали, чего такого конкретно дает ООСУБД и ОО-данные, вы не привели никакого примера в доказательство начатого вами вопроса топика. А теперь еще вообще пытаетесь перевести тему в совсем другое русло. Э нет, так не пойдет - давайте про ООСУБД. Либо так и скажите - нет никаких конкретных доказательств, аксиома это просто :) авторНе вижу никакой разницы между системами: 1) РСУБД с поддержкой хранимых процедур 2) ООСУБД в связке с сервером приложений, т.е. клиент работает с базой только через сервер приложений, а уж на сервере приложений мы можем реализовать любую обработку данных. Если кому-то кажется что есть какие-то отличия давайте смотреть на ООСУБД и сервер приложений как на единый продукт, который и работает на одной машине и поставляется под одной маркой. Где отличия-то. Я тоже не вижу. А если нет разницы - зачем выбирать худшее (ООСУБД)??? :) А если серьезно - конечно нет разницы. Всего лишь 1. - РСУБД и 1. ООСУБД 2. Сервер приложений 3. Данные обрабатываются неизвестно где и как 4. и т.д. авторМогу сказать больше - преимущества налицо - две по сути различных задачи (хранение и обработка) можно разделить между серверами, сбалансировав нагрузку Дык у вас нет нагрузки на БД. Какая может быть нагрузка на хранилище данных? ============================ Итого: Вместо того, чтобы людям, сдесь собравшимся, объяснить, чем таким круче ООСУБД, ОО-данные в виде ОО-объектов, вы ловко перевели тему на многозвенные технологии - а может никто и не заметит :)) Но по многозвенным технологиям тема совсем другая, другой топик и мы договорились, что здесь об этом не будем -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:33 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
vybegallo LankasterКогда программист пишет программу он работает с объектами, не так ли. Они существуют в памяти компьютера. Это данные, правильно? Чтобы их сохранить в РБД надо преобразовать эти данные к виду таблиц. Сделать маппинг. А если не нужно преобразовывать? Просто дать команду commit и объект уже в базе данных. Я так понимаю объектные СУБД. Ланкастер, вы, похоже, веруете в Большую Красную Кнопку, которую юзеру достаточно нажать - и его задача будет выполнена точно и в срок. Достаточно вставить commit - и данные попадут в ООБД. Ваша проблема в том, что книг умных вы начитались, а в коде хоть одной, хоть завалящей БД типа mysql не ковырялись. И поэтому слабо представляете себе реализацию и ее технические ограничения. Особенно мне понравилась фраза про "какая разница, на сервере или на клиенте - в приложении !". Как насчет сотен и тысяч "приложений", одновременно работающих с одними и теми же "объектами" ? кто их будет блокировать - разблокировать, клиент ? Все названные проблемы разрешимы (в большинстве случаев - автоматическими средствами ООСУБД). Не стану говорить про большую кнопку, но явно есть неверие в само наличие этой кнопки. Господа, попробуйте это руками и вы поймете, что кнопка действительно есть, и слова по простой commit вполне справедливы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:34 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygra Некарашо - вы сами начали этот топик и назвали его ООСУБД быстрее ЛЮБЫХ решений с реляционными системами . Когда вас долго выспрашивали, чего такого конкретно дает ООСУБД и ОО-данные, вы не привели никакого примера в доказательство начатого вами вопроса топика. А теперь еще вообще пытаетесь перевести тему в совсем другое русло. Э нет, так не пойдет - давайте про ООСУБД. Либо так и скажите - нет никаких конкретных доказательств, аксиома это просто :) ============================ Итого: Вместо того, чтобы людям, сдесь собравшимся, объяснить, чем таким круче ООСУБД, ОО-данные в виде ОО-объектов, вы ловко перевели тему на многозвенные технологии - а может никто и не заметит :)) Но по многозвенным технологиям тема совсем другая, другой топик и мы договорились, что здесь об этом не будем Ну не я поднял тему многозвенных технологий в этом топике. А в целом согласен - хотелось бы вернуться к вопросу о быстродействии, а для других аспектов создавать новые или выбирать существующие топики. Кстати подтвержаю следующее. ОО-системы быстрее не для любых задач, а только для некоторых (там, где есть сложноструктурированные данные). Возможно в начале этого топика я это и не совсем ясно выразил (но и сам этот топик вышел из другого, так что не обессутьте - недоглядел). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:42 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygraДык у вас нет нагрузки на БД. Какая может быть нагрузка на хранилище данных? Поддержка ACID-транзакций, индексов, блокировок, целостности данных - этого то никто не отменял. И объектные системы все это поддерживают равно как и реляционные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:45 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий ГавриловВсе базы данных состоят как минимум из трех файлов данных Это файлы операционной системы? А с сырыми устройствами ООСУБД работают? Это к вопросу производительности. Файлы данных обычно страничные по 16к, на одной странице обычно располагаются объекты только одного класса. РСУБД уже давно работают с блоками переменной длины. По-моему ООСУБД отстают. В фиксированных областях этих файлов находятся индексные секции, в которых внутреннему ID объекта сопоставляется точное положение объекта в файле данных. Если надо подробнее могу поискать в подручной литературе Ну, в общем, маловато будет. Какие бывают индексы? Есть ли понятие записи? Как осуществляется доступ по индексу? Какова роль оптимизатора? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 18:49 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Виталий ГавриловВсе базы данных состоят как минимум из трех файлов данных Это файлы операционной системы? А с сырыми устройствами ООСУБД работают? Это к вопросу производительности. Файлы данных обычно страничные по 16к, на одной странице обычно располагаются объекты только одного класса. РСУБД уже давно работают с блоками переменной длины. По-моему ООСУБД отстают. В фиксированных областях этих файлов находятся индексные секции, в которых внутреннему ID объекта сопоставляется точное положение объекта в файле данных. Если надо подробнее могу поискать в подручной литературе Ну, в общем, маловато будет. Какие бывают индексы? Есть ли понятие записи? Как осуществляется доступ по индексу? Какова роль оптимизатора? С уважением, Константин Лисянский http://lissianski.narod.ru Ну вся эта информация сильно зависит от типа ООСУБД. Могу дать инфу о FastObjects и Versant Developer Suite на английском (документация на продукты, которую можно и скачать вместе с самими продуктами на versant.com). Об индексах в FastObjects: There are different types of index structures that are generally employed by databases. These range from simple indexes on sequential files, hash tables, to varying kinds of tree structures. FastObjects uses B+ tree structures to build indexes. In a FastObjects index tree, each entry in a leaf consists of a pair of values. The first value is the index entry value, the so-called key. It represents the value of the member of a specific object. The second value is the object identity of the object, whose member has a specific value. FastObjects uses the object identities to locate objects. If an objects’ object identity is known it can be directly accessed. The index tree is sorted by keys. The key values in the root node and the inner nodes define the interval of the keys that are stored in the associated sub-trees. Within B+ tree indexes, there are two varieties: unique indexes and non-unique ones. ... И еще 20 страниц с рисуночками и объяснениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 19:06 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
ASCRUS Мне почему то кажется, что проблемами безопасности протоколов должны заниматься ОС и специализированное ПО (думаю никто не мешает перед СУБД сервачек с Firewall и веб-сервером поставить), а вот проблемами прав доступа к данным и их ссылочной целостности СУБД заниматься. И это как раз и есть часть бизнес-логики, кое место только в СУБД, чтобы никто из вне БД, будь то веб, Java или SQL консоль, не мог "подправить" данные в обход логики БД, если конечно у него нет администраторских прав на отключение работы триггеров. Вы какую из безопасностей имели ввиду? :) Согласен, защитить можно. Обеспечивать целостность данных - одна из основных задач СУБД. С этим я спорить не буду. Объектные СУБД так же точно блюдут ее :) Права доступа - легко решаемая задача и в рамках того, что Вы называете клиентом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 20:45 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygra Правильно, у вас проблемы - всем хватает возможностей РСУБД, а вы пытаетесь всем доказать, что оказывается, не хватает, Всем ли? Поверьте, не всем. tygra а вот если взять ООСУБД, которая на самом деле не ОО, а пшик, а ОО-данные и их логика на самом деле обрабатываются только на клиенте, который (клиент) на самом деле не просто клиент, а Java (да не простая)...... и т.д. и т.п. ... и в общем если все это вместо одной РСУБД взять - то вот тогда-то нам всем наконец-то хватит возможностей. И придет нам щастте . Куды девать - ворота открывать... :)) Нет, вместо таблиц, скриптов, триггеров, маппинг-слоя и самого приложения, оставить только приложение. tygra ЗЫ Так вы не привели ни одного примера. Как же так. Мне что ТЗ выложить? Посмотрите примеры на сайте производителя. Там много. Только на английском. Объектный подход к сохранению данных (а не только объектные СУБД) полезен тогда, когда приходится работать со сложными объектными моделями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 20:56 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
tygraО! К предыдущему Логика не в самих данных - это у вас логика в самих данных. А у нас логика на сервере - вокруг данных. :) Нет, у меня логика в отношении классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 20:58 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Точнее, в поведении и отношениях классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 22:14 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
А что кто скажет про UniSQL в сравнении с FastObjects? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 22:16 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
FastObjects uses B+ tree structures to build indexes И всё? Ну, тогда всё понятно. Btree-индексы хорошо подходят для приложений OLTP. В приложениях типа DSS неплохо ещё бы иметь другие типы индексов (например, bitmap-индексы, векторные индексы, MDC-индексы). Вот Вам ответ на вопрос топика - ООСУБД точно не быстрее реляционных в приложениях, где нужна сложная обработка больших объёмов данных. А как в ООСУБД с параллелизмом? Как решаются вопросы работы с большими объёмами данных? Есть ли, к примеру партишионинг? Как насчёт механизмов high availability? Могу дать инфу о FastObjects и Versant Developer Suite на английском Пока не надо. Краткого введения с Вашей стороны пока достаточно. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 22:34 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Ну что, посмотрел я одним глазком на этот самый Versant, точнее, на его документацию. С точки зрения обработки больших объемов данных - фуфло. 1. Нет параллельного архивирования - восстановления. 2. Оптимизатор явно на коленке написан, "For performance reasons, Versant recommends the use of b-tree indexes–even for queries— when there are more than 100,000 instances of a particular class." Конечно, никаких партишн элиминэйшн, read ahead, битных индексов, роллапов и datawarehouse фишек. 3. Разграничение прав доступа - курям на смех. Юзеру можно дать доступ (тотальный) и отобрать доступ. Все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2004, 23:38 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский FastObjects uses B+ tree structures to build indexes И всё? Ну, тогда всё понятно. Btree-индексы хорошо подходят для приложений OLTP. В приложениях типа DSS неплохо ещё бы иметь другие типы индексов (например, bitmap-индексы, векторные индексы, MDC-индексы). Вот Вам ответ на вопрос топика - ООСУБД точно не быстрее реляционных в приложениях, где нужна сложная обработка больших объёмов данных. А как в ООСУБД с параллелизмом? Как решаются вопросы работы с большими объёмами данных? Есть ли, к примеру партишионинг? Как насчёт механизмов high availability? Есть и high availability и Fault Tolerant и созданы были ООСУБД как раз для эффективного параллелизма. Вопросы работы с большими объёмами данных решаются на ура, я уже приводил пример http://www.factiva.com/ru/ Там ООСУБД работает с 2 (!) Терабайтами информации (размер БД) и + к этому каждый день туда заливается 2 Гб!!! Этого мало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 15:48 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
А объектов там сколько заливается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 16:23 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
vybegalloНу что, посмотрел я одним глазком на этот самый Versant, точнее, на его документацию. С точки зрения обработки больших объемов данных - фуфло. 1. Нет параллельного архивирования - восстановления. 2. Оптимизатор явно на коленке написан, "For performance reasons, Versant recommends the use of b-tree indexes–even for queries— when there are more than 100,000 instances of a particular class." Конечно, никаких партишн элиминэйшн, read ahead, битных индексов, роллапов и datawarehouse фишек. 3. Разграничение прав доступа - курям на смех. Юзеру можно дать доступ (тотальный) и отобрать доступ. Все. Из документации FastObjects: В FastObjects могут использоваться различные способы доступа к объектам. Принципиально различают два основных типа: по ссылкам и по значениям. Поскольку FastObjects является объектной базой данных, то во всех случаях лучшие показатели производительности достигаются при отслеживании взимосвязей между объектами (т.е. ссылок). Доступ по значению в общем случае необходим только для отыскания корневых объектов и других точек входа в объектную сеть (граф), объекты которой уже должны выбираться с использованием найденных ссылок на них. В следующих разделах мы несколько подробнее рассмотрим особенности этих двух типов доступа. Будучи объектной базой данных, FastObjects обладает полными описаниями всех хранимых классов, объектов, их данных и взаимосвязей. Именно поэтому самым быстрым и естественным способом выборки объектов является непосредственная навигация по объектным сетям с использованием межобъектных ссылок. Метод доступа по значению, в отличие от описанного выше, не предполагает использования каких-либо знаний о структуре модели. В этом случае, один или несколько искомых объектов выбираются исходя из соответствия значений их атрибутов заданным условиям. В реляционных базах данных возможность прямой навигации по объектным связям отсутствует. При работе с ними обращения ко всем данным происходят только с использованием выборки по значению. Поэтому такой метод может показаться вполне естественным для тех разработчиков, которые не имеют опыта использования объектных баз данных. И как результат — для выборки необоснованно используются запросы, в то время как доступ на основе прямой навигации остается невостребованным. Даже при использовании объектных баз данных, возникают ситуации когда выборка объектов должна производиться исходя из значений их атрибутов. При этом запросы (queries) — это только один из доступных механизмов, позволяющий найти все объекты, удовлетворяющие заданным условиям. В FastObjects поддерживается несколько способов выборки объектов по значению. К таким способам относятся: поиск объектов по значениям их идентификаторов (ID) или ключам, фильтруемые пространства классов (extents) и запросы. Поиск объектов по значениям ключей предполагает наличие предопределенных индексов. Фильтруемые пространства классов и запросы не требуют обязательного наличия индексов, но могут использовать их в своей работе. Во многих случаях поиск и фильтрация обеспечивают гораздо более высокую производительность по сравнению с запросами. Таким образом, если сравнивать быстродействие только лишь запросов, то FastObjects проиграет реляционным системам и с этим никто не спорит. Что же касается возможностей FastObjects, то он расчитан на использование в приложениях среднего масштаба. Для больших систем Versant позиционирует другой продукт - Versant Developer Suite, обладающий более широким набором функций, но и более сложный в эксплуатации и обучении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 20:57 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Sp1Derсозданы были ООСУБД как раз для эффективного параллелизма А какие степени параллелизма существуют? Например, запросы различных пользователей выполняются параллельно, запросы одного пользователя выполняются параллельно, шаги одного запроса выполняются параллельно. Как система определяет, что запрос должен выполняться параллельно? Вопросы работы с большими объёмами данных решаются на ура, я уже приводил пример http://www.factiva.com/ru/ Там ООСУБД работает с 2 (!) Терабайтами информации (размер БД) и + к этому каждый день туда заливается 2 Гб!!! Этого мало? Сколько пользователей рбоатют доновременно? Насколько сложны запросы? Каково среднее время отклика на запрос? Каков характер нагрузки OLTP или DSS? Мало залить 2 Терабайта. Если их потом не трогать, то можно и подливать в день по 2 ГБ. Проблем тоже не видно. Да и двумя терабайтами уже давно никого не удивишь. В настоящее время объёмы крупнейших хранилищ данных (на реляционных СУБД) уже считаются десятками и сотнями терабайт. Так что, восклицательные знаки можно убирать :) Alexey Rovdo Таким образом, если сравнивать быстродействие только лишь запросов, то FastObjects проиграет реляционным системам и с этим никто не спорит. Похоже, спорит. И пока не очень успешно :) А что ещё можно сравнивать кроме запросов? В РСУБД кроме запросов больше ничего нет. Всё запросами делается. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 21:16 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruА объектов там сколько заливается? Тысячи и даже десятки тысяч транзакций в секунду, миллионы объектов и тысячи одновременно работающих пользователей - не проблема. Например, на базе Versant VDS созданы: некоторые военные системы (анализ данных радаров, прогнозирование воздушной обстановки, управление боевыми действиями в воздухе), которыми оснащаются крейсеры класса "Эгида" (Aegis); система прогнозирования погоды в масштабах всей планеты на базе поступающих в реальном времени данных с десятков спутников и сотен наземных станций. Возможности FastObjects несколько меньше, но они также впечатляют и вполне достаточны для подавляющего большинства бизнес-систем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 22:28 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Мало залить 2 Терабайта. Если их потом не трогать, то можно и подливать в день по 2 ГБ. Проблем тоже не видно. Да и двумя терабайтами уже давно никого не удивишь. В настоящее время объёмы крупнейших хранилищ данных (на реляционных СУБД) уже считаются десятками и сотнями терабайт. Так что, восклицательные знаки можно убирать :) А что ещё можно сравнивать кроме запросов? В РСУБД кроме запросов больше ничего нет. Всё запросами делается. http://lissianski.narod.ru Ну про Versant могу сказать, что на базе VDS вполне успешно работают базы объемом более 20 Тб. Ну а уж если говорить пр БД вообще, то знаете ли вы где и на чем лежит САМАЯ БОЛЬШАЯ в мире база данных ? Так в том то и суть - если вы работаете с ООСУБД, то запросы применять нужно только в крайнем случае, правильнее пользоваться прямой навигацией. Именно в тех задачах, где по смыслу задачи прямая навигация может активно использоваться, выйгрыш в производительности от перехода с РСУБД на ООСУБД будет очень заметен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 22:39 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoНапример, на базе Versant VDS созданы: некоторые военные системы (анализ данных радаров, прогнозирование воздушной обстановки, управление боевыми действиями в воздухе), которыми оснащаются крейсеры класса "Эгида" (Aegis); А в танках Абрамсь стоит Interbase прастите, неудержался :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 22:53 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Ну а уж если говорить пр БД вообще, то знаете ли вы где и на чем лежит САМАЯ БОЛЬШАЯ в мире база данных Тынц Там можено пойти в раздел Database Size, Hybrid. Находим, что это Stanford Linear Accelerator Center с БД размером 828 293 ГБ, то есть 828 ТБ. Однако читаем дальше что Hybrid Databases provide query access to data on hierarchical, or multi-tiered, storage systems that include both disk and tape. Here Database Size measures the total volume of user data stored on all media. В этом исследовании не участвовала компания WalMart, крупнейшая в мире розничная сеть. У них самое крупное хранилище данных на СУБД Teradata. Они весьма закрытые и никому не рассказывают сколько у них данных. Недавно они его расширили - Бдынь С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 22:58 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
А в танках Абрамсь стоит Interbase Гы :) С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 23:00 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Stanford Linear Accelerator использует объектную СУБД Objectivity/DB , весьма популярную в научных кругах. Кстати сейчас объем этой базы уже превысил петабайт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 23:26 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Кстати, похоже, у компании Versant дела не так уж и хорошо идут. Акции очень уж неприятный тренд имеют. Хотя, надо отдать должное, список клиентов, действительно впечатляет. Не думаю, правда, что Россия является фокусным рынком. Судя по обороту, компания небольшая. Наверняка, представительства в России нету. Или есть? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 23:46 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Stanford Linear Accelerator использует объектную СУБД Objectivity/DB , весьма популярную в научных кругах. Кстати сейчас объем этой базы уже превысил петабайт. Не сомневаюсь. Где же ещё быть огромным объёмам данных, если не в науке? Кстати, нарыл тут стаью . Выдержка (выделение моё): During the 1990s, relational technology once again came under attack, this time from the object-oriented database camp. For several reasons, however, object- oriented database systems were not successful. One of the key reasons was poor performance for generalized commercial database processing. Although relational databases eventually won the day, the debate did lead to object-like capabilities being added to relational products and the SQL standard. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2004, 23:58 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Ничего, паситесь тут пока... еще придет коллега ЧАЛ и всех победит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 03:10 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Зря Вы так Alex, ночью-то... P.S. Sorry за офтоп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 03:26 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Мне кажется что ООСУБД уже сейчас могут найти применения в приложениях работающих со сложными структурами данных (ГИС, САПР и т.п.). Однако что бы какая нибудь ООСУБД была более менее успешной нужно решить несколько задач 1) Она должна быть не медленнее РСУБД в задачах, где РСУБД традиционно сильны. 2) Пользователи должны получить возможность максимально "мягкого" перевода своих старых систем на рельсы ООСУБД. Компании эксплуатирующие у себя РСУБД не готовы выбросить все свои наработки и инвестиции просто в угоду новых технологий. 3) ООСУБД должна предоставлять удобные средства разработки приложений и логической организации структур данных. Но это не значит что она должна всего лишь обслуживать потребности ООП программистов. ООП программирование не является синонимом Объектности в широком смысле этого слова. Понятно, что успех продукта зависит не только от технической стороны вопроса (есть еще маркетинговая и т.п.). Сейчас кстати в Москве идет проект по разработке ООСУБД. Может у кого есть знакомые, готовые поднять например такую тему, как разработка парсера запросного языка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 11:38 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
авторСейчас кстати в Москве идет проект по разработке ООСУБД. Может у кого есть знакомые, готовые поднять например такую тему, как разработка парсера запросного языка? я язык то разработали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 12:04 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey Sh авторСейчас кстати в Москве идет проект по разработке ООСУБД. Может у кого есть знакомые, готовые поднять например такую тему, как разработка парсера запросного языка? я язык то разработали? Я бы сказал, что есть наброски. То есть нужно довести до ума и сам язык. Основная идея - это максимально возможная в рамках модели данных совместимость с SQL-99 плюс все что полезно от OQL плюс дополнительные возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 14:44 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruА что кто скажет про UniSQL в сравнении с FastObjects? Сказать можно только то, что FastObjects это ООСУБД, для которой есть интерейсы под java, C++, .NET, а UniSQL это свой собственный язык програмирования БД. В UniSQL есть плюсы и минусы. плюсы 1. Единый язык на котором можно програмировать любую БД, для которой есть соответствующий "драйвер", в принципе тоже самое умеет и FastObjects 2. Работа одновременно с несколькими БД, аналогично и в FastObjects. минусы 1. Вряд-ли внутренний язык UniSQL сравним по возможностям с C++, или хотябы java, хотя сам не пробовал, не знаю. 2. Скорость работы на-прямую для любой БД, как объекнтой так и реляционной будеи выше чем через прослойку из UniSQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 14:45 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruJava, Linux, XML! Java, Linux, XML!! Java, Linux, XML!!! А XML в FastObjects есть? Есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 18:21 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин ЛисянскийКстати, похоже, у компании Versant дела не так уж и хорошо идут. Акции очень уж неприятный тренд имеют. Если посмотреть на тренд Nasdaq, то он не сильно отличается по форме. Хотя, очевидно, проблемы у Versant были. Сейчас, правда, у них глобальные реформы. Они прикупили Poet (благодаря чему в линейке продуктов появился Fastobjects), глобально реформируют структуру управления. Константин Лисянский Хотя, надо отдать должное, список клиентов, действительно впечатляет. Не думаю, правда, что Россия является фокусным рынком. Судя по обороту, компания небольшая. Наверняка, представительства в России нету. Или есть? Педставительств в России даже два (с 2004 года): в С.Петербурге Ленвендо в Москве Софткей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 19:15 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
LankasterЕсли посмотреть на тренд Nasdaq, то он не сильно отличается по форме Вы, наверное не смотрели. Иначе бы так не написали. Давайте посмотрим . На графике Versant в сравнении с Microsoft и Nasdaq. Nasdaq (как и Microsoft) уверенно выше нуля, Versant уверенно ниже. Педставительств в России даже два (с 2004 года): в С.Петербурге Ленвендо в Москве Софткей В одной компании работает 7 человек, из которых четыре директора, начальник отдела продаж и два технических консультанта. Вторая продаёт всё подряд. Бизнес будет ломовой :)) Я не имел в виду патнёров. Я имел в виду представительство компании в виде офиса компании. Извините за сарказм, не удержался. Просто шума вы тут наделали. Думаю, будет вам нелегко этот ваш Versant тут продвигать. Тут с реляционными СУБД, не очень вовремя вышедшими на рынок, нелегко приходится, а вы об объектно-ориентированных. Ну, что ж удачи. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 20:16 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский FastObjects uses B+ tree structures to build indexes И всё? Ну, тогда всё понятно. Btree-индексы хорошо подходят для приложений OLTP. В приложениях типа DSS неплохо ещё бы иметь другие типы индексов (например, bitmap-индексы, векторные индексы, MDC-индексы). С уважением, Константин Лисянский http://lissianski.narod.ru По поводу Btree-индексов - Я полностью согласен с ориентированностью на OLTP, это действительно так, но посмотрим на это с другой стороны: в правильно спроектированном приложении с ООМД, запросы в чистом виде практически не используются. Вся навигация идет по связям, а вот поиск по связям в объектных базах сделан существенно эффективнее чем просто B+ tree индексный поиск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 20:42 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Педставительств в России даже два (с 2004 года): в С.Петербурге Ленвендо в Москве Софткей В одной компании работает 7 человек, из которых четыре директора, начальник отдела продаж и два технических консультанта. Вторая продаёт всё подряд. С уважением, Константин Лисянский http://lissianski.narod.ru Во-первых, 7 человек это только руководящие сотрудники компании. А во-вторых, важно не сколько человек, а какие люди. Мы плохих людей не держим! А ваш сарказм по поводу SoftKey на мой взгляд неуместен. Это одна из наиболее развитых компаний, занимающихся продажей ПО на Российском рынке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 20:48 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский LankasterЕсли посмотреть на тренд Nasdaq, то он не сильно отличается по форме Вы, наверное не смотрели. Иначе бы так не написали. Давайте посмотрим . На графике Versant в сравнении с Microsoft и Nasdaq. Nasdaq (как и Microsoft) уверенно выше нуля, Versant уверенно ниже. Я говорил только о форме. Но тренд отрицательный, согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 20:56 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
По поводу Btree-индексов - Я полностью согласен с ориентированностью на OLTP, это действительно так, но посмотрим на это с другой стороны: в правильно спроектированном приложении с ООМД, запросы в чистом виде практически не используются. Вся навигация идет по связям, а вот поиск по связям в объектных базах сделан существенно эффективнее чем просто B+ tree индексный поиск. Правильно ли я понимаю, что СУБД Versant ориентирована на OLTP? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 21:27 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий ГавриловВо-первых, 7 человек это только руководящие сотрудники компании. А во-вторых, важно не сколько человек, а какие люди. Мы плохих людей не держим! А ваш сарказм по поводу SoftKey на мой взгляд неуместен. Это одна из наиболее развитых компаний, занимающихся продажей ПО на Российском рынке. Виталий, не сомневаюсь по поводу хороших людей. Снимаю шляпу перед компанией Softkey. Обидеть никого не хотел. Однако, не взыщите, если уж начали, будьте готовы к тому, что на вас будут нападать. Причём, гораздо покруче чем это сделал я. Сам примерно в такой же ситуации. Фанатизм ораклоидов безграничен (просьба к ораклоидам, не пинать слишком больно :) С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 21:32 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий ГавриловПо поводу Btree-индексов - Я полностью согласен с ориентированностью на OLTP, это действительно так, но посмотрим на это с другой стороны: в правильно спроектированном приложении с ООМД, запросы в чистом виде практически не используются. Вся навигация идет по связям, а вот поиск по связям в объектных базах сделан существенно эффективнее чем просто B+ tree индексный поиск. Итак допустим геоинформационная база(вроде этио как самая подходящая задача для ООСУБД). Надо найти все элементы в каком-то квадрате. Или допустим все пункты с определённым именем. Как вы тут будете пользоваться навигацией? Опишите мне такую реальную систему где можно обойтись одной навигацией. Да и вообще хоть бы кто какой пример привел как на ООСУБД надо чего писать. Тут говорили что на ООСУБД чуть ли не самые большие БД. Вот опишите как это может быть - миллионы одинаковых по структуре объектов - и никак не упорядочены. Насчет того что существенно эффетивнее. Может ссылку какую приведёте откуда вы это взяли? Я например не думаю что очень существенно. Да, объект читается по связи, но он читается то только по одному, а вот если надо сразу диапазон какой выбрать - то не знаю что будет быстрее. Ну и к тому же если есть индекс то по нему можно сразу найти оптимальным образом нужный элемент, а по связам может придётся еще ходить и ходить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 23:07 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
2Виталий Гаврилов: Почитал сайт http://www.lenvendo.ru Нашёл много орфографических ошибок. Из двух технических статей одна , похоже, находится на стадии творческих размышлений, вторая похожа на не очень удачный перевод материала, предназначенного для телекоммуникационного рынка США (у них там и дерегуляция и всё такое). Некоторые заявления заставляют улыбнуться: В то время как некоторые реляционные базы данных имеют пределы архитектуры в восемь-десять миллионов строк в таблице, Versant может поддержать до 2^48 объектов (2.81 тераобъектов) в каждой базе данных, и более чем 65000 баз данных в сети. Какие интересно некоторые реляционные базы данных имеются в виду? 8-10 миллионов даже MS Access может потянуть. Versant предоставляет и такие возможности как резервное копирование (которое поддерживает как полное, так и частичное копирование данных) и репликация для поддержки срочных резервных действий. Все эти возможности, вместе с такими особенностями, как динамическое изменение схемы, рекластеризация физической памяти и ее повторное использование – позволяет Versant поддерживать 24 x 7 телекоммуникационные приложения для решения критически важных, ответственных задач, чего не может ни одна другая база данных на современном рынке. Довольно амбициозно, не правда ли? Думаю, найдётся масса желающих задать вопросы на этот счёт. Я то думал весь телеком живёт на Oracle в качестве систем OLTP, а оно вон как поворачивается :) Рисунки в статье разглядеть невозможно. Некоторые рисунки отсутствуют вообще. Ни сколько не сомневаюсь в том, что речь идёт о мощной СУБД, но то, в каком виде это подаётся, вряд ли заставит кого-либо в это поверить. Виимо, вы сами не верили в то, что ваш сайт дальше первой страницы читать не будут. Опять-таки, критикую из добрых побуждений. Может, у вас что-то получится с этим Версантом, если посерьёзнее возьмётесь. А на вопросы по поводу параллелизма я так ответа и не получил. И справедливо спрашивают по поводу не только навигации, но и эффективной работы с большими множествами однородных данных. При такой неразвитой системе индексирования не очень понятно, как это делается. Как насчёт возможности выполнения запросов (или что там ещё есть) к данным в условиях отсутствия описания связей между данными (т.н. запросы ad-hoc)? Что для этого нужно делать? Писать программу, писать SQL-запрос? Я для себя пока понял так, что системы класса DSS на ООСУБД строить неэффективно из-за низкого быстродействия при характерном для DSS виде нагрузки. Про OLTP ничего не скажу, я этим не занимаюсь. Это пусть вас ораклоиды потрошат :) С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2004, 23:24 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий Гаврилов Константин Лисянский FastObjects uses B+ tree structures to build indexes И всё? Ну, тогда всё понятно. Btree-индексы хорошо подходят для приложений OLTP. В приложениях типа DSS неплохо ещё бы иметь другие типы индексов (например, bitmap-индексы, векторные индексы, MDC-индексы). С уважением, Константин Лисянский http://lissianski.narod.ru По поводу Btree-индексов - Я полностью согласен с ориентированностью на OLTP, это действительно так, но посмотрим на это с другой стороны: в правильно спроектированном приложении с ООМД, запросы в чистом виде практически не используются. Вся навигация идет по связям, а вот поиск по связям в объектных базах сделан существенно эффективнее чем просто B+ tree индексный поиск. Мне одному кажется, что это те же сетевые БД, вид сбоку ? И достоинства (быстродействие при доступе "по указателям") и недостатки (медленный доступ "по значению", сложности модицикации структур при изменении задачи) давно известны, сто раз обсосаны, жизнь всех расставила по местам - где Оракл и где Б-Трив ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 17:41 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Действительно, ООСУБ стали в какой-то мере развитием иерархической и сетевой моделей. Но именно развитием, а не копией. Некоторые названные вами недостатки (более медленный по сравнению с РСУБД доступ по значению) действительно имеют место. А некоторые (затруднения при модификации) - скорее наоборот. Существующие в современных объектных СУБД средства модификации структур данных (в т.ч. и без остановки базы) на мой взгляд могут дать большую фору всем аналогичным возможностям РСУБ. Вообще пора еще раз напомнить об одном важном заблуждении, у которого весьма глубокие исторические корни (см. следующее сообщение). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 17:49 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Всем известно, что сегодня подавляющее большинство систем хранения данных строится на базе т.н. реляционных СУБД. За 35 лет существования этой технологии уже успело вырасти целое поколение архитекторов и разработчиков, которые настолько привыкли и притерлись к особенностям существующих реляционных решений, что просто не допускают и мысли об использовании чего-то иного. Однако, если углубиться в прошлое, то можно увидеть, что используемая сегодня реляционная технология была вовсе не первым и не единственным из предлагавшихся подходов. В свое время вокруг этой темы кипели нешуточные страсти и ломалось немало копий. Чего стоят только названия некоторых ключевых событий этих сражений: «Великий спор», «Первый манифест», «Второй манифест» и т.д. Когда в 1969 году вышла первая статья Эдгара Кодда, посвященная реляционной модели, в мире баз данных бал правили CODASYL, со своей сетевой моделью хранения данных, и иерархическая СУБД IMS от компании IBM. Понадобились годы напряженного труда, тщательных научных изысканий и жарких дискуссий, наиболее примечательные из которых происходили на конференциях ACM SIGMOD в ноябре 71 в Сан Диего и в мае 74 в Мичигане. И только к концу 70-х появились первые работоспособные образцы реляционных СУБД. Популяризация и коммерциализация разработок заняли еще целое десятилетие, а их доводка и совершенствование продолжаются и поныне. Но наука никогда не стояла на месте и вслед за реляционной теорией появилась масса других, претендующих на звание лидера и на ее место в мире СУБД. И среди таких теорий особое место занимает объектно-ориентированный подход. Здесь стоит также отметить, что историю объектно-ориентированного подхода к хранению данных нельзя рассматривать вне контекста развития объектно-ориентированного программирования в целом. Именно разработка и реальное применение на практике первых объектных языков программирования, таких, например, как Object Lisp и особенно Smalltalk, привели исследователей к пониманию того факта, что реляционные СУБД никак не вяжутся с объектной парадигмой, предлагаемой этими языками. Первые идеи о необходимости реализации именно объектного хранения данных высказывались в научном сообществе уже в конце 70-х годов, однако в практическую плоскость они вылились только к началу 80-х, когда стартовали первые исследовательские проекты в этом направлении. Самой первой коммерческой объектно-ориентированной СУБД принято считать разработку компании GemStone Systems, осуществленную в 83-84 годах и выведенную на рынок в 87. Вскоре за ней последовали и другие. Многие из них родились в стенах известнейших университетов и стали своего рода фундаментом для систем следующих поколений. Разработка и выход первых объектных СУБД сопровождались активными дискуссиями в научном сообществе. И если в начале 80-х ученый мир в основном знакомился с этой технологией, впитывая и переваривая ее основные идеи, то ко второй половине этого десятилетия в нем воцарилась настоящая эйфория . Казалось, что еще чуть-чуть и волна новых объектно-ориентированных решений сметет с рынка только вошедшие в силу реляционные СУБД так же, как они когда-то смели решения CODASYL. В 1988 году прошел организованный университетом Беркли симпозиум разработчиков баз данных, отчет о котором, ставший широко известным под названием Laguna Beach Report, уже содержал все основные идеи объектно-ориентированных СУБД и объявлял эту линию как одну из самых перспективных в отрасли . А в 1989 году на конференции в Киото был принят т.н. «Первый манифест объектно-ориентированных СУБД», безоговорочно отдававший приоритет дальнейшего развития в руки разработчиков объектных СУБД . Тема развития объектного подхода к управлению данными оказалась настолько востребованной, что в составе консорциума Object Management Group в 1991 году была образована специальная группа ODMG для стандартизации отдельных решений по хранению и доступу к объектным данным. Забавно, что в последующем идеи, выработанные этой групой, оказали весьма значительное влияние на становление популярнейшего сегодня языка UML и некоторых других стандартов. Но к началу 90-х вспыхнувшая в научных кругах эйфория стала постепенно затихать . Оказалось, что для объектных СУБД очень трудно построить такое же простое и полное теоретическое обоснование, которое нашел Кодд для реляционной модели. К тому же, многие практические реализации объектных СУБД были слишком узко специализированы и ориентировались на постепенно вытесняемый язык Smalltalk, вместо активно развивающегося C++, а компании, вложившие средства в разработку систем на базе реляционных СУБД, просто не желали переучивать людей и переходить на новые технологии. Начались попытки каким-то образом связать объектный подход с реляционным , обеспечив пользователям возможность плавного перехода от одного к другому. Начало и середина 90-х — достаточно сложный для объектных СУБД период. Будучи противопоставлены реляционным решениям, они подвергались множеству нападок и откровенному остракизму как со стороны основных идеологов индустрии , так и со стороны архитекторов и разработчиков информационных систем. Достаточно вспомнить т.н. «Манифест 3-го поколения СУБД», озвученный на конференции ACM SIGMOD в 90 году Майклом Строунбейкером — отцом-основателем системы Illustra , которая дала начало целой ветви так называемых объектно-реляционных СУБД. Но особенно можно отметить «3-й манифест объектно-ориентированных СУБД» Кристофера Дейта и Хью Дарвина, впервые озвученный в 95 году и подробно изложенный в их книге, вышедшей в 98 году. Теория, активно продвигавшаяся Крисом Дейтом в те годы, практически говорила о том, что право на существование имеет только чистый реляционный подход, а объектно-ориентированные и любые другие системы вполне могут быть представлены в рамках реляционной модели . Забавно, кстати, что и популярнейшие в то время СУБД от Oracle и IBM Дейт считал совсем нереляционными и предлагал отказаться от многих привычных уже вещей, вроде языка SQL. Примечательно будет отметить, что только что упомянутая мною книга Кристофера Дейта «3-й манифест объектно-ориентированных СУБД», безусловно очень интересная, но вышедшая на западе в 1998 году, была издана на русском буквально пару месяцев тому назад и во многом воспринимается и рекламируется у нас как последнее слово в развитии баз данных. Ровно тоже можно сказать и про подавляющее большинство другой литературы , которая была написана в годы противостояния (90-е). Везде констатируется, что реляционные СУБД "победили", а объектные СУБД влачат жалкое существование. Но на самом деле случилось то чего никто не ждал — фактически сегодня произошло естественное примирение двух казалось бы антагонистических концепций: объектной и реляционной. Как же и на основе чего это произошло? Оказалось, что это две стороны одной медали и сам метод хранения данных не имеет такого уж большого значения. Любые данные, будь то объектные или реляционные, можно преобразовывать из одной формы в другую по определенному набору правил и хранить как в объектных, так и в реляционных базах данных. Гораздо большее влияние на выбор архитекторов и разработчиков стали оказывать такие факторы, как поддержка мультипотоковости и мультипроцессорности, механизмы резервирования и защиты, средства бэкапирования и восстановления после сбоев, развитый инструментарий разработчика и средства обработки запросов. Т.е. сама внутренняя архитектура используемой СУБД вообще перестала быть определяющей (достаточно взглянуть на приводимую здесь аргументацию сторонников Oracle, которые больше упоминают проверенность и конкретную функциональность этой системы, а не методику хранения данных). Разумеется я не претендую на всеохватность данного утверждения. С уважением, Алексей Ровдо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 18:07 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Везде констатируется, что реляционные СУБД "победили", а объектные СУБД влачат жалкое существование. Свидетельством чего является хотя бы то, что о них тут никто ничего не знает. Равно как и доля рынка, количество специалистов и другие факторы. Другими словами, это нишевые СУБД. И пока им там и место. Причём, я не оспариваю того, что что-то они определённо делают лучше реляционных СУБД, но в целом они проигрывают. ИМХО. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 18:36 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Везде констатируется, что реляционные СУБД "победили", а объектные СУБД влачат жалкое существование. Свидетельством чего является хотя бы то, что о них тут никто ничего не знает. а может это является свидетельством лишь вашего незнания, и ничего более? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 18:39 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский[quot ]Причём, я не оспариваю того, что что-то они определённо делают лучше реляционных СУБД, но в целом они проигрывают. ИМХО. Не может быть системы на базе ООСУБД, которая в частности великолепно решает поставленную задачу, но "в целом" хуже, чем аналогичная система на базе РСУБД. Потому что конкретные проекты делаются для решения конкретных проблем (а не решения всех проблем "в целом"). Разумеется большинство сегодняшних бизнес-задач эффективнее решается с помощью РСУБД, но есть задачи в решении которых ООСУБД значительно!!! эффективнее РСУБД. Именно данное высказывание по сути и задало тему данного топика. Можно согласиться с тем, что задачи для ООСУБД имеют четко выраженный нишевый характер, но в своей нише ООСУБД вне конкуренции и агитация за использование Oracle или MS SQL во всех ситуациях является ошибкой и свидетельствует о непрофессионализме тех, кто за это ратует. Впрочем, есть темы и задачи, для которых выбор не столь однозначен, и возможно наблюдаемая здесь дискуссия поможет определиться тем, кто действительно хочет объективно подойти к выбору платформы, на которую затем прийдется опираться многие годы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 19:02 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Я честно пытался получить ответы на вопросы, но не получил. Получил только маркетинговые заявления. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 19:08 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Вот здесь кроется основное заблуждение: Alexey Rovdo Но на самом деле случилось то чего никто не ждал — фактически сегодня произошло естественное примирение двух казалось бы антагонистических концепций: объектной и реляционной. Как же и на основе чего это произошло? Оказалось, что это две стороны одной медали и сам метод хранения данных не имеет такого уж большого значения. Любые данные, будь то объектные или реляционные, можно преобразовывать из одной формы в другую по определенному набору правил и хранить как в объектных, так и в реляционных базах данных. Хоть РСУБД сейчас и навешиваются объектными и процедурными возможностями, концепции остаются каждая сама по себе. В объектной концепции каждый объект - это свой мир со своим поведением. В реляционной всё изначально строго упорядочено. Это позволяет не заниматься программированием процесса последовательных операций, а манипулировать именно данными. Причем сервер, сам зная структуру данных и статистику их распределения, выбирает как ему с данными работать. Любой элемент процедурности (например UDF) уже вносит тормоза - сервер не знает что вернёт функция пока не выполнит её. Да, конечно в каких-то случаях удобно использовать UDF. Но когда большие объёмы данных надо обрабатывать за небольшое время - приходится как-то обходится без них. Наверное кое-где можно было бы использовать некоторые элементы ООП. Но только там где скорость не важна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 19:14 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Правильно ли я понимаю, что СУБД Versant ориентирована на OLTP? С уважением, Константин Лисянский http://lissianski.narod.ru Нет. SergSuperИтак допустим геоинформационная база(вроде этио как самая подходящая задача для ООСУБД). Надо найти все элементы в каком-то квадрате. Или допустим все пункты с определённым именем. Как вы тут будете пользоваться навигацией? Опишите мне такую реальную систему где можно обойтись одной навигацией. Да и вообще хоть бы кто какой пример привел как на ООСУБД надо чего писать. Тут говорили что на ООСУБД чуть ли не самые большие БД. Вот опишите как это может быть - миллионы одинаковых по структуре объектов - и никак не упорядочены. Легко. Пример. Class MapElement{ Point position; MapElement parent; List childs; List objects; } Class MapObject{ // некие поля объекта на карте такие как координаты, размер и т.д. } Class Tree extends MapObject{ // класс дерево :-) } Теперь мы хотим прочитать вложенные элементы карты, это доступ по ссылке. Хотим прочитать все объекты на карте (нам их нарисовать надо), это опять доступ по ссылке. Хотим найти объект по имени - это запрос на OQL который возвращает список объектов. Для такого запроса вполне достаточно btree индекса, хотя hash индекс был бы вероятно эффективней. И если для Вашей конкретной задачи необходимо именно такое индексирование (по строке или по строке и набору других параметров) то никто не мешает вам построить свой класс или набор классов и реализовать в нем тот поиск, который будет для Вас более эффективен. Инструментария БД Вам хватит а объектная субд упростит Вашу работу по созданию этого класса. И не говорите мне что РСУБД сделает это лучше т.к. ВСЕ универсальное работает медленнее специального. Надеюсь с этим утверждением никто спорить не будет? Я ответил на вопрос? SergSuperНасчет того что существенно эффетивнее. Может ссылку какую приведёте откуда вы это взяли? Я например не думаю что очень существенно. Да, объект читается по связи, но он читается то только по одному, а вот если надо сразу диапазон какой выбрать - то не знаю что будет быстрее. Ну и к тому же если есть индекс то по нему можно сразу найти оптимальным образом нужный элемент, а по связам может придётся еще ходить и ходить. Я приведу пример, ок? Class A{ int F1; String S1; } Class B extends A{ Date D1; } Class C extends A{ List L1; //элементов A } Структура для РСУБД Table A integer ID PK // primary key integer f1; Varchar(8000) s1 Table B integer ID PK, FK // primary key + FK DateTime D1 Table C integer ID; PK, FK // primary key + FK Table C_A integer parent; // FK на таблицу C integer child; // FK на таблицу A + PK по полям parent+child Запрос для чтения B Select ... from B inner join A Запрос для чтения C Select ... from C inner join A inner join C_A inner join A Для чтения A и всех потомков Select ... from A left join B left join C left join C_A left join A т.е. запрос всязывает до четырех таблицб приэтом мы вынуждены или слать 2-а запроса на чтение C или потом внимательно разбирать результат одного запроса. В объектной СУБД любая из задач - один запрос безо всяких если. И запрос гораздо более простой. И читается объект целиком а не частями по разным таблицам собирается. А по поводу чтения по одному Вы ошибаетесь, посмотрите в стандарте ODMG. Надеюсь ответил понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 19:24 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
>> Хотим найти объект по имени - это запрос на OQL который возвращает список объектов. Для такого запроса вполне достаточно btree индекса, хотя hash индекс был бы вероятно эффективней. Вообще по поводу индексов. Versant Developer Suite поддерживает и hash, и btree индексы. FastObjects работает на базе btree индексов, но этот продукт и позиционируется для не слишком больших баз данных и более мягких режимов работы. Тем не менее и в нем есть возможность использования внешних Index-engines, например для реализации полнотекстового поиска (есть заказчики, использующие эту возможность). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 19:49 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий Гаврилов Хотим прочитать все объекты на карте (нам их нарисовать надо), это опять доступ по ссылке. Хотим найти объект по имени - это запрос на OQL который возвращает список объектов. Для такого запроса вполне достаточно btree индекса, хотя hash индекс был бы вероятно эффективней. И если для Вашей конкретной задачи необходимо именно такое индексирование (по строке или по строке и набору других параметров) то никто не мешает вам построить свой класс или набор классов и реализовать в нем тот поиск, который будет для Вас более эффективен. Инструментария БД Вам хватит а объектная субд упростит Вашу работу по созданию этого класса. Итак список объектов, потом чтение полей объектов против получения одним запросом всего сразу. На мой взгяд последнее быстрее - сервер сам балансирует индексы, выбирает оптимальный путь выборок. Например надо выбрать объекты в определённом квадрате определённого типа. В зависимости от размера квадрата и типа оптимальный порядок в какой последовательности искать (сначала по координатам, а потом по типу или наоборот) может быть разный. Оптимизатор РСУБД это учтёт (во всяком случае попытается), вы же должны жестко задавать алгоритм поиска (либо сами расписывать варианты). К тому же запросы я могу легко менять, а вам если что надо добавлять новые ссылки в объект. Про запрос с деревьями. Ну это много обсуждалось тут. Есть разные методы, тот который Вы тут привели далеко не лучший. В общем этот аргумент я тоже не принимаю. Ну и трудно на последок удержаться: Виталий Гаврилов В объектной СУБД любая из задач - один запрос безо всяких если. И запрос гораздо более простой. Однако ж запрос на SQL Вы привели, а для объектной СУБД - нет :) Виталий Гаврилов И читается объект целиком а не частями по разным таблицам собирается А два объекта? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 20:01 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
SergSuperОднако ж запрос на SQL Вы привели, а для объектной СУБД - нет :) Запрос я привел для реляционной СУБД для того чтоб показать сложность задачи. Для объектной это выглядит так: Select * from A Вернет все объекты класса А и потомки классов В и С Причем параметрами запроса можно выбрать только Объекты класса А Select * from B Вернет все объекты класса В Select * from C вернет все объекты класса С Выглядит проще, не так-ли? SergSuperИтак список объектов, потом чтение полей объектов против получения одним запросом всего сразу. Видимо вы поняли меня неправильно, объект читается ЦЕЛИКОМ SergSuperНапример надо выбрать объекты в определённом квадрате определённого типа. В зависимости от размера квадрата и типа оптимальный порядок в какой последовательности искать (сначала по координатам, а потом по типу или наоборот) может быть разный. Оптимизатор РСУБД это учтёт (во всяком случае попытается), вы же должны жестко задавать алгоритм поиска (либо сами расписывать варианты). А зачем искать если вся информация Вам доступна по ссылкам? Необходимость этого отпадает сама собой. Просто технология проектирования системы под ОБД несколько отличается от проектирования под РБД. SergSuperК тому же запросы я могу легко менять, а вам если что надо добавлять новые ссылки в объект. А зачем Вам запросы в данной ситуации? SergSuperПро запрос с деревьями. Ну это много обсуждалось тут. Есть разные методы, тот который Вы тут привели далеко не лучший. В общем этот аргумент я тоже не принимаю. это был только пример, а принимать мой аргумент или нет решать Вам. SergSuperНу и трудно на последок удержаться: А два объекта? :) И два объекта тоже читаются целиком. И даже 100 объектов тоже целиком. Но подгружаться они могут разными способами: 1. все 100 сразу в память 2. по мере обращения каждуй следующий. 3. в паралельном потоке в фоновом режиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 20:21 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
SergSuper Итак список объектов, потом чтение полей объектов против получения одним запросом всего сразу. На мой взгяд последнее быстрее - сервер сам балансирует индексы, выбирает оптимальный путь выборок. А если нам все и не нужно? Мы можем выбрать только некоторые атрибуты объектов. Вообще существует такое понятие "шаблоны доступа". При применении этого инструмента мы можем четко задать, какие атрибуты объекта нас интересуют, чтобы из базы данных по запросу пришли только эти атрибуты. А можем выбрать и все объекты целиком (и даже связанные с ними объекты прихватить) SergSuper К тому же запросы я могу легко менять, а вам если что надо добавлять новые ссылки в объект. Добавлять новые ссылки в объект - не совсем понятно. Если речь идет о добавлении новых атрибутов, то данная операция сводится к переопределению класса (объекты обновятся автоматически). Если же речь о добавлении новых дочерних объектов, то в рамках ООП это сводится к добавлению элемента в коллекцию или создании нового элемента, содержащего ссылку на родителя. SergSuperА два объекта? :) Групповые операции и шаблоны доступа позволяют очень гибко осуществлять выборку данных из базы. Ничего лишнего с сервера на клиента тащить не прийдется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 20:32 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий Гаврилов И не говорите мне что РСУБД сделает это лучше т.к. ВСЕ универсальное работает медленнее специального. Надеюсь с этим утверждением никто спорить не будет? А почему бы и не поспорить? В ОРСУБД иерархические структуры тоже можно достаточно просто хранить и обрабатывать. Вот пример. Что касается карт, то при работе с ними часто нужно найти объект находящийся на расстоянии не более заданного. Здесь ООСУБД предлагает последовательный перебор, а в ОРСУБД можно воспользоваться R-tree индексом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 21:06 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Правильно ли я понимаю, что СУБД Versant ориентирована на OLTP? Виталий ГавриловНет. Ну, тогда, спозиционируйте её, пожалуйста. Или она для любых задач подходит? Как насчёт хранилищ данных (data warehousing)? С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 21:59 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoМожно согласиться с тем, что задачи для ООСУБД имеют четко выраженный нишевый характер, но в своей нише ООСУБД вне конкуренции и агитация за использование Oracle или MS SQL во всех ситуациях является ошибкой и свидетельствует о непрофессионализме тех, кто за это ратует. Нельзя, впрочем, и утверждать, что эта агитация не имеет под собой основания. Универсальные продукты, проигрывая нишевым по технологии, дают другие преимущества. Среди которых наличие большого количества специалистов, снижение издержек за счёт корпоративнх лицензий, сокращение издержек на администрирование, использование распространённых средств разработки и т.д. И с этим нельзя считаться. Я сам занимаюсь нишевой СУБД (реляционной) и эти аргументы являются наиболее распространёнными среди потенциальных клиентов. И с ними нельзя не считаться. Нужно уметь правильно спозиционировать сильные стороны нишевого решения и показать, что затраты по его использованию легко окупаются. А это, кстати, нужно делать, показывая деньги потенциальным клиентам (и, наверное, партнёрам в Вашем случае). Вы же избрали миссионерский подход, что, на мой взгляд является ошибочным. Здешней аудитории это никогда нравиться не будет. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 22:12 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий Гаврилов И если для Вашей конкретной задачи необходимо именно такое индексирование (по строке или по строке и набору других параметров) то никто не мешает вам построить свой класс или набор классов и реализовать в нем тот поиск, который будет для Вас более эффективен. Инструментария БД Вам хватит а объектная субд упростит Вашу работу по созданию этого класса. И не говорите мне что РСУБД сделает это лучше т.к. ВСЕ универсальное работает медленнее специального. Надеюсь с этим утверждением никто спорить не будет? Программы, написанные специалистами, за большие деньги, отлаживаемые десяток лет, работают лучше, чем написанные дидетантами на коленке. С этим утверждением спорить будете ? Это я про "реализовать самостоятельно поиск, который будет более эффективен". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 22:42 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий Гаврилов SergSuperОднако ж запрос на SQL Вы привели, а для объектной СУБД - нет :) Запрос я привел для реляционной СУБД для того чтоб показать сложность задачи. Для объектной это выглядит так: Select * from A Вернет все объекты класса А и потомки классов В и С Причем параметрами запроса можно выбрать только Объекты класса А Select * from B Вернет все объекты класса В Select * from C вернет все объекты класса С Выглядит проще, не так-ли? Выглядит-то он проще, но смысла не имеет. Зачем выбирать ВСЕ объекты класса А ? Так лихо и я могу - "селект все из таблицы А". Вы нам нарисуйте запрос на выборку _одного_ определенного объекта из класса А и всех его потомков. С учетом того, что в классе А может быть десятки и сотни миллионов записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 22:46 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Виталий ГавриловSelect * from A Вернет все объекты класса А и потомки классов В и С Лукавите. Для SQL вы ставили задачу с деревом, т.е. надо бы выбрать еще и подчиненные записи. Т.е. должны быть как-то указаны связи, по которым они подчиняются. Я сомневаюсь что оъектные ООСУБД читают Ваши мысли и ищут по нужным связям. Виталий Гаврилов И если для Вашей конкретной задачи необходимо именно такое индексирование (по строке или по строке и набору других параметров) то никто не мешает вам построить свой класс или набор классов и реализовать в нем тот поиск, который будет для Вас более эффективен. Т.е. вместо того чтоб добавить индекс мне надо реализовывать поиск? Виталий ГавриловSergSuper SergSuper Например надо выбрать объекты в определённом квадрате определённого типа. В зависимости от размера квадрата и типа оптимальный порядок в какой последовательности искать (сначала по координатам, а потом по типу или наоборот) может быть разный. Оптимизатор РСУБД это учтёт (во всяком случае попытается), вы же должны жестко задавать алгоритм поиска (либо сами расписывать варианты). А зачем искать если вся информация Вам доступна по ссылкам? Ну а как еще из миллионов объектов выбрать по нужным мне критериям? Какие могут быть связи если мне надо выбрать, допустим, все города в определённом квадрате? Т.е. связи могут быть но как они помогут? Давайте всё-таки на чем-то конкретном рассмотрим. для начала допустим есть структура: сотрудник, начальник, заплата. У начальника естественно тоже может быть начальник. Надо посчитать общую сумма зарплаты. Продемонстрируйте мне : Виталий ГавриловВ объектной СУБД любая из задач - один запрос безо всяких если. И запрос гораздо более простой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 11:17 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Константин Лисянский Универсальные продукты, проигрывая нишевым по технологии, дают другие преимущества. Среди которых наличие большого количества специалистов, снижение издержек за счёт корпоративнх лицензий, сокращение издержек на администрирование, использование распространённых средств разработки и т.д. И с этим нельзя считаться. В отношении продуктов Versant могу констатировать следующее. О специалистах: Действительно слабый пункт в настоящее время. Специалистов по этим продуктам в России мало. Но они достаточно просты в изучении (особенно FastObjects), опираются на промышленные стандарты (JDO, OQL), и любой ОО-программист может освоить работу с ними очень быстро. Корпоративные лицензии и издержки: Лицензии, разумеется, доступны разные. Ситуация в России с продуктами Versant вообще такова, что затраты на лицензирование у тех, кто их сейчас станет использовать, будут минимальными (возможны большие скидки от публикуемых цен - было бы понятно кому и для чего). Да и сами продукты весьма специфичны и опубликовать полный список возможных вариантов лицензирования затруднительно. К примеру, Versant часто продается в составе других продуктов (таких как Borland Caliber RM, некоторые продукты PeopleSoft, J.D.Edwards и др.), а также в составе промышленного оборудования. Издержки на администрирование: Продукты серии FastObjects ориентированы на встраивание в оборудование, рядом с которым годами может не находиться никаких администраторов, поэтому они при правильном проектировании вообще не требуют никакого администрирования и это отдельно отмечается как одно из важнейших достоинств. Versant VDS чуть более требователен, но и здесь издержки не велики. Средства разработки: FastObjects .NET интегрируется с Visual Studio .NET FastObjects t7 и Open Access JDO предлагают Java-программистам интегрированные средства для всех популярных сред разработки (Borland JBuilder, Sun One Studio, IBM WebSphere App. Dev. и другие среды на платформе eclipse). Для С++ программистов поддерживается куча компиляторов для самых разных платформ. Versant VDS с недавнего времени также поддерживает JDO и также содержит средства интеграции с Visual Studio. А в итоге - сегодня использование ООСУБД и O/R mapping средств Versant не только оправдано с технической точки зрения, но и позволяет получить большой выигрыш в деньгах (за счет сокращения сроков и трудоемкости разработок). Любое универсальное решение эффективно только на самых распространенных типовых задачах, в тех же сферах, где требования выходят за среднестатистические рамки универсальные решения могут стать просто золотыми и при этом низкоэффективными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 12:01 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Alexey Rovdo А в итоге - сегодня использование ООСУБД и O/R mapping средств Versant не только оправдано с технической точки зрения, но и позволяет получить большой выигрыш в деньгах (за счет сокращения сроков и трудоемкости разработок). Любое универсальное решение эффективно только на самых распространенных типовых задачах, в тех же сферах, где требования выходят за среднестатистические рамки универсальные решения могут стать просто золотыми и при этом низкоэффективными. Да не надо нам рекламные ролики гнать! Понятно, где более эффективны объектные/сетевые/иерархические базы данных. Там где не надо проводить сложный анализ больших объемов информации из-за нерегламентированных запросов. То есть все запросы точно известны и ориентированы на скорейшее получение одной мастер-записи, возможно, с "потомками". Тогда и прямые адреса используются эффективно (кстати, в оракле есть такие адреса да еще с проверками ссылочной целостности, чтобы не появились висячие ссылки). Запросы на поиск потомков без участия мастер-объектов по некоторым критериям или полный перебор мастер-записей (объектов по-Вашему) вместе с деталями приведут систему в ступор. Именно для решения таких задач и были созданы реляционные базы, которым все равно, в каком направлении иерархии объектов идет поиск информации. А метод решения поиска по неключевым полям в нереляционных базах тот же, что и в реляционных - добавляем индексы. Иначе - ступор системы. Когда же начинается словоблудие о методах объектов, сразу возникает вопрос - а методы (код) хранится в объектах, или нет? Если в объектах, то разработчики идиоты, если один и тот же код дублируют многократно. Если нет, то есть код отдельно, а данные отдельно, то чем это, кроме внешних интерфейсов вызовов, отличается от реляционных или иерархических/сетевых баз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 13:04 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
AI Если нет, то есть код отдельно, а данные отдельно, то чем это, кроме внешних интерфейсов вызовов, отличается от реляционных или иерархических/сетевых баз? Код отдельно, данные отдельно. При этом код остается ОО, и не содержит ни SQL выражений, ни O/R mapping'а. По-моему это и есть главное преимущество ООСУБД"ов (для девелоперов, точно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 19:33 |
|
||
|
ООСУБД быстрее ЛЮБЫХ решений с реляционными системами ?
|
|||
|---|---|---|---|
|
#18+
Sp1Der AI Если нет, то есть код отдельно, а данные отдельно, то чем это, кроме внешних интерфейсов вызовов, отличается от реляционных или иерархических/сетевых баз? Код отдельно, данные отдельно. При этом код остается ОО, и не содержит ни SQL выражений, ни O/R mapping'а. По-моему это и есть главное преимущество ООСУБД"ов (для девелоперов, точно). Но ведь все равно есть доступ на экземпляр объекта, реализованный не тем кодом, который хранится в методах. Это код самой базы данных, который еще вызывает код методов. Код базы данных никуда не пропадает, а код методов в данном случае второстепенный (интерфейсный). Кстати, SQL запросы тоже выполняет код базы данных, и "ОСУБД навигации" - тоже. Если же код базы отсутствует, то мы имем дело с файл-серверной базой, то есть с архитектурой, признанной давным-давно неэффективной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2004, 13:10 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1553979]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
147ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 421ms |

| 0 / 0 |
