От Джак М. Жермен

Системата за управление на релационни бази данни, известна още като RDBMS, е огромна част от това, което се случва в облака. Тази система за управление на данни е базирана на релационния модел. Това е един от основните модели на бази данни, които се използват широко днес.

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

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

Може би най-добре разпознаваемият продукт за релационни бази данни е MySQL на Oracle. Той предлага един от най-изчерпателните и усъвършенствани набори от функции в инструментите за управление на данни. Той предоставя на потребителите някои от най-високите нива на мащабируемост, сигурност, надеждност и непрекъсната работа.

Но въпреки популярността на MySQL като лидер на RDBMS, той не е единственият играч в играта на релационни облачни бази данни. Съществуват няколко впечатляващи алтернативи, като Postgre SQL, SQLite и MariaDB.

Разбира се, нито един продукт за бази данни не е идеалният вариант за всяка бизнес нужда. Този преглед подчертава разликите, така че можете по-добре да решите кой продукт е вашият идеален избор.

PostgreSQL

Популярна RDBMS с отворен код, PostreSQL е по-известен като Postgres. Тази база данни е проектирана от инженери за инженери. Това предполага неговата твърда репутация за надеждност и точност.

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

Този безплатен, управляван от общността софтуер с отворен код се контролира от PostgreSQL Global Development Group, ръководена от Брус Момджиан. Общността на PostgreSQL до голяма степен се счита за най-голямата в света независима общност за разработка с отворен код.

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

Дистрибуциите на Linux обикновено имат PostgreSQL, наличен в предоставени пакети. Mac OS X има PostgreSQL сървър като стандартна база данни по подразбиране в сървърното издание и включва клиентски инструменти на PostgreSQL в настолното издание на Mac.

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

Говорих с Momjian, за да обсъдим по-ранна версия и потенциала на неговата Global Development Group да се превърне в бизнес или търговско дружество за PostgreSQL. Той признава, че истинската сила и принос на Postgres като влиятелна софтуерна общност е в запазването на отворен код. Този ръст води до насърчаване на всеки да допринася с пачове, да прави търговски продукти, базирани на него, и да предлага консултации за обучение за използването му.

Това предпочитание към небизнес дейност прави Postgres сериозна алтернатива на Oracle и Microsoft. Малко вероятно е общността на Postgres някога да бъде преследвана от конфликти между решенията, базирани на целите за продажби, и тези, базирани на надеждността на продукта.

SQLite

SQLite е лека RDBMS. Не изисква собствен процес, собствено клъстериране или собствено управление на потребители, както другите RDBMS.

Нека изясним три потенциално объркващи фактора, които отделят SQLite от другите бази данни в тази категория.

Първо, SQL е език за заявки, който управлява релационни бази данни. Надграждайки това, SQLite е вградена система за управление на релационни бази данни.

Второ, за разлика от други релационни бази данни, SQLite не поддържа съхранени процедури.

Трето, SQLite е базиран на файлове, за разлика от други бази данни, които са базирани на сървър.

Това, което прави SQLite лек, като същевременно запазва своята релационна сила, е използването на компактна библиотека в процеса. Например, дори с активирани всички функции, размерът на библиотеката може да бъде по-малък от 500 kibibyte (KiB). Ако незадължителните функции са пропуснати, размерът на библиотеката SQLite може да падне под 300KiB.

Тази библиотека внедрява самостоятелна, безсървърна, транзакционна SQL база данни с нулева конфигурация. Кодът за SQLite е обществено достояние. Това прави базата данни безплатна за използване за всякакви цели, независимо дали са търговски или частни.

Можете също така да конфигурирате SQLite да работи в минимално стеково пространство (помислете 4KiB) и много малко купчина, като 100KiB. Това прави SQLite популярен избор на машина за бази данни при оборудване с ограничена памет. Докато повече памет е по-добре от по-малко, SQLite не страда от влошена производителност в среди с малко памет.

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

Дълголетието на базата данни е от голямо значение тук. Разработчиците продължават да разширяват възможностите на SQLite и да подобряват неговата надеждност и производителност. Но те също поддържат обратна съвместимост с публикуваната спецификация на интерфейса, SQL синтаксиса и файловия формат на базата данни.

Безплатна поддръжка за SQLite е достъпна от публични форуми за поддръжка. Но имате две други опции, които не са безплатни.

Единият е закупуването на годишен абонамент за поддръжка за $1500 годишно, който ви дава право на лични, експертни съвети от разработчиците по имейл. Или две, можете да получите по-директна и чувствителна към времето техническа поддръжка чрез имейл с висок приоритет и телефон директно от разработчиците на SQLite. Можете също да добавите гарантирано време за реакция срещу допълнително заплащане. Тези подобрени пакети за поддръжка варират от $8 000 до $35 000 на година.

MariaDB

MariaDB е напълно функционално решение за транзакционна база данни с отворен код за разработка на съвременни приложения и корпоративни случаи. Той предлага цялостен пакет от технологии и услуги, включително богати на функции версии на MariaDB Server и MariaDB MaxScale. Комбинацията от функции върши добра работа за затваряне на празнината между функционалността с отворен код и патентованите предложения.

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

Всъщност MariaDB е тръгнала по по-прогресивен път на развитие. Той предлага повече DB машини от самия MySQL. Например, тези стандартни машини са включени: MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE и MERGE машини за съхранение.

Освен това MariaDB включва 11 допълнителни DB машини. Те включват: ColumnStore, MyRocks, Aria, FederatedX, SphinxSE, TokuDB, CONNECT, SEQUENCE, Spider и Cassandra.

MariaDB също има богат каталог от подобрения на оптимизатора в сравнение с MySQL. За моите пари MariaDB има много повече функции и подобрения от водещите претенденти.

Обратната съвместимост на MariaDB е една от най-силните й точки за продажба като двоичен заместител на MySQL. Например файловете с данни и дефиниции на таблици (.frm) са двоично съвместими. Всички имена на файлове, двоични файлове, пътища, портове и гнезда са еднакви. Всички клиентски API и протоколи са идентични.

Две по-забележителни характеристики са 1. всички конектори на MySQL работят така, както са с MariaDB, и 2. клиентският пакет MySQL работи със сървъра MariaDB.

Обобщаване

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

Мислете за избора като за оценка между търговска софтуерна опция с „марка“ или обща, „нова и подобрена“ платформа. Без съмнение цената може да бъде особено определящ фактор.

Релационна база данни с отворен код може да ви даде бизнес предимство. Безплатната база данни може да бъде по-добра от патентованите опции. Без съмнение ще похарчите по-малко разходи за поддръжка, като приемете PostgreSQL, SQLite или MariaDB, отколкото ако закупите търговски продукт.

Запознайте се и с трите. Приложете дължимата грижа и необходимото обсъждане, след което изберете любимия си RDBMS вкус.

Моля, не се колебайте да споделите по-долу всякакви коментари, въпроси или прозрения относно вашия опит със системите за управление на релационни бази данни. И ако сте намерили този блог за полезен, помислете дали да не го споделите чрез социалните медии.

За блогъра: Джак М. Жермен е ветеран ИТ журналист, чиято изключителна ИТ работа може да бъде намерена редовно в „LinuxInsider“ на ECT New Network и други издания като „TechNewsDirectory“. Репортажите на Джак обхващат четири десетилетия и неговият обхват на IT опит е несравним. И въпреки че неговите възгледи и доклади са само негови и не отразяват непременно тези на Linode, ние сме благодарни за неговия принос. Той може да бъде следван в Google+.