В наше время базы данных используются везде, начиная от предприятий, где в них храниться различная производственная информация и имена сотрудников и заканчивая веб-сайтами. Большинство движков веб-сайтов хранят всю необходимую им информацию в базе данных и получают ее от туда. Такой способ работы намного быстрее, чем использование файлов для сохранения данных и намного надежнее, чем хранение данных в оперативной памяти.
За время развития технологий баз данных было создано много систем управления ими, моделей работы, а также программного обеспечения. В этой статье мы рассмотрим лучшие базы данных Linux, которые вы можете использовать в своих проектах. Вы сможете выбрать какое решение подойдет именно для вас и почему. Все пункты списка базы данных под Linux расположены в случайном порядке. Все базы данных из списка поддерживают стандарт ACID.
Содержание статьи
1. MySQL
Разработка базы данных MySQL началась в 1995 году, за это время над ней работали несколько компаний, и сейчас она принадлежит Oracle. Кроме версии с открытым исходным кодом, существует несколько коммерческих версий, в которых реализованы дополнительные возможности, такие как кластер гео-репликации и автоматическое масштабирование.
MySQL относиться к типичным реляционным базам данных, все данные хранятся в таблицах и приложения могут очень быстро получить к ним доступ. Для запросов используется стандартный язык SQL, поддерживается большинство возможностей языка, определенных стандартом. При всем этом, она легка в использовании и развертывании.
За время своего развития MySQL получила поддержку различных типов таблиц, интеграцию во многие программы и языки программирования, а также имеет веб и графические интерфейсы для настройки.
2. PostgreSQL
Postgresql появился приблизительно в то же время, что и MySQL. Это объектно-реляционная база данных с открытым исходным кодом, все данные представлены в виде объектов. В отличие от MySQL, эта база данных неукоснительно следует всем стандартам SQL из-за чего она может показаться более сложной. Она разрабатывается программистами со всего мира, а направление развития контролируется советом.
Postgresql поддерживает множество интересных возможностей, среди которых оптимизация запросов, репликация данных, курсоры, позволяющие передавать только часть данных приложению, тиггеры - события для запросов SQL, поддержка шифрования по умолчанию. Кроме того, можно создавать пользовательские типы данных, а также сама база интегрирована во множество языков программирования и приложений.
3. SQLite
База данных SQLite была впервые выпущена в 2000 году. Она работает не в форме клиент-сервер, как это делают большинство баз данных, а представляет из себя библиотеку, которая встраивается в приложение. Все данные хранятся в одном файле, на том компьютере, где запущена программа. Читать данные из файла могут несколько клиентов одновременно, но записывать только один и если других операций чтения не выполняется.
Благодаря компактности SQLite накладные расходы минимальны, а установка и использование очень просты. В то же время база данных соответствует большинству требований стандарта SQL. Поэтому SQLite используется по умолчанию во многих веб-фреймворках, и программах для рабочего стола, например: Mozilla Firefox, Skype, Thunderbird и многих других.
4. MariaDB
Эта база данных основана на исходном коде MySQL и ее разработка началась после перехода оригинала в собственность Oracle. За работу взялись первоначальные разработчики MySQL. MariaDB сохраняет тесную совместимость с MySQL, поддерживаются все ее команды и синтаксис запросов. Кроме того, из дополнительных возможностей можно отметить поддержку таблиц: XtraDB, Aria, PBXT, FederateX, OQGRAPH, SphinxSE и другие.
Кроме таблиц была очень сильно улучшена производительность и добавлены новые возможности. Разработка ведется компанией MariaDB Foundation и разработчиками по всему миру, но в развитие проекта инвестируют деньги множество компаний, среди которых Google и Intel. Это лучшая и самая популярная база данных Linux.
5. Percona
Percona DB - это сборка базы данных MySQL со включенным по умолчанию движком таблиц XtraDB. Этот движок основан на InnoDB но дает более высокую производительность и больше статистики.
Движок таблиц XtraDB основан на InnoDB, но включает патчи исправлений от компаний Google и Percona, поэтому дает большую производительность. Здесь улучшен механизм работы с памятью, скорость ввода/вывода, добавлена поддержка работы нескольких потоков и управление пропускной способностью. Вы можете не использовать отдельный сервер баз данных, а включить XtraDB в MariaDB или MySQL.
6. MongoDB
MongoDB - это не реляционная, документарная база данных, которая была выпущена в 2007 году. Основная ее особенность в том, что данные хранятся не в виде строк в таблицах, а в документах, в формате JSON. Запросы на получение и изменение данных тоже оформляются через JavaScript подобный язык.
Эта база данных не подходит для хранения реляционных данных, данных между которыми важны связи. Но она дает очень высокую скорость работы. Над разработкой проекта работают более 1000 партнеров. Дальше, снова базы данных sql.
7. Firebird
Firebird - это реляционная система управления базами данных, основанная на исходном коде базы данных Interbase, которая была выпущена компанией Borland в 2000 году. Поддерживаются все инструкции стандарта SQL 92 и почти все из SQL 99. Поддержка ACID реализована с помощью версий записи, каждый запрос работает со своей версией, а это значит, что ничего не блокируется и не мешает друг-другу. Из дополнительных возможностей поддерживаются тиггеры и процедуры хранения.
8. CUBRID
Это объектно-реляционная система управления базами данных, которая появилась в 2008 году. Она имеет особую архитектуру, специально оптимизированную для быстрой работы веб-приложений. За каждую задачу отвечает отдельный процесс, что дает преимущество в скорости. На данный момент поддерживается стандарт SQL 92.
База данных может интегрироваться со множеством языков программирования, среди которых PHP, Perl, Python и Ruby.
Выводы
В этой статье мы рассмотрели лучшие бесплатные базы данных Linux и других операционных систем, которые вы можете использовать в своих проектах. Все они имеют открытый код и распространяются полностью бесплатно, но каждая из них имеет свои преимущества. Какую базу данных вы используете в своих проектах? Почему именно ее? Напишите в комментариях!
На завершение вы можете посмотреть видео, о том, что такое базы данных:
Как я Вас понимаю!
Я вот тоже много чем увлекаюсь, но времени на все увлечения яро е хватает. Поэтому я решил "выйти из мира теней информатики/интернета" и заняться простыми и обыденными вещами - применением узнанного/изученного в практике. Потому что просто изученный материал - это мертвые знания, которые практически никогда не пригодятся в реальной жизни.
Вот если взять те же базы данных - то важнее их применить для самого простого случая нужного каждой ДОМОХОЗЯЙКЕ например. Скажем сразу "сбацать" БД по нахождению вещей в хозяйстве - вот это будет польза в любой точке СНГ. А от БД с поиском вариантов нахождения студентов по аудиториям имеет крайне ограниченное применение - как образец у преподавателей информатики. Сразу "живой пример" - захотел я сделать 2-х полосные АС Салтыкова из ж.Радио. Настоящий инженер смотрит, что сделано до него и что можно сделать проще и лучше. Как это сделать? - Делать расчеты в "Электронных таблицах" как советуют гуру от акустики? Фига два. Написал я на борландовском Бэйсике программу для расчета АЧХ с визуализацией АЧХ, скомпилировал и получилось на 47Кб крошечная прога работавшая под ДОС, которая себя сразу и оправдала. Нужна была прога ля расчета многослойных катушек для фильтров - также написал. А что нам предлагают гуру? - Купить много не нужного ПО для решения минимальной задачи, принести много денег "гигантам IT" и стать бестолковыми юзверями...
Без сомнения СУБД нужны, но юзверя надо обучать СРАЗУ и быстро обучать с предложением СУБД или др. ПО. И не стоит "микроскопом забивать гвозди".