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

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

С технической точки зрения (если выбирает профессионал, знакомый с техническими особенностями систем и предлагаемых ими моделей) выбор между ООСУБД и ОРСУБД затруднителен только в весьма редких задачах.

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

Alexey Rovdo

В конкретной задаче обычно все сразу ясно.

Если в смысле предыдущего абзаца, то да. А если объетивно, то выбор СУБД не считается чем-то простым.

Alexey Rovdo

Все производители всех СУБД продвигают свои детища для широкого класса задач.

Но не все имеют возможность втюхать при желании в свои детища, например, ООМД. Считаются, что ведущие производители это могут себе позволить, если увидят там что-то реально превосходящее их детищ.

Alexey Rovdo

Там есть и еще много чего. Только реальных работающих ГИС на основе именно этих решений я не встречал (тут надо понимать, что ГИС на основе Oracle я очень даже видел, но вот фирменными объектными расширениями такие продукты не пользовались, а работали на основе объектно-реляционного отображения).

Я тоже не встречал. Но вопрос то в перспективе. ОО поддержку они не торопливо продвигают. Видно есть какие-то вопросы к самой ОО. Возможно, если сегодня рвануть там, то можно завтра проиграть. Типа там чего-то не хватает. И завтра это что-то может появиться. Тада те кто слишком рано рванули могут оказаться в стороне от столбовой дороги. Это, конечно, чисто ощущения.
Но судя по литре - ничего не ясно про будущее. Кто там будет ООСУБД, ОРСУБД, еще кто-то или все вместе. Думаю, что ошибочно считать, что РСУБД не склонна расширяться и в других отношениях. Возможно, ее ресурс в плане развития далеко не исчерпан.
14 сен 05, 19:24    [1878696]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
nkulikov
Guest
Алексей ты не встречал, но это не означает что их нет. Например мне видится заказчиков для DB2 Geodetic Extender и Informix Geodetic Datablade (картография не на плоскости в полярных координатах) в России наберется от силы компаний 30 и все они сейчас озабочены решением других IT проблем.
В США такие компании есть кстати открытые ссылки
Поройся в презентациях найдешь...
http://www-306.ibm.com/software/data/spatial/esri2005.html
14 сен 05, 20:50    [1878800]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ЧАЛ
Guest
Ну Вы же знаете что такое связи многие-ко-многим, Alexey Rovdo. И что у таких связей могут быть собственные характеристики (свойства). Мы же это уже обсуждали. И я спрашивал про реализацию в "Вашей" ООСУБД. И из того что Вы отвечали (конечно, косвенно, и, конечно, не мне), стало очевидно, что эти связи реализуются, как и в "Р"СУБД (то есть не как связи). Разве не так ?
14 сен 05, 21:42    [1878855]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ЧАЛ
Guest
Несерьезность "объектных расширений" SQL показана Дейтом (8-е издание), например, в пункте "Использование ссылок" на стр. 1100-1102.
14 сен 05, 21:43    [1878859]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Alexey Rovdo
Member

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


Я знаю, что такое связи многие-ко-многим и даже понимаю о чем идет речь, когда вы говорите о характеристиках связей, но прошу пояснить, что же такое "связи многие-ко-многим в объектном стиле" и какие вообще "стили" могут быть у связей многие-ко-многим. Иначе я просто вас не понимаю и не могу ничего сказать по поводу ваших замечаний.
15 сен 05, 10:15    [1879416]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
nkulikov
Алексей ты не встречал, но это не означает что их нет. Например мне видится заказчиков для DB2 Geodetic Extender и Informix Geodetic Datablade (картография не на плоскости в полярных координатах) в России наберется от силы компаний 30 и все они сейчас озабочены решением других IT проблем.
В США такие компании есть кстати открытые ссылки
Поройся в презентациях найдешь...
http://www-306.ibm.com/software/data/spatial/esri2005.html


Порылся в презентациях и помучил гугль. Классные наверное продукты: DB2 Geodetic Extender и Informix Geodetic Datablade. О них так много информации в сети, но вся она в контексте описания возможностей DB2 или Informix. Т.е. вот, например, понятно, что IBM дружит с ESRI и помогает создавать инфраструктуру для геопространственных сервисов. И понятно, что и IBM и Oracle очень хотят, чтобы объектные ГИС-расширения в их СУБД прижились и стали массово использоваться в идустрии.

