Как се сравняват релационните бази данни на AWS

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

Днес променливостта е много по-голяма с по-широката наличност на бази данни NoSQL, in-memory или data lake. Но въпреки това, когато се вземе решение за мигриране на текущите локални бази данни в облака, релационната база данни като цел все още е най-лесният вариант за този преход.

Ще разгледаме по-подробно следните бази данни, които могат да бъдат част от такава инициатива:

  • Оракул
  • полярно сияние
  • Microsoft SQL сървър
  • MySQL и PostgreSQL
  • MariaDB

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

AWS Oracle DB

Източник: aws.amazon.com

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

Как се различава

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

Основни предимства

Ето някои от основните предимства, които получавате, когато избирате такава зряла система за бази данни като Oracle:

✅ Страхотна поддръжка и опции за ефективни дейности по архивиране и възстановяване.

✅ Широка област от възможности за това как да настроите производителността на DB решението вътре в системата. Дори дълго след това решението вече е в производство. Дейностите по поддръжка и поддръжка вътре в тази платформа са наистина лесни за настройване и са много ефективни.

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

✅ Лесно администриране на дейности и процеси в базата данни. Специализирани административни конзоли и табла за управление и много инструменти, създадени от Oracle и предназначени единствено за администратори, които да се използват веднага.

✅ Поддръжка на многопотребителски среди. Ако изискването е да се поддържат хиляди отделни активни потребители едновременно, Oracle е отговорът.

Основни недостатъци

Oracle DB е много гъвкав по отношение на вертикалното мащабиране на производителността. Но по-малко, когато имате нужда от силно хоризонтално мащабиране. Това означава, че е лесно да надстроите до по-мощен CPU, повече памет и място за съхранение на база данни на клъстер.

Но ако вашите данни нараснат значително за кратко време – което е обичайният случай, който се случва с данни в облака, тесните места в производителността ще станат по-видими и по-трудни за разрешаване. Разпространяването на данните в множество клъстери и очакването им да растат динамично ще се превърне в основно изискване занапред. В този случай може да откриете, че Oracle DB започва да бъде по-ограничаваща, отколкото да отговаря на вашите бъдещи нужди.

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

  4 Най-добра безсървърна платформа за сигурност за вашите приложения

И накрая, Oracle DB не е собствена услуга на AWS DB, което означава, че няма да очаквате пълна поддръжка от AWS. По-скоро се ориентирайте към поддръжката на Oracle. Но след това се справете с проблемните точки на Oracle и AWS паралелно и с два различни набора от екипи за поддръжка.

Кога да изберете

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

Затова изберете AWS Oracle DB в случай:

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

Пример за използване

  • Големи телекомуникационни системи за таксуване, CRM и мидълуер данни.
  • Персонализирани DB реализации за автомобилни системи за бази данни, интегрирани с няколко различни потребителски инструменти или инструменти на доставчици на трети страни.
  • Пакетирани системни решения за банковата индустрия, където Oracle вече е фиксирана част от пакетираното решение от доставчиците и в крайна сметка интегрира допълнителни потребителски DB компоненти в едно сложно изпълнение.

AWS Aurora DB

Източник: aws.amazon.com

В много отношения Aurora е пряката противоположност на Oracle, дори ако все още е релационна база данни.

Как се различава

Autora DB е собствена услуга за база данни в AWS. AWS му предоставя пълна поддръжка и непрекъснато развитие и го интегрира дълбоко с останалата част от екосистемата на услугите на AWS.

Aurora DB не достига това ниво на диверсификация на функционалността, както Oracle вече има. Но е роден в облака (за разлика от Oracle). Тъй като AWS доразвива Aurora, пропускът във функционалността може в крайна сметка да бъде по-малък в бъдеще, отколкото е днес.

В много отношения Aurora вече е пред Oracle, особено по отношение на интеграцията с други облачни услуги на AWS. И тъй като Amazon създаде Aurora с мисъл за облачна екосистема, Aurora е готова за огромни приходи от данни и нарастване с времето, така че хоризонталното мащабиране е силно свойство.

