Przedstawiono nową znaczącą wersję bazy danych MariaDB 11

Po 10 latach od założenia gałęzi 10.x zadebiutował system baz danych MariaDB 11.0.0, w którym zaproponowano kilka znaczących ulepszeń i zmian, które naruszają zgodność. Gałąź ta na razie ma jakość wydania alfa i stanie się gotowa do zastosowań produkcyjnych po przeprowadzeniu stabilizacji. Formacja kolejnej znaczącej gałęzi MariaDB 12, zawierającej zmiany naruszające zgodność, spodziewana jest nie wcześniej niż za 10 lat (w 2032 roku).

Projekt MariaDB rozwija odgałęzienie od MySQL, które, w miarę możliwości, zachowuje zgodność wsteczną i różni się integracją dodatkowych silników przechowywania oraz rozszerzonymi możliwościami. Rozwój MariaDB nadzoruje niezależna organizacja MariaDB Foundation zgodnie z otwartym i przejrzystym procesem rozwoju, niezależnym od pojedynczych dostawców. System baz danych MariaDB dostarczany jest zamiast MySQL w wielu dystrybucjach Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) i wdrażany w dużych projektach, takich jak Wikipedia, Google Cloud SQL i Nimbuzz.

Kluczowym ulepszeniem w gałęzi MariaDB 11 jest przejście optymalizatora zapytań na nowy model kosztów (cost model), co zapewnia dokładniejsze przewidywanie kosztów każdego planu wykonania zapytania. Mimo że nowy model pozwala na eliminację niektórych wąskich gardeł w wydajności, nie jest wykluczone, że będzie on optymalny nie we wszystkich scenariuszach i może spowodować spowolnienie niektórych zapytań, dlatego użytkownikom zaleca się wzięcie udziału w testach i powiadomienie deweloperów w przypadku wystąpienia problemów.

Dotychczas używana metoda dobrze służyła do znalezienia optymalnego indeksu, ale miała problemy z zastosowaniem operacji skanowania tabeli, skanowania indeksu lub zakresowego pobierania. W nowym modelu ten brak został wyeliminowany dzięki zmianie podstawowej wagi operacji z silnikiem przechowywania. Przy ocenie wydajności operacji zależnych od szybkości pracy z dyskiem, takich jak sekwencyjne skanowanie rekordów, zakłada się, że dane są przechowywane na dysku SSD, zapewniającym prędkość odczytu na poziomie 400 MB na sekundę. Dodatkowo dostosowano inne parametry wagowe optymalizatora, co na przykład pozwoliło na wykorzystanie indeksów w operacjach „ORDER BY/GROUP BY” w podzapytaniach oraz przyspieszyło pracę z bardzo małymi tabelami.

Zauważono, że nowy model wagowy pozwoli na wybór bardziej optymalnego planu wykonania zapytania w następujących sytuacjach:

  • W przypadku zapytań obejmujących więcej niż 2 tabele.
  • Gdy istnieją indeksy zawierające dużą liczbę identycznych wartości.
  • W przypadku korzystania z zakresów obejmujących więcej niż 10% tabeli.
  • W przypadku złożonych zapytań, w których nie wszystkie używane kolumny są indeksowane.
  • Gdy korzysta się z zapytań angażujących różne silniki przechowywania (na przykład, gdy w jednym zapytaniu występują odwołania do tabel w silnikach InnoDB i Memory).
  • W przypadku korzystania z FORCE INDEX w celu poprawy planu zapytania.
  • Przy pogorszeniu planu zapytania w przypadku użycia „ANALYZE TABLE”.
  • Gdy zapytanie obejmuje dużą liczbę tabel pochodnych (duża liczba zagnieżdżonych SELECT).
  • W przypadku korzystania z wyrażeń ORDER BY lub GROUP BY, które podlegają indeksom.

Główne naruszenia zgodności w wersji MariaDB 11:

  • Uprawnienia SUPER nie pozwalają już na wykonywanie działań, do których wymagane są oddzielnie przydzielane uprawnienia. Na przykład, aby zmienić format dzienników binarnych, wymagane będą uprawnienia BINLOG ADMIN.
  • Usunięto implementację bufora zmian w InnoDB.
  • Ogłoszono przestarzałe innodb_flush_method i innodb_file_per_table.
  • Ogłoszono przestarzałą obsługę nazw mysql*.
  • Ogłoszono przestarzałe ustawienie parametru explicit_defaults_for_timestamp na wartość 0.
  • Symboliczne linki dla zgodności z MySQL zostały przeniesione do oddzielnego pakietu.
  • Wartość parametru innodb_undo_tablespaces zmieniono domyślnie na 3.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster