MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Какво е новото в MariaDB 10.6

От януари 2022 г. ClusterControl v1.9.2 въведе поддръжка за най-новата версия на MariaDB — версия 10.6. MariaDB 10.6, пуснат през юли 2021 г., ще се поддържа през следващите четири години или точно до юли 2026 г.

В тази публикация ще подчертаем най-добрите функции на MariaDB 10.6.

Атомен DDL (език за дефиниране на данни)

Първата функция, която ще разгледаме, е Atomic DDL. По дефиниция „атомен“ означава или операцията е успешна и записана в двоичните регистрационни файлове, или е напълно обърната. Започвайки с MariaDB 10.6.1, MariaDB подобри четливостта на операциите на DDL, като направи повечето от тях атомарни, докато останалите са безопасни при срив, дори ако сървърът се срине по време на изпълнение на която и да е операция. Както Atomic, така и Crash-safe са разработени за работа с всички механизми за съхранение, с изключение на S3 механизма за съхранение и машината за разделяне, които все още са в процес на работа.

В тази версия ALTER TABLE, RENAME TABLE, CREATE TABLE, DROP TABLE, DROP DATABASE и свързаните с тях DDL изрази вече са атомарно готови. Пълният списък с други операции на Atomic DDL можете да намерите тук. Страхотното нещо на новата атомна и безопасна реализация е, че сървърът на MariaDB стана много по-стабилен, да не говорим за надежден, дори в нестабилна среда.

SQL синтаксис

По отношение на категорията SQL синтаксис бяха добавени няколко нови функции. Първото, което ще видим, е:

ИЗБИРАНЕ ... ОТМЕСТВАНЕ ... ИЗВЛЕЧВАНЕ

Клаузата OFFSET ще ни позволи да върнем само онези сегменти от набор от резултати, които пристигат след дефинирано отместване. От друга страна, клаузата FETCH ограничава броя на редовете за връщане. Независимо дали става дума за ROW в единствено число или множествено число, и двете могат да се използват след клаузите OFFSET и FETCH, тъй като те нямат влияние върху резултатите.

ПРОПУСКАНЕ ЗАКЛЮЧЕНО

Може би някои от нас са запознати с този синтаксис, тъй като е импортиран и адаптиран от MySQL. С SKIP LOCKED можем да пропуснем всички заключени РЕДОВЕ, когато изпълняваме операции SELECT или UPDATE. Това определено е полезна функция, особено за приложения, които позволяват на множество потребители да резервират ограничени ресурси като хотелски стаи, места за полет, билети за концерти и др. 

Игнорирани индекси

Игнорираните индекси са подобни на функцията „невидими индекси“ в MySQL 8. Всички индекси, които са видими и поддържани, но не се използват от оптимизатора, могат да бъдат определени като игнорирани индекси. Това може да бъде много полезно, когато тестваме, за да видим какво се появява, ако пуснем индекс, преди наистина да го изпуснем. В случай, че възникне проблем, можем да го активираме отново незабавно (чрез маркиране на индекса ИГНОРИРАНО/НЕ ИГНОРИРАНО).

JSON_TABLE

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

Съвместимост с Oracle

MariaDB беше пионерът в света на бази данни с отворен код, който добави PL/SQL съвместимост. Започвайки с MariaDB 10.3, са добавени много синтаксиси и функции, за да се улесни миграцията от Oracle към MariaDB. Що се отнася до MariaDB 10.6, следните функции са въведени, за да направят MariaDB по-съвместима с PL/SQL:

  • Анонимни подзаявки в клауза FROM (без клауза AS) са разрешени в режим ORACLE

  • добавени ADD_MONTHS() 

    • функция за добавяне/изваждане на месеци от дадена стойност за дата.

  • добавено TO_CHAR()

    • поддържа NUMBER, DATE, DATETIME, TIMESTAMP и др. като параметри и връща форматирана/преобразувана стойност на TEXT

  • добавен е SYS_GUID() 

    • подобно на функцията UUID в MariaDB

  • МИНУС е съпоставен с ОСВЕН в UNION 

  • Функцията ROWNUM връща текущия брой приети редове в текущия контекст 

Репликация, Galera и Binlog

В тази категория MariaDB въведе binlog_expire_logs_seconds като форма на псевдоним за expire_logs_days, което означава, че всички промени в която и да е от тях автоматично ще бъдат отразени в другата. Освен това binlog_expire_logs_seconds приема точност от 1/1000000 дни. Това е изключително полезно при записвания с голям обем на главния и когато средата има ограничено дисково пространство.

В допълнение към това, MariaDB въведе и системни променливи wsrep_mode. Тази променлива позволява функции на WSREP, които не са част от поведението по подразбиране, като BINLOG_ROW_FORMAT_ONLY, DISALLOW_LOCAL_GTID, REQUIRED_PRIMARY_KEY, REPLICATE_ARIA, REPLICATE_MYISAM, STRICT_REPLICATION.

Системна схема

Следващата функция е sys_schema, колекция от изгледи, функции и процедури. Няма съмнение, че sys_schema помага на администраторите на база данни и разработчиците по много начини, докато интерпретират данни; от него може да се събере много информация и диагностична информация. sys_schema се използва не само за отстраняване на проблеми с производителността, но и за подпомагане на ефективно управление на ресурсите. За щастие, това вече е достъпно в MariaDB 10.6.

Информационна схема

Новодобавената функция в тази категория е INFORMATION_SCHEMA.KEYWORDS и INFORMATION_SCHEMA.SQL_FUNCTIONS. Таблицата KEYWORDS съдържа около 694 реда ключови думи на MariaDB, докато таблицата SQL_FUNCTIONS съдържа около 234 реда функции на MariaDB. С тези две таблици вече можем да получим свързаната с тях информационна схема, в случай че имаме нужда от нея.

Приключване

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

Както беше споменато по-горе, ClusterControl в момента поддържа MariaDB 10.6. С ClusterControl можете лесно да надстроите до най-новата технологична версия без стрес. Ако все още не сте запознати с ClusterControl, можете да го оцените безплатно за 30 дни – не се изисква CC.

За да сте в крак с всички най-нови новини и най-добри практики за най-популярните бази данни с отворен код, не забравяйте да ни последвате в Twitter и LinkedIn и да се абонирате за нашия бюлетин за актуализации.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB и външни данни

  2. Какво представлява MariaDB Enterprise Cluster?

  3. Защита на MySQL - Използване на привилегии за достъп до данни за сигурна инсталация

  4. Инсталирайте WordPress с Nginx, MariaDB 10 и PHP 7 на Debian 9

  5. Извадете секунди от стойност за дата и час в MariaDB