Основни предимства

Бих казал, че основните предимства на Aurora DB са:

✅ Много гъвкаво разширяване на екземпляри на DB копия само за четене. Тези, които можете да създадете само за секунди. Екземплярите само за четене споделят същите DB регистрационни файлове на основната база данни, от която произхождат. Това означава, че създаването на нова база данни само за четене не изисква синхронизиране на всички данни; го прави автоматично, като споделя съществуващите.

✅ Готов за голям растеж на данни – хоризонталното мащабиране е голяма характеристика на Aurora DB. Добавянето на нови клъстери и разширяването на скалируемостта в различни зони на достъпност е възможно най-лесно. Тогава Aurora е много ефективна при избирането на големи количества данни много бързо.

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

✅ Автоматизирани резервни копия и лесно връщане към момента. Друг акцент е, че Aurora DB може да прави лесни ежедневни архиви и възстановяването на пълната база данни до всеки момент от време е много по-лесно. Можете да комбинирате всички предимства на облачната среда тук, както винаги налично свободно пространство, бързи вътрешни AWS операции и специална функция Aurora DB, която е насочена към бързо време за възстановяване и кратък престой.

  8-те най-добри платформи за бизнес разузнаване (BI) и анализ през 2022 г

✅ Поддръжка за MySQL или PostgreSQL DB двигател, така че можете да изберете каквото ви подхожда.

Основни недостатъци

  • Въпреки че Aurora е може би най-богатата на функции собствена релационна база данни, която можете да изберете в AWS, тя все още изостава от Oracle в това отношение. Разбираемо е; Oracle имаше много повече време да развие тези функции в миналото. Фактът остава, че Aurora DB е с всяко издание по-силна и по-близо.
  • Няма еквивалент на Aurora DB в локалното пространство. Можете да спорите, че старите бази данни, изградени в базите данни на MySQL или PostgreSQL, са близки – и от гледна точка на съвместимостта те със сигурност са. Но те не са строгият еквивалент. Това означава, че миграцията няма да бъде толкова ясна. Ще трябва да персонализирате и внедрите миграционни процеси, за да сте сигурни, че те ще прехвърлят данни от локално място и ще ги съхраняват в Aurora DB, всички в правилния формат на модела на данни.
  • Различните ограничения на AWS, особено тези твърди, са фактор, който в някои случаи може да отклони избора на тази DB като цел за напредване. Много е вероятно да успеете да ги заобиколите, но за някои ще ви е необходима по-сериозна инвестиция в рефакторинг, което в крайна сметка може да увеличи общите разходи за миграция в сравнение с друга цел на база данни.

Кога да изберете

С две думи, изборът на Aurora DB като goto релационна база данни в платформата AWS никога не е лошо решение, но го направете, особено ако:

  • Ще изградите облачна система от нулата около релационна база данни.
  • Очаквате най-високо ниво на съвместимост и интегралност с възможно най-различни родни AWS услуги.
  • Очаквате обемът на вашите данни да нарасне значително за кратко време.
  • Планирате да започнете няколко допълнителни проекта за доказателство за концепция (POC), където можете да се възползвате от всички предимства на безсървърната версия на релационна база данни.

Пример за използване

  • Безсървърна платформа за анализиране на големи количества инфраструктурни картинни данни.
  • Използване на модели за машинно обучение за обработка на вашата информация за езерото от данни и генериране на бизнес прогнози за вашия бизнес.
  • Netflix използва Aurora DB за бързо паралелно изпълнение на заявки върху техните каталожни данни.

AWS Microsoft SQL DB

Източник: aws.amazon.com

Тази база данни е в някои отношения сравнима с Oracle. Освен това е създаден много време преди облакът да стане нещо и има много настоящи локални потребители, които планират да мигрират към облака, като използват MS SQL DB като източник.

Как се различава

Въпреки тези прилики, MS SQL DB все още е тази, която е използвана много по-малко в миналото в сравнение с Oracle DB.