В этом контексте весьма примечательно, что такой продукт ESRI, как ArcGIS через ArcSDE полностью поддерживает DB2. Причем он может действительно использовать объектные расширения, предоставляемые DB2 Geodetic Extender. А еще он дружит с Oracle и может использовать объектные расширения Oracle. А еще он дружит с MS SQL и может работать с этой РСУБД через O/R-отображение без всяких объектных расширений. И все это с помощью ArcSDE (ArcSDE is a gateway to many RDBMSs. It is not a relational database or storage model. Instead, it is an interface that supports advanced, high-performance GIS data management in a number of RDBMS platforms). Только вот примеров реальных систем, в которых стоит именно ArcSDE в связке с DB2+Geodetic Extender мне найти не удалось. Не то чтобы их нет совсем - наверное где-то они существуют, но ни о какой массовости речи нет. А что же используется массово?

А массово многие ГИС-системы в связке с разными СУБД разных производителей опираются на спецификацию OpenGIS SQL92, которая фактически задает реляционную (табличную) структуру для БД и порядок отображения геообъектов на эту структуру (т.е. типовой O/R-мэппинг, о чем я и говорю).
15 сен 05, 11:57    [1879941]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
nkulikov
Guest
Про массовость я и написал, что это для России это максиму 30 компаний. Потому как остальным не важно сколько сыра у них купили в полярных координатах с точностью до одного метра или на какой высоте относительно уровня моря заказчик совершил звонок :)
15 сен 05, 14:00    [1880639]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ЧАЛ
Guest
У связей многие-ко-многим не может быть никаких "стилей". Речь идет о представлении - реализации с помощью понятий модели данных. Разве это не очевидно ? Вот и раньше Вы так же отвечали на этот простой вопрос: как связи многие-ко-многим с характеристиками связи представляются в "Вашей" ООСУБД. Да, я начал, так сказать, с конца, со "сложного варианта" связи. Я, конечно, знаю, что в ООСУБД вообще нет самостоятельного понятия "связь" (как в классической ОМД или модели Чена), а "связь" в ООСУБД - это разновидность свойства (концептуально, как и в РМД). Но, все-таки, Вы же понимаете что такое связь многие-ко-многим с характеристиками связи, и примеры мы рассматривали; так ответьте, пожалуйста...
15 сен 05, 22:56    [1882459]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Alexey Rovdo
Member

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


А вот здесь вы написали:
"ни в Versant, ни в Cache Objects, ни в какой-либо другой ООСУБД, связи между объектами не поддерживаются (так как не поддерживаются именно в объектном стиле связи многие-ко-многим с характеристиками связи)"

Я элементарно не врубаюсь - что вы вообще вкладываете в понятия "связь" и "поддерживаются". Поэтому никак не могу прокомментировать ваши высказывания и ответить вам содержательно. Я просто знаю, что в том же Versant оранизовать хранение информации о связях многие-ко-многим, в т.ч. и с характеристиками, проблемы не составит. Вот только можно ли про такой метод сказать, что "связи поддерживаются" я не могу, поскольку, еще раз говорю, не понимаю, что это значит в вашем понимании. Почитайте документацию Versant ...
16 сен 05, 12:12    [1883915]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ЧАЛ
Guest
Прочитал документацию... "Информация о связи многие-ко-многим с характеристиками связи хранится в Versant" так же как и в Oracle. Именно об этом я и говорю. Связей в Versant именно нет, то есть они представляются как свойства объектов, "как и" в "Р"СУБД (внешние ключи). Поэтому в ООСУБД (по крайней мкрк, в Versant) семантика и навигация весьма убогие. И отличаются ООСУБД от "Р"СУБД только принципами идентификации.
16 сен 05, 22:41    [1886655]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
2 ЧАЛ

Все таки стало интересно, как же по ВАШЕМУ должны храниться связи ???
Только пожалуйста без "доски коея весит на стене КРИВО" Давайте как-нибудь более приземленно, для технических специалистов ;) Конкретно интересуют вопросы РЕАЛИЗАЦИИ.
17 сен 05, 08:25    [1886880]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ЧАЛ
Guest
Они должны храниться так, чтобы их представление не требовало бы никаких "надстроек", "мэппингов" и, тем более, интерпретаций на уровне приложения. А лучше, если бы представление не только связей, но и (тем более) объектов не требовало бы вообще никаких "приложений" (прикладных программ).
Куда уж "более приземленно"...
18 сен 05, 01:33    [1887773]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Они и не требуют. Галимные SQL-запросы при чем тут приложение ???
Не нужно валить с больной головы на здоровую. Разумеется это относится к Oracle. В Versant-е не силен.
18 сен 05, 09:28    [1887826]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
ЧАЛ
Они должны храниться так, чтобы их представление не требовало бы никаких "надстроек", "мэппингов" и, тем более, интерпретаций на уровне приложения. А лучше, если бы представление не только связей, но и (тем более) объектов не требовало бы вообще никаких "приложений" (прикладных программ).
Куда уж "более приземленно"...


