понедельник, 26 октября 2009 г.

[comp.prog] Объектные базы живут! Вот Versant под .NET продукт выпускает

Компания Versant анонсировала выпуск продукта VOD .NET (Versant Object Database for .NET). Заявляется, что он будет совместим с LINQ и ADO.NET Entity Framework.

Собственно, говоря, .NET-овский продукт меня мало интересует. Гораздо интереснее, что объектные БД продолжают жить и развиваться. Что не может не радовать. Так уж получилось, что на последнем курсе универа мне довелось написать свою ООБД, которая даже некоторое время развивалась и была внедрена в паре проектов, над которыми я работал. В какой-то степени моя ObjESSty – это результат тех трудов.

Вообще, после работы с объектными БД пересаживаться на РСУБД очень тяжело. То, что раньше было просто и естественно, в РСУБД превращается в кучу совершенно левой работы. Особенно в C++, где все нужно делать ручками. Может продвинутые объектно-реляционные отображатели (ORM) в языках типа Java/C#/Python/Ruby серьезно облегчают жизнь разработчикам, не знаю точно. Хотя, по слухам, не так все ладно в Датском королевстве. Особенно, если приходится схему данных БД для производительности вручную подкручивать… Тогда как в ООБД ничего этого не было – есть у тебя граф сложных объектов, нужно их сохранить в БД – просто берешь и сохраняешь, делов-то!

Ну да всего в двух словах не расскажешь. У Versant-а на сайте есть несколько интересных презентаций рекламного характера, можно глянуть, при желании. Вот, например:

An Object Database for Large-Scale Simulations: Better Performance and More Powerful Algorithms

Objects End-to-End The ODBMS Advantage

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

В общем, ООБД – хорошая для своих целей штука. И для управляемых языков/сред, наверное, даже лучше, чем для нативных. Не очень известная и популярная, правда. Но ведь живая и здравствующая! ;)

На эту же тему: A New Renaissance for ODBMSs?

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


Различную информацию на тему ООБД можно найти на специализированном сайте http://www.odbms.org/

Комментариев нет: