Преимущества переключения с SQL Server на Versant OODB
-
26-10-2019 - |
Вопрос
Какие преимущества (если таковые имеются) для компании (не только для разработчиков) я мог бы получить, переключившись с 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 - это простота разработки, производительность и способность удовлетворить их потребности с меньшим количеством ресурсов на серверах и хранении.