Що таке MySQL?
MYSQL - популярна та широко використовувана система СУБД. Ім'я взято від імені дівчинки My, яка є дочкою співзасновника Майкла Віденіуса. Вихідний код MYSQL доступний під GNU GPL. Проект належить і підтримується корпорацією Oracle.
Це СУБД (Реляційна система управління базами даних) і працює в основному над моделлю реляційних баз даних. Це робить адміністрування баз даних простішим та гнучкішим.
Що таке 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 засновником Майклом Віденієм під керівництвом компанії Monty Program Ab
- MariaDB замінює MySQL для більшості дистрибутивів у 2013 році
- Monty Program Ab об’єднано з SkySQL-2013
- SkySQL Ab перейменовано на MariaDB Corporation - 2014
Історія PostgreSQL
- INGRES був розроблений-1977
- Майкл Стоунбракер та його колеги розробили Postgres- 1986
- Підтримка реальних кислот і 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 (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, масштабування
- Він підтримує звітування про розвантаження, розподіл географічних даних тощо.
- Дуже низькі накладні витрати за допомогою механізму зберігання даних MyISAM, коли вони використовуються в основному для читання
- Підтримка механізму зберігання пам'яті для часто використовуваних таблиць
- Кеш запитів для багаторазово використовуваних операторів
- Ви можете легко вивчити та усунути неполадки 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. | PostgreSQL випускається під ліцензією PostgreSQL, яка є безкоштовною ліцензією з відкритим кодом. Це схоже на ліцензії BSD & MIT. |
Відповідність кислоти | MySQL відповідає ACID лише тоді, коли він використовується з движками кластерного зберігання InnoDB та NDB. | PostgreSQL повністю сумісний з кислотою. |
Сумісний з 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 тис | 89,3 тис |
Приєднуйтесь до можливостей | Обмежте можливості приєднання | Хороші можливості приєднання |
Зірки GitHub | 3,34 тис | 5,6 тис |
Вилки | 1,6 тис | 2,4 тис |
Видатні компанії, що використовують продукт | Airbnb, Uber, Twitter | Netflix, Instagram, Groupon |
Недоліки використання MySQL
- Транзакції, пов’язані із системним каталогом, не відповідають ACID
- Деякий час збій сервера може пошкодити системний каталог
- Немає підключається модуля автентифікації, що заважає централізованому керуванню обліковим записом
- Немає підтримки ролей, тому важко підтримувати привілеї для багатьох користувачів
- Збережені процедури не можна кешувати
- Таблиці, що використовуються для процедури або тригера, завжди попередньо блокуються
Недоліки використання PostgreSQL
- Сучасні зовнішні рішення вимагають високого рівня навчання
- Немає можливості оновлення для основних випусків
- Дані потрібно експортувати або відтворити в новій версії
- У процесі оновлення потрібне подвійне сховище
- індекси не можуть використовуватися для безпосереднього повернення результатів запиту
- Плани виконання запитів не кешуються
- Операції масового завантаження можуть зв’язати процесор
- Підтримка розрідженого незалежного постачальника програмного забезпечення
Що краще?
Порівнявши обидва, ми можемо сказати, що MySQL зробив велику роботу, покращивши себе, щоб зберегти актуальність, але з іншого боку для PostgreSQL вам не потрібно ніяких ліцензій. Він також пропонує успадкування таблиць, системи правил, власні типи даних та події бази даних. Отже, це, звичайно, перевищує MySQL.