Недавно поработал чуть-чуть с объектно-ориентированной базой данных, разработанной Эрикссоном для своих нужд. Вещь показалась очень удобной, странно что до этого я таких систем не встречал, хоть и слышал.
А есть ли более распространенные OO DBMS и почему они не получили широкого признания?
OO DBMS - А испотльзуются ли они в индустрии
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
Re: OO DBMS - А испотльзуются ли они в индустрии
Seryi wrote:Недавно поработал чуть-чуть с объектно-ориентированной базой данных, разработанной Эрикссоном для своих нужд. Вещь показалась очень удобной, странно что до этого я таких систем не встречал, хоть и слышал.
А есть ли более распространенные OO DBMS и почему они не получили широкого признания?
Вроде в ГИС используются.
Дальше, все будет только хуже. Оптимист.
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Re: OO DBMS - А испотльзуются ли они в индустрии
Seryi wrote:Недавно поработал чуть-чуть с объектно-ориентированной базой данных, разработанной Эрикссоном для своих нужд. Вещь показалась очень удобной, странно что до этого я таких систем не встречал, хоть и слышал.
А есть ли более распространенные OO DBMS и почему они не получили широкого признания?
Производительность
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 5669
- Joined: 13 Oct 2000 09:01
- Location: East Bay, CA
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
Re: OO DBMS - А испотльзуются ли они в индустрии
Dmitry67 wrote:Seryi wrote:Недавно поработал чуть-чуть с объектно-ориентированной базой данных, разработанной Эрикссоном для своих нужд. Вещь показалась очень удобной, странно что до этого я таких систем не встречал, хоть и слышал.
А есть ли более распространенные OO DBMS и почему они не получили широкого признания?
Производительность
Ну производительность всех ОО языков намного хуже чем С например. Но все-таки они получили распространение. Или все действительно очень плохо?
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Мне кажется тут очень интересное переплетение разных причин
Дело в том что OO системы (сделать все операции над одним объектом, потом над другим) при хранении порождают в основном scattered I/O, тогда как реляционные системы порождают в основном последовательные операции доступа к диску. Разница в скорости изза движения головки на специально построенных примерах может достигать 50 раз. В реальности разница может и не быть такой драматической и быть приемлимой. Вы это правильно и заметили когда сказали о C и С++
Но тут вступает другой момент. Самый мозные и большие production системы - это системы работающие на пределе производительности. В книжказ по Oracle Вы найдете кучу рекомендаций по оптимизации на 20, 10 и даже 5%. Вот за что там уже борьба. Система которая всего в полтора раза медленнее просто не будет рассматриваться.
Перестроение куба там где я работал (VLDB) шло с 0am до 6:30am. В 7am с ним начинали работать. Запас 30min... C++ же попало на благодатную почву - сколько отрабатывается click на OK - 1ms или 10ms глазом не заметно
Конечно, есть огромное количество ниш, где ОО прекрасно бы подошли. Некритические приложения, форумы всякие итд. Но отсутствие лидера который бы пошел в настоящую большую production, приводит к соответсвующему отношению к таким базам.
С другой стороны, только такие внедрения могут стимулировать развитие механизмов, необходимых для production. Эти механизмы (online backups, всякие 2 level commit protocol, AWE memory support, disaster recovery log shipping, support of raw devices, VLDB, и др ) - абсолютно невидны с точки зрения пользователя базы выдающего запросы, но как раз и отличают серьезную базу от игрушечной.
Самое интересное что я могу представить что история сложилась бы другим образом. Например, иерархические базы бы просуществовали бы дольше, и потом бы сразу стали развиваться OO базы. На них были бы сделаны серьезные production системы. Уперлись бы в производительность, бурно бы развивались всякие оптимизаторы для OO баз ну и тд
Да, в проблемы ОО баз надо добавить и ОО подход Например ОО как то ортогонален OLAP, да и невозможно заранее придумать все методы доступа к информации учитывая что база будет использоваться дальше в течение 10 лет
Дело в том что OO системы (сделать все операции над одним объектом, потом над другим) при хранении порождают в основном scattered I/O, тогда как реляционные системы порождают в основном последовательные операции доступа к диску. Разница в скорости изза движения головки на специально построенных примерах может достигать 50 раз. В реальности разница может и не быть такой драматической и быть приемлимой. Вы это правильно и заметили когда сказали о C и С++
Но тут вступает другой момент. Самый мозные и большие production системы - это системы работающие на пределе производительности. В книжказ по Oracle Вы найдете кучу рекомендаций по оптимизации на 20, 10 и даже 5%. Вот за что там уже борьба. Система которая всего в полтора раза медленнее просто не будет рассматриваться.
Перестроение куба там где я работал (VLDB) шло с 0am до 6:30am. В 7am с ним начинали работать. Запас 30min... C++ же попало на благодатную почву - сколько отрабатывается click на OK - 1ms или 10ms глазом не заметно
Конечно, есть огромное количество ниш, где ОО прекрасно бы подошли. Некритические приложения, форумы всякие итд. Но отсутствие лидера который бы пошел в настоящую большую production, приводит к соответсвующему отношению к таким базам.
С другой стороны, только такие внедрения могут стимулировать развитие механизмов, необходимых для production. Эти механизмы (online backups, всякие 2 level commit protocol, AWE memory support, disaster recovery log shipping, support of raw devices, VLDB, и др ) - абсолютно невидны с точки зрения пользователя базы выдающего запросы, но как раз и отличают серьезную базу от игрушечной.
Самое интересное что я могу представить что история сложилась бы другим образом. Например, иерархические базы бы просуществовали бы дольше, и потом бы сразу стали развиваться OO базы. На них были бы сделаны серьезные production системы. Уперлись бы в производительность, бурно бы развивались всякие оптимизаторы для OO баз ну и тд
Да, в проблемы ОО баз надо добавить и ОО подход Например ОО как то ортогонален OLAP, да и невозможно заранее придумать все методы доступа к информации учитывая что база будет использоваться дальше в течение 10 лет
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014