Какво е MySQL?
MYSQL е популярна и широко използвана СУБД система. Името е взето от името на момичето My, което е дъщеря на съоснователя Michael Widenius. Изходният код на MYSQL е достъпен под GNU GPL. Проектът е собственост и се поддържа от Oracle Corporation.
Това е RDBMS (Релационна система за управление на база данни) и работи предимно върху модела на релационна база данни. Това прави администрирането на базата данни по-лесно и по-гъвкаво.
Какво е PostgreSQL?
Postgre е обектно-релационна система за управление на база данни (ORDBMS). Той е разработен в Катедрата по компютърни науки в Калифорнийския университет. Postgres е пионер в много концепции.
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 от основателя Michael Widenius под компанията Monty Program Ab
- MariaDB замества MySQL за повечето дистрибуции през 2013 година
- Monty Program 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, Синтаксис на присъединяване и Процедурен език Loader - 1998-2001
- Версия 7.2 до 8.2: Включени функции като поддръжка на схеми, неблокиращ вакуум, роли и dblink - 2002-2006
- PostgreSQL 8.4, издаден през 2009 г.
- PostgreSQL 9.0, издаден през 2010 г.
- NYCPUG (New York City PostgreSQL User Group) се присъединява към PgUS (Асоциация PostgreSQL на САЩ) - 2013
- PGconf организиран-2014
КЛЮЧОВА РАЗЛИКА:
- PostgreSQL е обектна система за управление на релационна база данни (ORDBMS), докато MySQL е управлявана от общността СУБД система.
- PostgreSQL поддържа модерни приложения като JSON, XML и др., Докато MySQL поддържа само JSON.
- Представянето на PostgreSQL добре при изпълнение на сложни заявки, докато MySQL се представя добре в OLAP и OLTP системите.
- PostgreSQL е напълно съвместим с ACID, докато MySQL е съвместим само с ACID, когато се използва с InnoDB и NDB.
- PostgreSQL поддържа материализирани изгледи, докато MySQL не поддържа материализирани изгледи.
Защо да използвам MySQL?
Ето няколко важни причини за използването на MYSQL:
- Поддържа функции като Master-Slave Replication, Scale-Out
- Той поддържа отчитане на разтоварване, разпределение на географски данни и др.
- Много ниски режийни разходи с механизма за съхранение на MyISAM, когато се използват за приложения с предимно четене
- Поддръжка за механизъм за съхранение на памет за често използвани таблици
- Кеш за заявки за многократно използвани изрази
- Можете лесно да научите и отстраните MySQL от различни източници като блогове, бели книги и книги
Защо да използвам PostgreSQL?
Основните причини за използването на PostgreSQL са:
- Предлага полезни функции като разделяне на таблици, Възстановяване на точката във времето, Транзакционна DDL и др.
- Възможност за използване на ключови магазини на трети страни в пълна PKI инфраструктура
- Разработчиците могат да модифицират отворен код, тъй като той е лицензиран под BSD, без да е необходимо да допринасят за подобрения
- Независимите доставчици на софтуер могат да го разпространяват без страх да не бъдат „заразени“ от лиценз с отворен код
- Потребителите и ролите могат да получат привилегии на ниво обект
- Поддържа AES, 3DES и други алгоритми за криптиране на данни.
Характеристики на MySQL
- MySQL е управлявана от общността СУБД система
- Съвместим с различни платформи, използващи всички основни езици и мидълуер
- Той предлага поддръжка за контрол на паралелността на няколко версии
- Съответства на стандарта ANSI SQL
- Позволява SSL за репликация, базирана на журнали и базирани на задействане
- Обектно-ориентиран и ANSI-SQL2008 съвместим
- Многопластов дизайн с независими модули
- Напълно многонишкови, като се използват нишки на ядрото
- Сървър, наличен във вградена DB или клиентски сървър модел
- Предлага вградени инструменти за анализ на заявки и анализ на пространството
- Той може да обработва всяко количество данни, до 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, който е безплатен лиценз с отворен код. Това е подобно на лицензите 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-дърво, обединени по време на изпълнение за оценка, са динамично преобразувани предикати. |
Статистика на обектите | Доста добра статистика за обектите | Много добра статистика на обектите |
Въпроси за препълване на стека | 532 000 | 89.3K |
Възможности за присъединяване | Ограничете възможностите за присъединяване | Добри възможности за присъединяване |
GitHub Stars | 3.34к | 5.6k |
Вилици | 1.6k | 2.4k |
Изтъкнати компании, използващи продукта | Airbnb, Uber, Twitter | Netflix, Instagram, Groupon |
Недостатъци на използването на MySQL
- Транзакциите, свързани със системния каталог, не са съвместими с ACID
- Известно време срив на сървъра може да повреди системния каталог
- Няма включен модул за удостоверяване, предотвратяващ централно управляван акаунт
- Няма поддръжка за роли, така че е трудно да се поддържат привилегии за много потребители
- Съхранените процедури не могат да се кешират
- Таблиците, използвани за процедурата или задействането, винаги са предварително заключени
Недостатъци на използването на PostgreSQL
- Настоящите външни решения изискват висока крива на обучение
- Няма възможност за надграждане за големи версии
- Данните трябва да бъдат експортирани или реплицирани в новата версия
- По време на процеса на надстройка е необходимо двойно съхранение
- индексите не могат да се използват за директно връщане на резултатите от заявка
- Плановете за изпълнение на заявки не се кешират
- Операциите за групово зареждане могат да се свържат с процесора
- Поддръжка на оскъден независим доставчик на софтуер
Какво е по-добре?
След като сравним и двете, можем да кажем, че MySQL е свършил чудесна работа, за да се подобри, за да запази релевантността си, но от друга страна за PostgreSQL не се нуждаете от лицензиране. Той също така предлага наследяване на таблици, системи с правила, персонализирани типове данни и събития в базата данни. Така че, със сигурност е над MySQL.