SQLite, MySQL и PostgreSQL сравнение популярните релационни бази данни

SQLite, MySQL и PostgreSQL сравнение популярните релационни бази данни

Релационни бази данни се използват за дълго време. Те са станали популярни благодарение на успешното изпълнение на релационни модели в системата за контрол, за да се осигури много удобна за работа с данни. В тази статия, ние сравняваме трите най-популярната система за управление на релационни бази данни (RDBMS): SQLite. MySQL и PostgreSQL.

Системи за управление на бази данни

база данни - е логично моделира магазин на всякакъв вид данни. Всяка база данни, която не е besskhemnoy трябва да бъде модел, който определя някои структури от данни. База данни - Това приложение (или библиотека), управляващ бази данни на различни форми, размери и видове.

За да се разбере по-добре в базата данни, вижте тази статия.

Система за управление на бази данни

Релационни системи за прилагане на релационния модел на данните, който определя всички съхранената информация като съвкупност от свързани записи в таблицата за атрибут.

СУБД, използващи този тип структура (маса) за съхранение и обработка на данни. Всяка колона (атрибут) съдържа свой собствен тип информация. Всеки запис в базата данни има уникален ключ, който се предава на ред на таблицата и неговите атрибути са показани в колони на таблицата.

Връзка и типове данни

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

Всеки формиране на запис елемент трябва да отговаря на определен тип данни (число, дата и т.н.). Различни RDBMSs използват различни видове данни, които не винаги са взаимозаменяеми.

Тези ограничения са често срещани в релационни бази данни. В действителност, те формират същността на връзката.

популярни RDBMS

В тази статия ще обсъдим най-популярните 3 RDBMS:

  • SQLite: много мощен вграден RDBMS.
  • MySQL: най-популярните и често използвани от RDBMS.
  • PostgreSQL: най-модерната и гъвкава релационна база данни.

SQLite - това е една невероятна библиотека, построена в заявлението, че той използва. Както файла с базата данни, тя осигурява отлична набор от инструменти за по-прост (в сравнение с базата данни на задния) обработка на всички видове данни.

Когато приложение използва SQLite, тяхната комуникация се извършва чрез извикване на функции и директно файла, които съдържат данни (например, SQLite база данни), а не на някакъв вид интерфейс, който подобрява скоростта и ефективността на операциите.

Поддържани типове данни

  • NULL: NULL стойност.
  • INTEGER: подписан цяло число, се съхранява в 1, 2, 3, 4, 6 или 8 байта.
  • REAL: брой с плаваща запетая, съхранявани в 8-байт IEEE формат.
  • ТЕКСТ: текстов низ с kodirovkoyUTF-8, UTF-16BE или UTF-16LE.
  • BLOB: вида на данните, съхранявани в същия вид, в който и да е получена.

Забележка: За повече информация се обърнете към документацията.

предимства

  • Файл: цялата база данни се съхраняват в един файл, което го прави по-лесно да пътуват.
  • Стандартизирани: SQLite използва SQL; някои функции са пропуснати (дясната външна JOIN или от всеки отчет), обаче, има някои нови.
  • Чудесно за развитието и дори на теста: по време на фазата на развитие най изисква мащабно решение. В SQLite, с богатата си набор от функции, може да осигури повече от достатъчно функционалност като същевременно е достатъчно просто да се работи с по един файл и свързаната C библиотеката.

недостатъци

  • Липсата на контрол от потребителя: напреднал база данни предоставя на потребителите възможността за управление на връзки в таблиците в съответствие с привилегиите, но SQLite, които се отличават.
  • Невъзможност за допълнителни настройки: Отново, SQLite не може да се направи по-продуктивни, да се копае по-дълбоко в настройките - така че е подредена.

Кога да се използва SQLite

  • Вградени приложения: Всички са преносими не е предназначен за приложения, за да се мащабират - например, местни един потребител приложения, мобилни приложения или игри.
  • диск за съхранение на достъпа система: в повечето случаи заявлението, често за производство на директни полети до диска четене / запис може да бъде преведен на SQLite за подобряване на производителността.
  • Тестването е идеален за повечето приложения, което е част от функционално тестване на бизнес-логика.

Когато не е необходимо да се използва SQLite

  • Multi-потребителски приложения, ако работите върху достъпа молба към базата данни, която ще се използва от няколко души, в същото време, по-добре е да изберете пълнофункционален релационна база данни - например, MySQL.
  • Приложения, които пишат големи обеми от данни: един от ограничения SQLite са операциите запис. Това RDBMS позволява изпълнение едно време само един запис на работа.

MySQL - е най-популярната от всички основни сървъра на базата данни. Разбирам, че е много проста, и в мрежата на него можете да намерите много информация. Въпреки, че MySQL и се опитвам да не изпълни изцяло SQL-стандарти, тя предлага широка функционалност. Заявленията комуникират с базата данни през процес на демон.

