Джек М. Жермен

Система управления реляционными базами данных, также известная как РСУБД, является огромной частью того, что происходит в облаке. Эта система управления данными основана на реляционной модели. Это одна из основных широко используемых сегодня моделей баз данных.

Реляционные базы данных в целом структурированы для распознавания отношений между хранимыми элементами информации. Их легко расширить (то есть добавить новую категорию данных) без необходимости изменять все существующие приложения. Каждая реляционная база данных структурирована вокруг набора таблиц, содержащих данные, сгруппированные по заранее определенным категориям.

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

Возможно, самый узнаваемый продукт реляционной базы данных - это Oracle MySQL. Он предлагает один из наиболее полных и расширенных наборов функций, имеющихся в инструментах управления данными. Он предоставляет пользователям одни из самых высоких уровней масштабируемости, безопасности, надежности и времени безотказной работы.

Но, несмотря на популярность MySQL как лидера РСУБД, это не единственный игрок в игре с реляционными облачными базами данных. Существует несколько впечатляющих альтернатив, таких как Postgre SQL, SQLite и MariaDB.

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

PostgreSQL

PostreSQL - популярная СУБД с открытым исходным кодом, более известная как Postgres. Эта база данных разработана инженерами для инженеров. Это говорит о его безупречной репутации благодаря надежности и точности.

PostgreSQL является ACID-совместимым (атомарность, согласованность, изоляция, долговечность) и транзакционным. Это означает, что транзакции базы данных гарантируют действительность даже в случае ошибок или сбоев питания.

Это бесплатное программное обеспечение с открытым исходным кодом, управляемое сообществом, контролируется глобальной группой разработчиков PostgreSQL, возглавляемой Брюсом Момджяном. Сообщество PostgreSQL в значительной степени считается крупнейшим в мире сообществом независимых разработчиков с открытым исходным кодом.

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

В дистрибутивах Linux обычно имеется PostgreSQL, входящий в комплект поставки. Mac OS X имеет сервер PostgreSQL в качестве стандартной базы данных по умолчанию в серверной версии и включает клиентские инструменты PostgreSQL в настольной версии Mac.

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

Я поговорил с Момджианом, чтобы обсудить более ранний выпуск и возможность превращения его группы глобального развития в бизнес или коммерческую организацию для PostgreSQL. Он признает реальную мощь Postgres и его вклад как влиятельного программного сообщества в том, чтобы оставаться открытым исходным кодом. Такой статус побуждает всех вносить исправления, создавать на их основе коммерческие продукты и предлагать консультации по обучению их использованию.

Такое предпочтение некоммерческой деятельности делает Postgres серьезной альтернативой подобным Oracle и Microsoft. Маловероятно, что сообщество Postgres когда-либо столкнется с конфликтами между решениями, основанными на целях продаж, и решениями, основанными на надежности продукта.

SQLite

SQLite - это легкая СУБД. Ему не нужен собственный процесс, собственная кластеризация или собственное управление пользователями, как это делают другие СУБД.

Давайте проясним три потенциально сбивающих с толку фактора, которые отделяют SQLite от других баз данных в этой категории.

Во-первых, SQL - это язык запросов, управляющий реляционными базами данных. Основываясь на этом, SQLite представляет собой встраиваемую систему управления реляционными базами данных.

Во-вторых, в отличие от других реляционных баз данных, SQLite не поддерживает хранимые процедуры.

В-третьих, SQLite основан на файлах, в отличие от других баз данных, основанных на сервере.

Что делает SQLite легковесным, сохраняя при этом свою реляционную мощь, так это использование компактной внутрипроцессной библиотеки. Например, даже при включенных функциях размер библиотеки может быть менее 500 кибибайт (KiB). Если дополнительные функции опущены, размер библиотеки SQLite может упасть ниже 300 КБ.

Эта библиотека реализует автономный, бессерверный, транзакционный механизм базы данных SQL с нулевой конфигурацией. Код для SQLite находится в открытом доступе. Это делает базу данных бесплатной для использования в любых целях, как коммерческих, так и частных.

Вы также можете настроить SQLite для работы в минимальном пространстве стека (подумайте о 4 КиБ) и очень маленькой куче, как в 100 КБ. Это делает SQLite популярным выбором движка базы данных для устройств с ограниченным объемом памяти. Хотя больше памяти лучше, чем меньше, SQLite не страдает от снижения производительности в средах с низким объемом памяти.

