В какой-то момент вашего путешествия по программированию вам понадобится база данных. Но какой? Выбор базы данных может быть сложной задачей, особенно если вы не знаете, что искать.

Как найти подходящую базу данных для ваших нужд

DB-Engines — это инициатива по сбору и представлению информации о системах управления базами данных (СУБД), а также ведется рейтинг СУБД по популярности. Эти рейтинги обновляются ежемесячно. Хотя популярность не обязательно означает лучший, это хорошая отправная точка при оценке баз данных. В этой статье мы рассмотрим некоторые из лучших баз данных, определенных DB-Engines, и сравним рейтинг DB-Engines с доступными данными опроса StackOverflow.

Некоторые основы базы данных

Прежде чем мы углубимся в рейтинги, давайте поговорим о базах данных. База данных представляет собой набор информации или данных. Базы данных бывают разных типов, от реляционных до объектно-ориентированных, NoSQL и т. д. На момент написания статьи пять лучших баз данных на DB-Engine были либо реляционными, либо NoSQL, поэтому здесь мы сосредоточимся только на этих двух типах баз данных. Для получения информации о других типах баз данных вы можете ознакомиться с этой статьей.

Реляционные базы данных, пожалуй, самый традиционный тип баз данных. Элементы хранятся в таблицах со столбцами и строками и обычно запрашиваются с помощью SQL (язык структурированных запросов) — подумайте о множестве SELECT * и INNER JOIN. С другой стороны, базы данных NoSQL не являются табличными и отлично подходят для гибких схем и масштабирования. Они были разработаны в конце 2000-х с упором на масштабирование, быстрые запросы, частые изменения приложений и более простое программирование.

Рейтинги

MySQL

MySQL, занявший второе место в рейтинге DB-Engines, был выпущен в середине 90-х. Она попала в корпорацию Oracle в результате ряда приобретений и была разветвлена, чтобы стать MariaDB в 2010 году. MySQL является СУБД с открытым исходным кодом, и к ней можно выполнять запросы с использованием SQL. Несмотря на то, что MySQL занимает второе место в списке СУБД, на самом деле это лучшая реляционная база данных для разработчиков Java, по крайней мере, согласно опросу StackOverflow 2021 — 55,48% респондентов использовали или хотят использовать ее.

MongoDB

MongoDB — лучший вариант NoSQL в нашем списке (и единственный вариант NoSQL в пятерке лучших для СУБД!), это распределенная база данных документов с доступом к исходному коду. Базы данных документов хранят данные в документах, подобно JSON. В случае с MongoDB данные хранятся в виде документов BSON (двоичное представление JSON), которые собираются вместе для создания коллекций. База данных — это один или несколько наборов документов. В отличие от традиционного формата базы данных, состоящего из таблиц со строками и столбцами, модель документа более гибкая. MongoDB был впервые выпущен в 2009 году, что делает его (относительным) новичком в этом списке. 30% разработчиков Java использовали или хотят использовать его.

Microsoft SQL-сервер

SQL Server — это продукт Microsoft и еще одна СУБД. В отличие от MySQL, SQL Server не с открытым исходным кодом, но у него есть как платные, так и бесплатные варианты. SQL Server был впервые выпущен в 1980-х годах. Его можно запросить через (как вы уже догадались) SQL. Около четверти респондентов StackOverflow Java использовали или хотят использовать его (23,66%).

PostgreSQL

PostgreSQL иногда называют просто Postgres. Это бесплатная СУБД с открытым исходным кодом. На рынке чуть больше 25 лет; его первый выпуск был в середине 90-х. Он чрезвычайно популярен — 40,44% разработчиков Java использовали его или хотят использовать.

Оракул

Oracle была впервые выпущена в 1970-х годах корпорацией Oracle, первой компанией, выпустившей реляционные базы данных на коммерческую основу. Oracle — это реляционная база данных, к которой можно обращаться через SQL. Oracle отлично подходит, если вы знаете, что ваша схема не изменится, поскольку изменения схемы требуют миграции (что может быть болезненным!). Это также немного сложно, поэтому может не подойти, если вы просто хотите что-то быстрое. С другой стороны, если вам нравится SQL и вы хотите что-то корпоративного уровня, Oracle — отличный выбор. Интересно, что хотя DB-Engines считает Oracle своим лучшим выбором, респонденты опроса StackOverflow 2021 не обязательно согласны с этим. Только 20,24% Java-разработчиков, принявших участие в опросе, использовали Oracle в прошлом году или хотели бы работать с Oracle в следующем году.