Поддържани типове данни

  • TINYINT: много малка част.
  • SMALLINT: малка число.
  • MEDIUMINT: цяла среден размер.
  • INT или INTEGER: цяло число от нормалния размер.
  • BIGINT: голямо число.
  • FLOAT: подписан брой с единична точност с плаваща запетая.
  • DOUBLE, двойна точност, REAL: подписан номер с двойна точност с плаваща запетая.
  • Десетичен, Цифри: подписан номер с плаваща запетая.
  • ДАТА: Дата на.
  • DATETIME: комбинация от дата и час.
  • TIMESTAMP: клеймото.
  • ВРЕМЕТО: време.
  • Година: година YY или YYYY формат.
  • ЧАР: низ от фиксиран размер, допълнена с интервали до максималната дължина.
  • VARCHAR: променлива дължина низ.
  • TINYBLOB, TINYTEXT: BLOB- или текст-колона с максимална дължина от 255 (2 ^ 8 - 1) знаци.
  • BLOB, текст: BLOB- или текст-колона с максимална дължина от 65,535 (2 ^ 16-1) знаци.
  • MEDIUMBLOB, MEDIUMTEXT: BLOB- или ТЕКСТ колона на максимална дължина 16777215 (2 ^ 24-1) знаци.
  • LONGBLOB, LONGTEXT: BLOB- или ТЕКСТ колона на максимална дължина 4294967295 (2 ^ 32-1) знаци.
  • ENUM: изброяване.
  • SET: настройте.

предимства

  • Простота: MySQL е лесен за инсталиране. Има много инструменти на трети страни, включително визуална, Лесно е да започнете с базата данни.
  • Много функции: MySQL поддържа повечето от SQL функционалността.
  • Сигурност: много функции за сигурност, вградени в MySQL.
  • Капацитет и мащабируемост: MySQL може да работи с много големи обеми от данни, и звучи като добра идея за мащабируеми приложения.
  • Скорост: пренебрегне някои стандарти го позволява MySQL да работят по-продуктивно, кройката в ъглите.

недостатъци

Кога трябва да използвам MySQL

  • Разпределени работа: когато имате нужда от по-голяма от функционалност може да осигури SQLite, трябва да използвате MySQL.
  • Висока сигурност: MySQL функции за сигурност осигуряват надеждна защита за достъп и използване на данните.
  • Уеб сайтове и приложения: по-голямата част от уеб ресурси може да работи с MySQL, въпреки ограниченията. Този инструмент е много гъвкав и лесен за употреба, които се ползват само в дългосрочен план.
  • Персонализирани решения, ако се работи по много специфичен продукт, MySQL се адаптират към вашите нужди благодарение на широка гама от настройки и режими.

Когато не е необходимо да се използва MySQL

  • SQL-съвместими защото MySQL не се опитва да изпълнят изцяло SQL стандарти, не е напълно съвместим с SQL. Поради това, може да възникнат проблеми при интегриране с други RDBMSs.
  • Конкурентоспособност: въпреки MySQL справя с операции за четене, едновременно да четат и пишат операции могат да причинят проблеми.
  • Липсата на възможности: В зависимост от избора на двигател MySQL може да липсват някои функции.

PostgreSQL

PostgreSQL - е най-напредналите RDBMS ориентирани предимно върху спазването на стандартите и мащабируемост. PostgreSQL или Postgres, опитвайки се да отговарят изцяло на ANSI / ISO SQL-стандарти.

PostgreSQL е различна от други RDBMS че е обектно-ориентирани функции, включително пълна подкрепа за КИСЕЛИНА концепция (валентност, последователност, изолация, Трайност).

Като се основава на мощната технология Postgres справя с едновременна обработка на множество работни места. конкурс за подкрепа осъществява чрез използване на MVCC (многоверсионен Concurrency Control), която също осигурява съвместимост с киселина.

Въпреки, че това не е толкова популярни RDBMS като MySQL, има много инструменти на трети страни и библиотеки, за да се улесни работата с PostgreSQL.

Поддържани типове данни

предимства

  • Пълен SQL-съвместими.
  • Общността: PostgreSQL е подкрепен от опитен общност 24/7.
  • Подкрепа за трети страни, организации: въпреки много разширени функции, PostgreSQL се използва в редица актове, свързани с RDBMS.
  • Разширение: PostgreSQL може програмно разшири поради съхранени процедури.
  • Обектно-ориентирани: PostgreSQL - не само релационни, но и обектно-ориентиран база данни.

недостатъци

  • Изпълнение: В прост PostgreSQL гласи може да доведе до съперника си.
  • Популярност: Поради своята сложност, инструментът не е много популярна.
  • Хостинг: поради посочените по-горе фактори, е трудно да се намери подходящ доставчик на услуги.

Кога да се използва PostgreSQL

  • интегритет на данните: ако приоритетът стои на надеждност и цялостност на данните, PostgreSQL - най-добрият избор.
  • Сложните процедури: ако вашата база данни е да се изпълняват сложни процедури, за да изберете PostgreSQL по силата на своята разтегливост.
  • Интеграция: ако в бъдеще ще трябва да се премести на цялата база данни за друго решение, най-малко проблеми възникват с PostgreSQL.

Когато не е необходимо да се използва PostgreSQL

  • Скорост: Ако всичко, което е необходимо - това е бързо операции за четене, не е необходимо да се използва PostgreSQL.
  • Обикновено ситуация: ако не се нуждаете от по-висока надеждност, поддръжка на ACID, и така нататък, използването на PostgreSQL - е стрелба с пистолет на мухите.