Вопрос

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

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

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

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

  • Инструменты довольно плохо по сравнению с миром RDBMSS, где есть куча «менеджеров», профилировщиков, инструментов интеграции/миграции и других;
  • Документация довольно простая из того, что я могу наблюдать, и сильно смешана с Java;
  • Не так много ресурсов в сети по сравнению с RDBMS;
  • Переключение на другие базы данных может быть проблематичным (в отличие от RDBMS);
  • Кривая обучения для разработчиков и ИТ -команды;
  • Дополнительная стоимость лицензирования;
  • дополнительная стоимость технического обслуживания;
  • Нет интеграции с MSDeployment (включая автоматические резервные копии, MSBuild, упаковку и т. Д.);
Это было полезно?

Решение

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

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

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

Плюсы: (Одним словом: скорость)

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

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

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

В Résumé я бы порекомендовал использовать 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).

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

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

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

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

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

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

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

В раскрытии, я работаю на Versant в продажах и комментирует ваши вопросы, Versant является коммерческим продуктом, но, как и SQL Server, у нас есть аналогичные цены, сообщество бесплатно с ограничениями размера базы данных, Standard Edition - это небольшая стоимость за за каждого Сервер, но ограничен в количестве разрешенных потоков, и Enterprise Edition, которое является дорогостоящим, но меньше, чем SQL Server или Oracle, если вам нужна масштабируемость и производительность. Кроме того, переходя от Nhibernate в LINQ, вы сможете использовать это в базу данных Versant, и в будущем, если вы хотите вернуться на SQL Server, вы можете сделать это довольно легко с EF или LINQ в SQL, поэтому он смягчает ваш Риск в инфраструктуре базы данных. Это было бы точкой для Versant, а не использование магазина KVP NOSQL с предприимчивым интерфейсом. Правда, гораздо меньше документации, которая реляционная, но www.odbms.org имеет некоторую отличную информацию и справочные материалы. Кривая обучения Если ваша команда опытная в C# должна быть довольно проста, и с точки зрения администрирования, Versant является базой данных, поэтому обучение процедурам резервного копирования и восстановления должно показаться знакомым. Наши клиенты, C ++, Java или .net, все говорят, что преимущества Versant - это простота разработки, производительность и способность удовлетворить их потребности с меньшим количеством ресурсов на серверах и хранении.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top