Найти в Дзене
.Net Review

Выбор Базы Данных для .Net проекта

Оглавление

Для хранения какой-либо информации и оперативного получения данных существуют Базы данных (БД). В статье описаны основные распределённые БД, их преимущества и недостатки, нюансы работы с ними в .Net.

Технологии работы с БД в .Net

ADO.Net - технология для работы с данными. Предоставляет классы для работы с БД, удобный функционал в виде DataSet'a, в котором можно вынести таблицы, настроить их связи. Работа с данными происходит либо, через DataSet, либо через запросы.

Entity Framework Core/6(EF) - технология для работы с данными. Таблицы конвертируются в классы с помощью EF. То есть, работа происходит не с запросами (хотя такая возможность тоже есть), а с объектами. Этот инструмент самый популярный для работы с БД в .Net.

Разные Системы Управления Базами Данных (СУБД) используют разные языки запросов. Пример: MSSQL - TSQL, MySQL - PLSQL. Технологии перечисленные выше имеют провайдеры, которые конвертируют ваши запросы к необходимому языку запросов, что облегчает работу разработчику.

БД/СУБД

Microsoft SQL Server (MSSQL Server) — система управления реляционными базами данных (РСУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase.

Для разработчика. Система разработана Microsoft и хорошо взаимодействует с продуктами .Net, что делает работу удобной и быстрой.

Для клиента/компании. Для тестирования есть бесплатная версия Developer, которая имеет весь функционал MSSQL Server, но её нельзя использовать в коммерческих целях. Есть версия Express - полностью бесплатная, имеет в наборе только сервер, без дополнительных глобальных инструментов, но с ограничением по размеру БД в 10 Гб. Платные версии - Standard, Enterprise. Стоимость за установку на своей машине от 3717$ за 2 ядра (для пользования СУБД, Standard) до 14,256$ за 2 ядра (для пользования СУБД, Enterprise).

MySQL - свободная реляционная система управления базами данных[7]. Разработку и поддержку MySQL осуществляет корпорация Oracle.

Для разработчика. Работает с ADO.Net и EF. Минусом является задержка в обновлении провайдеров, зависимость версий пакетов (некоторые версии ADO.net/EF работают с определенными версиями провайдеров), некоторые провайдеры не доработаны.

Для клиента/компании. Есть бесплатная Community версия, которая включает все инструменты, но только для некоммерческих проектов. Платные версии: Standard (2000$), Enterprise(5000$), Cluster (10000$).

PostgreSQL - свободная объектно-реляционная система управления базами данных. Существует в реализациях для множества UNIX-подобных платформ, включая AIX, различные BSD-системы, HP-UX, IRIX, Linux, macOS, Solaris/OpenSolaris, Tru64, QNX, а также для Microsoft Windows.

Для разработчика. Реализованы open-source провайдеры для работы с ADO.Net и EF, которые имеют такие же проблемы, что и у MySQL.

Для клиента/компании. Данная СУБД полностью бесплатна.

Итог

Лучшим вариантом для разработки является MSSQL Server. С точки зрения компании/клиента лучше PostgreSQL. Проблема по большей части заключается в установке провайдеров, библиотек для корректной работы с технологиями.

Телеграмм канал: https://t.me/dotnetreview

Источники: MSSQL, MySQL, PostgreSQL