Вода. Я по-прежнему не врубаюсь.
Ну давайте зайдем с другой стороны. Как связи должны быть представлены в оперативной памяти (в приложении)? Т.е. вот типичный указатель на адрес в памяти, по которому в памяти лежит объект, - это по-вашему связь?
18 сен 05, 19:31    [1888232]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ЧАЛ
Guest
Требуют, требуют, Gluk (Kazan). При чем здесь SQL-запросы ? Какая больная голова ??? В "Р"СУБД (РМД) информация и об объектах (сущностях), и о связях между объектами (сущностями), "хранится" в "отношениях". СУБД не знает где объект, а где связь. Для того чтобы представить связь, необходима интерпретация на уровне приложения. Может не будем по десятому разу говорить об элементарных вещах ?
18 сен 05, 22:31    [1888402]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ЧАЛ
Guest
Предыдущее сообщение и к Вам, Alexey Rovdo, относится. "Ваша" СУБД, похоже, тоже ничего не знает о связях между объектами. И давайте не заходить ни с какой стороны, так как вопрос ЭЛЕМЕНТАРЕН: как связи многие-ко-многим (даже и без характеристик связи) представляются в "Вашей" СУБД ?
Банальный пример:
Товар<-Хранится на/Хранит->Склад
с характеристиками связи Количество, Стоимость и др.
18 сен 05, 22:36    [1888404]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
2 Коллега

А ведь это Вас ПРОСИЛИ объяснить КАК мы болезные должны хранить связи N:M
А в ответ очередная порция демагогии. Схемку или чертеж что-ли нарисуйте, а то не понятно как-то чего Вы от нас хочите
Кстати, СУБД как-раз таки имеет информацию о связях и Oracle очень даже часто использует ее в целях оптимизации запросов. Если разработчик не ленится конечно определять констрейнты.
19 сен 05, 09:17    [1888728]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Еще раз, как ВЫ предлагаете РЕАЛИЗОВЫВАТЬ связи многие ко многим ?
Детально и в доступной для приземленных тнарей форме, плиззззззз
19 сен 05, 09:19    [1888733]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
ЧАЛ
Предыдущее сообщение и к Вам, Alexey Rovdo, относится. "Ваша" СУБД, похоже, тоже ничего не знает о связях между объектами. И давайте не заходить ни с какой стороны, так как вопрос ЭЛЕМЕНТАРЕН: как связи многие-ко-многим (даже и без характеристик связи) представляются в "Вашей" СУБД ?
Банальный пример:
Товар<-Хранится на/Хранит->Склад
с характеристиками связи Количество, Стоимость и др.

Банально:

Товары (Товар, ....) UNIQUE (Товар);

Склады (Склад, ...) UNIQUE (Склад);

Хранится (Товар, Склад, Количество, Стоимость и др)
UNIQUE (Товар,Склад)
FK (Товар) REFERENCES Товары (Товар)
FK (Склад) REFERENCES Склады (Склад) ;

в чем банальное неприятие? Связи определены через даннные ?
19 сен 05, 10:49    [1889069]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
ЧАЛ
Предыдущее сообщение и к Вам, Alexey Rovdo, относится. "Ваша" СУБД, похоже, тоже ничего не знает о связях между объектами. И давайте не заходить ни с какой стороны, так как вопрос ЭЛЕМЕНТАРЕН: как связи многие-ко-многим (даже и без характеристик связи) представляются в "Вашей" СУБД ?
Банальный пример:
Товар<-Хранится на/Хранит->Склад
с характеристиками связи Количество, Стоимость и др.


Вариантов объектной модели много, например:


____________________
class Товар {
   String name;
}

class Склад {
   String name;
}

class Cвязь {
   Товар товар;
   Склад склад;
   int количество;
   money стоимость;
   ...
}
______________________

class Товар {
   String name;
}

class Cвязь {
   Товар товар;
   int количество;
   money стоимость;
   ...
}

class Склад {
   String name;
   HashSet<Связь> связьSet;
}
 
______________________

class Товар {
   String name;
   String единица_измерения;
   money стоимость_единицы;
}