Еще один ключевой фактор для выбора SQLite - это постоянное внимание к поддержке базы данных, несмотря на ее бесплатную, не приносящую денег структуру сообщества. Над базой кода SQLite на постоянной основе работает международная команда разработчиков.

Здесь большое значение имеет долговечность базы данных. Разработчики продолжают расширять возможности SQLite и повышать его надежность и производительность. Но они также поддерживают обратную совместимость с опубликованной спецификацией интерфейса, синтаксисом SQL и форматом файлов базы данных.

Бесплатная поддержка SQLite доступна на открытых форумах поддержки. Но у вас есть еще два платных варианта.

Один из них - это покупка годовой подписки на обслуживание за 1500 долларов в год, которая дает вам право на получение частных экспертных консультаций от разработчиков по электронной почте. Или, во-вторых, вы можете получить более прямую и своевременную техническую поддержку по электронной почте и телефону с высоким приоритетом непосредственно от разработчиков SQLite. Вы также можете добавить гарантированное время ответа за дополнительную плату. Эти расширенные пакеты поддержки варьируются от 8000 до 35000 долларов в год.

MariaDB

MariaDB - это полнофункциональная транзакционная база данных с открытым исходным кодом для разработки современных приложений и корпоративных сценариев использования. Он предлагает полный пакет технологий и услуг, включая многофункциональные выпуски MariaDB Server и MariaDB MaxScale. Комбинация функций делает хорошую работу по сокращению разрыва между функциональностью с открытым исходным кодом и проприетарными предложениями.

Первоначальные разработчики MySQL создали MariaDB как ответвление базы данных MySQL после того, как Oracle приобрела MySQL в 2008 году. Это очень важный путь развития, если вы беспокоитесь о совместимости и функциональности. Это также дает вам уверенность в использовании MariaDB в качестве дополнительной, полностью обратно совместимой замены MySQL.

Фактически, MariaDB пошла по более прогрессивному пути развития. Он предлагает больше движков БД, чем сам MySQL. Например, эти стандартные механизмы включены: MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE и MERGE хранилища.

Кроме того, MariaDB включает 11 дополнительных движков БД. К ним относятся: ColumnStore, MyRocks, Aria, FederatedX, SphinxSE, TokuDB, CONNECT, SEQUENCE, Spider и Cassandra.

MariaDB также имеет внушительный каталог улучшений оптимизатора по сравнению с MySQL. На мои деньги MariaDB имеет гораздо больше функций и улучшений, чем ведущие конкуренты.

Обратная совместимость MariaDB является одним из ее сильнейших аргументов в пользу двоичной замены MySQL. Например, файлы данных и определения таблиц (.frm) двоично совместимы. Все имена файлов, двоичные файлы, пути, порты и сокеты одинаковы. Все клиентские API и протоколы идентичны.

Еще две важные особенности: 1. все соединители MySQL работают как есть с MariaDB и 2. пакет MySQL-client работает с сервером MariaDB.

Подведение итогов

Обычно реляционные базы данных с открытым исходным кодом имеют много общих функций и инструментов. При поиске идеального решения СУБД вы можете обнаружить, что решение сводится к небольшому или двум отличиям, которые позволяют одной СУБД лучше соответствовать вашим потребностям.

Думайте о выборе как о выборе между коммерческим программным обеспечением «под торговой маркой» или общей, «новой и улучшенной» платформой. Без сомнения, стоимость может быть особенно определяющим фактором.

Реляционная база данных с открытым исходным кодом может дать вам преимущество в бизнесе. Бесплатная база данных может быть лучше проприетарных вариантов. Несомненно, вы потратите меньше средств на поддержку при внедрении PostgreSQL, SQLite или MariaDB, чем если бы вы купили коммерческий продукт.

Ознакомьтесь со всеми тремя. Примените должную осмотрительность и необходимое обсуждение, а затем выберите свой любимый вариант СУБД.

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

О блоггере: Джек М. Жермен - ветеран ИТ-журналист, чьи выдающиеся достижения в области ИТ регулярно публикуются в LinuxInsider ECT New Network и других изданиях, таких как TechNewsDirectory. Репортаж Джека охватывает четыре десятилетия, и его обширный опыт в сфере ИТ не имеет себе равных. И хотя его взгляды и отчеты принадлежат исключительно ему и не обязательно отражают точку зрения Линода, мы благодарны за его вклад. За ним можно следить в Google+.