Поне съдейки от моя личен опит. Участвах в множество проекти на Oracle през последните две десетилетия, но само в няколко случая, в които беше включена MS SQL DB. И честно казано, не обичах да се занимавам с него толкова, колкото с Oracle DB.

Както и да е, все още разпознавам голям сегмент от компании, използващи MS SQL DB като основна база данни, която е единствената точка на истината за всички данни.

Основни предимства

Основни предимства на MS SQL DB:

✅ Добра интеграция с други услуги и софтуер на Microsoft, в случай че това е функция, която смятате за ценна за вашия случай.

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

✅ Доста просто от административна гледна точка (поне в сравнение с Oracle DB).

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

Основни недостатъци

  • Подобно на случая с Oracle DB, като чужда база данни в пространството на AWS облака, цялата поддръжка и разрешаване на проблеми трябва да се управляват от отделни специализирани екипи за поддръжка на MS SQL.
  • По-малко диверсификация на поддръжката на функционалност като цяло, когато се сравнява с Oracle DB или Aurora DB.
  • Не е подходящ за голям брой активни потребители.
  • Хоризонталната мащабируемост е още по-голям проблем, отколкото при случая с Oracle DB.
  Какво е Microsoft Planner и как да го използвам

Кога да изберете

MS SQL DB е най-подходящ, ако искате да мигрирате съществуващата локална MS SQL DB в облака с възможно най-малко разсейване. Освен това не очаквате тази интеграция с други облачни услуги на AWS до голяма степен.

Тогава MS SQL DB ще живее в облака на AWS като напълно управлявана база данни с неограничено съхранение и разширени опции за хоризонтална мащабируемост и висока достъпност в сравнение с локалната алтернатива.

Пример за използване

  • Действа като междинна платформа за персонализирана интеграция на различни системи от бази данни (може да бъде дори от различен тип, например Oracle DB).
  • Различни проекти с по-малък мащаб, при които цената на решението за база данни е нещо, което трябва да се има предвид, а бюджетът е по-ограничен (и не позволява да се отиде за пълноценно решение на Oracle DB).

AWS MySQL и PostgreSQL DB

Източник: aws.amazon.com

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

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

Как се различава

Когато мигрирате локалната база данни (било то MySQL или PostgreSQL) към облака на AWS, можете просто да използвате директно Aurora с MySQL или PostgreSQL двигател като цел и така да получите всички допълнителни предимства, които Aurora DB може да предложи.

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

Тяхното основно предимство се състои в разходите и в това, че са най-подходящи за малки проектни инициативи, където устойчивостта всъщност не е тема.

Основни недостатъци

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

Кога да изберете

  • Ако цената е основната тема и бюджетът е много ограничен.
  • Ако проектната инициатива е доста малка.
  • Ако обемът на данните е доста малък и няма планове за значителен растеж.

Пример за използване

  • Инициативи за лични проекти, при които разходите за инфраструктура трябва да бъдат възможно най-малко.
  • Малки POC, които биха доказали, че предложената концепция може да бъде реализирана.
  • Проекти на малки фирми с малки количества данни.
  • За малки SaaS проекти, които не изискват голямо количество зареждания на базата данни, всичко, което наистина се изисква, е просто съхранение на данни по начин на релационен модел на данни.

AWS MariaDB

Източник: aws.amazon.com

MariaDB все още е база данни с напълно отворен код, създадена от бивши разработчици на MySQL (след придобиването на MySQL от Oracle).

По отношение на съвместимостта всяка MySQL DB ще работи добре в MariaDB.

Как се различава

По отношение на функциите, няма много разлики от MySQL, които да очаквате, но свойството с отворен код е акцентът.

Технически има доста полезни функции, които са налични в MariaDB, но не и в MySQL.

Основни недостатъци

Доста подобно на случая с MySQL.

Кога да изберете

  • Ако наистина харесвате текущата си локална реализация на MariaDB и не искате да мигрирате към Aurora DB, независимо по каква причина.
  • Ако искате да останете наистина с отворен код с вашето решение за база данни в облачната екосистема на AWS.

Пример за използване

Доста подобно на случая с MySQL.

Заключителни думи

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

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

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