class Склад {
   String name;
   HashSet<Товар> товарSet;
}

______________________

class Cвязь {
   int количество;
   money стоимость;
   ...
}

class Товар {
   String name;
   HashSet<Связь> связьSet;
}

class Склад {
   String name;
   HashSet<Связь> связьSet;
}
______________________

class Склад {
   String name;
}

class Cвязь {
   Склад склад;
   int количество;
   money стоимость;
   ...
}

class Товар {
   String name;
   HashSet<Связь> связьSet;
}
 
______________________

class Товар {
   String name;
}

class Склад {
   class Cвязь {
      Товар товар;
      int количество;
      money стоимость;
      ...
   }

   String name;
   HashSet<Связь> связьSet;
}

и т.д. , и т.п.
19 сен 05, 11:20    [1889220]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
Alexey Rovdo

   HashSet<Связь> связьSet;


- Это код на псевдо языке или реальный пример? Это C# поддерживаемый в FO?

- Поддерживается ли в FO .NET 2.0 ? Если не поддерживается, то откуда взялся генерик?

- Если приведеныый пример реальный, как в FO решается проблема десериализации подграфа объектов?
19 сен 05, 12:03    [1889495]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
И объектно-навигационный вариант в стиле КОДАСИЛ

class Товар {
   String name;
   Cвязь первыйСклад;
}

class Склад {
   String name;
   Cвязь первыйТовар;
}

class Cвязь {
   Товар товар;
   Склад склад;
   Cвязь следующийТовар;
   Cвязь предшествующийТовар;
   Cвязь следующийСклад;
   Cвязь предшествующийСклад; 
   
   int количество;
   money стоимость;
   ...
}
Если и этого не хватит...:)
19 сен 05, 12:03    [1889496]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
Alexey Rovdo
Member

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

   HashSet<Связь> связьSet;


- Это код на псевдо языке или реальный пример? Это C# поддерживаемый в FO?

- Поддерживается ли в FO .NET 2.0 ? Если не поддерживается, то откуда взялся генерик?

- Если приведеныый пример реальный, как в FO решается проблема десериализации подграфа объектов?


Нет, это псевдо-язык.
Я использовал именно псевдо-язык чтобы не усложнять объяснения. В FO это просто выглядит запутаннее и отличается в зависимости от того, на чем мы пишем Java/C#/C++. Но смысл остается тем же. Например, в FO .NET это записывалось бы примерно в таком стиле:

[Persistent]
class Company
{
  // . . . 
  [ItemType(typeof(Address))]
  ArrayList addresses;
  // . . . 
}
19 сен 05, 12:15    [1889555]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
Alexey Rovdo
Нет, это псевдо-язык.
Я использовал именно псевдо-язык чтобы не усложнять объяснения. В FO это просто выглядит запутаннее и отличается в зависимости от того, на чем мы пишем Java/C#/C++. Но смысл остается тем же. Например, в FO .NET это записывалось бы примерно в таком стиле:


Меня интересует тот вопрос который у самого болит

Давайте про .NET

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

Допустим нас интересует товар номер 500 000. Каким то образом мы получили экземпляр объекта .NET с этим товаром. У этого класса товар есть поля Товар PreviousТовар; и Товар NextТовар;. В этих полях живут соответсвенно указатели на предыдущий и следующий товары.

Теперь собственно проблема. Мы работаем в C#. Соответвенно мы обязаны заполнить эти поля валидными ссылками. Следовательно мы должны так же загрузить из БД товары N 499 999 и 500 001. Но у них тоже есть поля Товар PreviousТовар; и Товар NextТовар; В итоге чтобы получить доступ к одному товару нам придется загрузить весь миллион экземпляров объектов.

Как Версант обошел эту проблему ? (я обошел с использованием мягких ссылок).
19 сен 05, 13:03    [1889780]     Ответить | Цитировать Сообщить модератору
 Re: А вот мне интересно - Оракл объектная СУБД или нет?  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
Из документации FO:

In your persistence capable classes, all fields of persistence capable class types (other than value types) are references to other objects in the database. When you read an object from the database into an object scope, the references it has to other objects are initially built as references to hollow objects in memory. A
hollow object is there in memory but its contents from the database are not. The contents are retrieved from the database—and the hollow object memory filled in—only when a field of the object is accessed (either directly or via a class property or method).

Интересно, а как при этом изолируются транзакции?
19 сен 05, 13:48    [1890031]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8 9 10   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить