Что такое MySQL?
MYSQL — популярная и широко используемая система СУБД. Имя взято от имени девушки My, которая является дочерью соучредителя Майкла Видениуса. Исходный код MYSQL доступен под лицензией GNU GPL. Проект принадлежит и поддерживается Oracle Corporation.
Это RDBMS (система управления реляционными базами данных), работающая главным образом на модели реляционных баз данных. Это делает администрирование базы данных более простым и гибким.
Что такое PostgreSQL?
Postgre — это система управления объектно-реляционными базами данных (ORDBMS). Он был разработан на факультете компьютерных наук в Калифорнийском университете. Постгрес был пионером многих концепций.
Postgre — это система реляционных баз данных корпоративного класса. Это легко установить и установить. Он предлагает поддержку SQL и NoSQL. У него есть отличное сообщество, которое с радостью поможет вам, когда вы столкнетесь с проблемами при использовании PostgreSQL.
В этом уроке вы узнаете больше о —
- История MySQL
- История PostgreSQL
- Зачем использовать MySQL?
- Зачем использовать PostgreSQL?
- Особенности MySQL
- Особенности PostgreSQL
- Ключевые различия между MySQL и PostgreSQL
- Недостатки использования MySQL
- Недостатки использования PostgreSQL
- Что лучше?
История MySQL
- MySQL был создан шведской компанией MySQL AB 1995
- Sun приобрела MySQL AB за 1 миллиард долларов в 2008 году
- Oracle купил Sun в 2010 году и тем самым приобрел MySQL
- В 2012 году MySQL был разветвлен в MariaDB основателем Майклом Видениусом в компании Monty Program Ab.
- MariaDB заменяет MySQL для большинства дистрибутивов в 2013 году
- Программа Monty Ab объединена со SkySQL-2013
- SkySQL Ab переименован в MariaDB Corporation- 2014
История PostgreSQL
- INGRES был разработан-1977
- Майкл Стоунбрейкер и его коллеги разработали Postgres- 1986
- Поддержка реальных ACID и PL / pgSQL — 1990
- Выпущен как Postgres95 в -1995
- Переиздан Postgres95 как PostgreSQL 6.0 — 1996
- MVCC, GUC, контроль синтаксиса соединения и загрузчик процедурного языка — 1998-2001
- Версия от 7.2 до 8.2: включенные функции, такие как поддержка схемы, неблокирование VACUUM, роли и dblink — 2002-2006
- PostgreSQL 8.4 выпущен в 2009 году
- PostgreSQL 9.0 выпущен в 2010 году
- NYCPUG (Нью-Йоркская группа пользователей PostgreSQL) присоединяется к PgUS (Ассоциация PostgreSQL США) — 2013
- PGconf организовал-2014
Зачем использовать MySQL?
Вот несколько важных причин для использования MYSQL:
- Поддерживает такие функции, как Master-Slave Replication, Scale-Out
- Он поддерживает отчеты о разгрузке, географическое распределение данных и т. Д.
- Очень низкие накладные расходы с механизмом хранения MyISAM при использовании в основном для приложений чтения
- Поддержка механизма хранения памяти для часто используемых таблиц
- Query Cache для многократно используемых операторов
- Вы можете легко изучить и устранить неполадки MySQL из разных источников, таких как блоги, официальные документы и книги.
Зачем использовать PostgreSQL?
Основными причинами использования PostgreSQL являются:
- Предлагает полезные функции, такие как разбиение таблиц, восстановление за время, транзакционный DDL и т. Д.
- Возможность использовать сторонние хранилища ключей в полной инфраструктуре PKI
- Разработчики могут изменять открытый исходный код, так как он лицензирован в соответствии с BSD, без необходимости вносить дополнительные улучшения
- Независимые поставщики программного обеспечения могут распространять его без страха быть зараженным лицензией с открытым исходным кодом.
- Пользователям и ролям могут быть назначены привилегии уровня объекта
- Поддерживает AES, 3DES и другие алгоритмы шифрования данных.
Особенности MySQL
- MySQL — это управляемая сообществом система СУБД
- Совместим с различными платформами, используя все основные языки и промежуточное ПО
- Он предлагает поддержку управления несколькими версиями параллелизма
- Соответствует стандарту ANSI SQL
- Позволяет репликации на основе журнала и триггера SSL
- Объектно-ориентированный и совместимый с ANSI-SQL2008
- Многослойный дизайн с независимыми модулями
- Полностью многопоточный, с использованием потоков ядра
- Сервер доступен во встроенной БД или клиент-серверной модели
- Предлагает встроенные инструменты для анализа запросов и анализа пространства
- Он может обрабатывать любой объем данных, вплоть до 50 миллионов строк и более
- MySQL работает во многих разновидностях UNIX, а также в других не UNIX системах, таких как Windows и OS / 2.
Особенности PostgreSQL
- Активное сообщество, которое ускоряет свое развитие
- Наиболее распространенная альтернатива Oracle, DB2 и SQL Server
- Работает на всех основных платформах ОС, которые у вас могут быть
- MVCC поддерживает большое количество одновременных пользователей
- Обширная индексация для высокопроизводительных отчетов
- Поддержка современных приложений (XML и JSON)
- Поддержка ANSI SQL для переносимых навыков / кода
- Поддержка внешних ключей для эффективного хранения данных
- Соединения таблиц и представления для гибкого поиска данных
- Триггеры / хранимые процедуры для сложных программ и транзакций
- Репликация для резервного копирования данных и масштабируемости чтения
Различия между MySQL и PostgreSQL
параметр | MYSQL | PostgreSQL |
Открытый исходный код | Проект MySQL сделал свой исходный код доступным в соответствии с условиями GNU General Public License. | PostgreSQL выпускается под лицензией PostgreSQL, которая является бесплатной лицензией Open Source. Это похоже на лицензии BSD & MIT. |
Соблюдение кислотности | MySQL совместим с ACID, только если он используется с механизмами хранения кластеров InnoDB и NDB. | PostgreSQL полностью совместим с ACID. |
Совместимый с SQL | MySQL частично совместим с SQL. Например, он не поддерживает ограничение проверки. | PostgreSQL в значительной степени совместим с SQL. |
Поддержка сообщества | Он имеет большое сообщество участников, которые сосредоточены главным образом на поддержании существующих функций с новыми функциями, появляющимися время от времени. | Активное сообщество постоянно совершенствует существующие функции, а его инновационное сообщество стремится обеспечить, чтобы оно оставалось самой передовой базой данных. Новые новейшие функции и улучшения безопасности регулярно выпускаются. |
Представление | Он в основном используется для веб-проектов, которым требуется база данных для простых транзакций данных. | Он широко используется в больших системах, где скорость чтения и записи важна |
Лучше всего подходит | MySQL хорошо работает в системах OLAP и OLTP, когда требуются только скорости чтения. | Хорошая производительность PostgreSQL при выполнении сложных запросов. |
Поддержка JSON | MySQL имеет поддержку типов данных JSON, но не поддерживает другие функции NoSQL. | Поддержка JSON и других функций NoSQL, таких как встроенная поддержка XML. Это также позволяет индексировать данные JSON для более быстрого доступа. |
Поддержка материализованных представлений | Поддерживает материализованные представления и временные таблицы. | Поддерживает временные таблицы, но не предлагает материализованные представления. |
экосистема | MySQL имеет динамическую экосистему с такими вариантами, как MariaDB, Percona, Galera и т. Д. | У Postgres были ограниченные возможности высокого класса. Однако, это меняется с новыми функциями, представленными в последней версии. |
Значения по умолчанию | Значения по умолчанию могут быть перезаписаны на уровне сеанса и уровне оператора | Значения по умолчанию могут быть изменены только на системном уровне |
Индексы B-дерева | Два или более индекса B-дерева могут использоваться, когда это уместно. | Индексы B-дерева, объединенные во время выполнения для оценки, являются динамически преобразованными предикатами. |
Статистика объекта | Достаточно хорошая статистика объекта | Очень хорошая статистика объектов |
Вопросы переполнения стека | 532K | 89.3K |
Присоединяйтесь возможности | Ограничить возможности соединения | Хорошие возможности соединения |
GitHub Stars | 3.34k | 5.6K |
вилки | 1.6k | 2.4k |
Известные компании, использующие продукт | Airbnb, Uber, Twitter | Netflix, Instagram, Groupon |
Недостатки использования MySQL
- Транзакции, связанные с системным каталогом, не соответствуют требованиям ACID
- Некоторое время сбой сервера может повредить системный каталог
- Нет подключаемого модуля проверки подлинности, предотвращающего централизованно управляемую учетную запись
- Нет поддержки ролей, поэтому трудно поддерживать привилегии для многих пользователей
- Хранимые процедуры не кешируются
- Таблицы, используемые для процедуры или триггера, всегда предварительно заблокированы
Недостатки использования PostgreSQL
- Текущие внешние решения требуют высокой кривой обучения
- Нет возможности для обновления основных выпусков
- Данные должны быть экспортированы или реплицированы в новую версию
- Двойное хранилище необходимо во время процесса обновления
- индексы не могут быть использованы для прямого возврата результатов запроса
- Планы выполнения запросов не кэшируются
- Операции массовой загрузки могут стать привязанными к процессору
- Поддержка разреженных независимых поставщиков программного обеспечения
Что лучше?
После сравнения обоих можно сказать, что MySQL проделал большую работу по улучшению себя, чтобы сохранить актуальность, но с другой стороны для PostgreSQL вам не нужно никакого лицензирования. Он также предлагает наследование таблиц, системы правил, пользовательские типы данных и события базы данных. Таким образом, это, безусловно, выше MySQL.
КЛЮЧЕВАЯ РАЗНИЦА:
- PostgreSQL — это система управления объектными реляционными базами данных (ORDBMS), тогда как MySQL — это управляемая сообществом система СУБД.
- PostgreSQL поддерживает такие современные приложения, как JSON, XML и т. Д., В то время как MySQL поддерживает только JSON.
- PostgreSQL хорошо работает при выполнении сложных запросов, тогда как MySQL хорошо работает в системах OLAP и OLTP.
- PostgreSQL полностью совместим с ACID, в то время как MySQL совместим только с ACID при использовании с InnoDB и NDB.
- PostgreSQL поддерживает материализованные представления, тогда как MySQL не поддерживает материализованные представления.