Преимущества перехода с SQL Server на Versant OODB

Какие преимущества (если они есть) для компании (не только для разработчиков) я мог бы получить, перейдя с SQL Server 2008 на Versant OODB?

Больше информации о проекте и факты, чтобы помочь с ответом (дайте мне знать, если вам нужно больше):

  • Очень маленькая команда, почти никогда не пользовалась OODB.
  • Проект использует NHibernate 2.
  • Около 75% тестового покрытия.
  • ASP.NET MVC приложение.

На этом этапе я не смог оправдать переключение из-за следующих моментов (больше всего связанных с db4o, а не с универсальным OODB Versant):

  • набор инструментов довольно плох по сравнению с миром СУБД, где есть множество "менеджеров", профилировщиков, инструментов интеграции / миграции и других;
  • документация довольно проста в том, что я могу наблюдать, и тесно связана с Java;
  • не так много ресурсов в сети по сравнению с RDBMS;
  • переключение на другие базы данных может быть проблематичным (в отличие от RDBMS);
  • кривая обучения для разработчиков и ИТ-команды;
  • дополнительная стоимость лицензирования;
  • дополнительные расходы на техническое обслуживание;
  • отсутствие интеграции с MSDeployment (включая автоматическое резервное копирование, MSBuild, упаковку и т. д.);

5 ответов

Решение

Вот комментарии реального пользователя, который перешел с SQL Server 2005 на Versant:

Вот отзывы от меня и моих коллег о VOD.Net.

Я сгруппировал свои идеи в плюсы и минусы

ПРОФИ: (одним словом: скорость)

  • Ядро базы данных быстрое для чтения и записи данных, благодаря тому, что мы сделали, примерно в 5-10 раз быстрее, чем SQL Server 2005
  • Это уменьшает объем кода, необходимого для того же, что и стандарты технологий Data Access Layer.
  • Это также сократит время на разработку новой функциональности
  • Это создает строгую структуру объектов и способствует целостности данных.
  • Импорт данных в VOD прост

Минусы: (одним словом: нужны навыки устранения неполадок)

  • Наш главный негативный момент касается удобства использования инструментов администрирования (Консоль администрирования и Инспектор объектов).
  • Кнопки / ссылки не совсем ясно о том, что они делают, мы обычно выясняем, когда мы пытаемся использовать его
  • Ошибки версальной компиляции / обновления базы данных недостаточно ясны, мы едва знаем, какой класс является причиной ошибки, но не причина, поэтому нам нужно отладить самим.
  • Использование пункта меню Verify Database не могло работать и будет отображать ошибки (в зависимости от времени)
  • Миграция приложений
  • При миграции шаблонного приложения DAL долго работать с VOD, если вы пытаетесь сохранить тот же код для пользовательского интерфейса

В резюме я бы рекомендовал использовать VOD.Net для предприятий, имеющих навыки старших разработчиков и сложную / большую структуру данных. Определенно быстрее создание нового приложения, чем миграция существующего приложения. Инспектор объектов нуждается в редизайне, чтобы сделать его более удобным для пользователя.

Мы обратились к некоторым проблемам инспектора объектов, предоставив поддержку LINQpad. Я думаю, что вы должны принять решение переключаться, основываясь на технических преимуществах, а не на какой-либо эмоциональной дискуссии. Кроме того, Versant является партнером Microsoft, и есть много возможностей для людей с хорошими навыками OO Versant или нет.

Зависит от вас объектная модель. Если вы имеете дело с глубоким графом объектов в своем домене со сложными иерархическими отношениями, вы получите большую пользу, переключившись с SQL Server 2008 на Versant ODB. Если вы имеете дело с плоскими объектами, придерживайтесь реляционного движка. Пожалуйста, проверьте результаты c / s на www.polepos.org: http://polepos.sourceforge.net/results/PolePositionClientServer.pdf

Вы забыли.... Возможно, это будет намного быстрее (но это будет зависеть от вашей модели. Если у вас простая модель, я рекомендую просто придерживаться RDB).

Если у вас много-к-любому, рекурсивные отношения, вложенные подграфы и т. Д.... тогда, если будет намного быстрее.

Конечно, он также будет работать на гораздо меньшем количестве оборудования. Исследования, проведенные в IBM, показывают, что вы сэкономите около 50% ЦП на своем среднем уровне (например, у вас на веб-серверах, где все переводы типов происходят для RDB).

Кроме того, вам не нужен эксперт по базам данных... если вы специалист по OO, то у вас уже есть набор навыков... особенно если вы знаете Hibernate/nHibernate, потому что концепции управления жизненным циклом объектов из Hibernate и пространства ORM были в основном угнанный из мира OODB и перенесенный в лагерь RDB.

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

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

Если вы хотите переключиться, сделайте это. Это ваш единственный плюс.

"избавиться от несоответствия объектно-реляционного импеданса, от которого мы все так устали".

Вы перечислили большинство негативов уже. Я добавлю еще два:

  • Как рабочие места могут когда-либо просить навыки Versant OODB?
  • у скольких разработчиков будут навыки Versant OODB?

Что касается раскрытия информации, я работаю в Versant in Sales и, комментируя ваши вопросы, Versant является коммерческим продуктом, но, как и SQL Server, у нас схожая цена, Community Edition бесплатна с ограничениями по размеру базы данных, Standard Edition - это небольшая плата за сервер, но с ограниченным количеством разрешенных потоков, и Enterprise Edition, который стоит дорого, но меньше, чем SQL Server или Oracle, если вам нужна масштабируемость и производительность. Кроме того, перейдя от nHibernate к LINQ, вы сможете использовать его в базе данных Versant, и в будущем, если вы захотите вернуться к SQL Server, вы можете сделать это довольно легко с помощью EF или LINQ TO SQL, поэтому это снизит ваши риск в инфраструктуре базы данных. Это было бы точкой для Versant, а не для использования хранилища KVP NoSQL с проприетарным интерфейсом. Правда, документации гораздо меньше, чем в Relational, но на сайте www.odbms.org есть отличная информация и справочные материалы. Кривая обучения, если ваша команда хорошо владеет C#, должна быть достаточно простой, и с точки зрения администрирования Versant является базой данных, поэтому изучение процедур резервного копирования и восстановления должно показаться знакомым. Все наши клиенты, C++, Java или.Net, говорят, что преимущества Versant заключаются в простоте разработки, производительности и возможности удовлетворения их потребностей за счет меньшего количества ресурсов на серверах и в хранилище.

Другие вопросы по тегам