Wersja rozproszonego DBMS TiDB 4.0

Do dyspozycji rozproszone wydanie DBMS TiDB 4.0opracowany pod wpływem technologii Google Klucz do nakrętek и F1. TiDB należy do kategorii hybrydowych systemów HTAP (Hybrid Transactional/Analytical Processing) zdolnych zarówno do dostarczania transakcji w czasie rzeczywistym (OLTP), jak i przetwarzania zapytań analitycznych. Projekt jest napisany w Go i dystrybuowane przez na licencji Apache 2.0.

Funkcje TiDB:

  • Wsparcie dla SQL oraz udostępnienie interfejsu klienckiego zgodnego z protokołem MySQL, co ułatwia adaptację istniejących aplikacji napisanych pod MySQL do TiDB, a także umożliwia korzystanie ze wspólnych bibliotek klienckich. Oprócz protokołu MySQL możesz użyć API opartego na JSON i konektora dla Spark, aby uzyskać dostęp do DBMS.
  • Spośród funkcji SQL obsługiwane są indeksy, funkcje agregujące, wyrażenia GROUP BY, ORDER BY, DISTINCT, scalanie (LEFT JOIN / RIGHT JOIN / CROSS JOIN), widoki, funkcje okien i podzapytania. Zapewnione możliwości są wystarczające do zorganizowania pracy z TiDB takich aplikacji webowych jak PhpMyAdmin, Gogs i WordPressa;
  • Skalowalność i odporność: moc pamięci masowej i mocy obliczeniowej można skalować w górę, po prostu dodając nowe węzły. Dane są rozdzielane na węzły z redundancją, aby umożliwić kontynuację operacji w przypadku awarii poszczególnych węzłów. Awarie są obsługiwane automatycznie.
  • System gwarantuje spójność i wygląda dla oprogramowania klienckiego jak jeden wielki DBMS, mimo że do realizacji transakcji wykorzystywane są dane z wielu węzłów.
  • Różne backendy mogą być używane do fizycznego przechowywania danych w węzłach, na przykład lokalne silniki pamięci masowej GoLevelDB i BoltDB lub natywne silniki rozproszonej pamięci masowej TiKV i TiFlasha. TiKV przechowuje dane w wierszach w formacie klucz/wartość i jest bardziej optymalny do zadań przetwarzania transakcji (OLTP). TiFlash przechowuje dane w sposób kolumnowy i pozwala osiągnąć wyższą wydajność przy rozwiązywaniu problemów analitycznych (OLAP).
  • Możliwość asynchronicznej zmiany schematu przechowywania, umożliwiająca dodawanie kolumn i indeksów w locie bez zatrzymywania przetwarzania trwających operacji.

W nowym wydaniu:

  • Domyślnie włączony jest rozproszony moduł wyrzucania elementów bezużytecznych Green GC, który może znacznie zwiększyć szybkość usuwania elementów bezużytecznych w dużych klastrach i poprawić stabilność;
  • Dodano obsługę dużych transakcji, których wielkość jest ograniczona niemal wielkością pamięci fizycznej. Zwiększono limit rozmiaru pojedynczej transakcji ze 100 MB do 10 GB;
  • Dodano obsługę poleceń BACKUP i RESTORE do tworzenia kopii zapasowych;
  • Dodano możliwość ustawienia blokady na stołach;
  • Dodano mechanizm izolacji transakcji kompatybilny z MySQL na poziomie odczytu (READ COMMITTED);
  • Do polecenia „ADMIN SHOW DDL JOBS” dodano obsługę wyrażeń LIKE i WHERE;
  • Dodano parametr oom-use-tmp-storage, który pozwala używać plików tymczasowych do buforowania wyników pośrednich w warunkach niewystarczającej ilości pamięci RAM;
  • Dodano słowo kluczowe Random, aby przypisać losowe wartości do atrybutów;
  • Polecenie LOAD DATA ma teraz możliwość używania wyrażeń szesnastkowych i binarnych;
  • Dodano 15 parametrów kontrolujących zachowanie optymalizatora;
  • Dodano narzędzia do diagnozowania wydajności zapytań SQL. Dodano dziennik wolnych zapytań dostępny poprzez tabele systemowe SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Dodano obsługę funkcji do pracy z sekwencjami;
  • Dodano możliwość dynamicznej zmiany parametrów konfiguracyjnych odczytanych z PD (Placement Driver, Cluster Management Server). Dodano możliwość użycia instrukcji „SET CONFIG” do zmiany ustawień węzłów PD/TiKV.
  • Dodano ustawienie max-server-connections w celu ograniczenia maksymalnej liczby jednoczesnych połączeń z serwerem (domyślnie 4096);
  • Poprawiona wydajność w sytuacjach, gdy żądane kolumny są całkowicie pokryte indeksami;
  • Dodano optymalizację zapytań w oparciu o scalanie indeksów;
  • Poprawiona wydajność operacji na zakresach wartości;
  • Zmniejszone obciążenie procesora dzięki buforowaniu wyników uzyskiwania dostępu do indeksów i filtrowaniu duplikatów;
  • Dodano obsługę nowego formatu przechowywania ciągów, który pozwala zwiększyć wydajność tabel z dużą liczbą kolumn;
  • Funkcja GROUP_CONCAT obsługuje teraz wyrażenie „ORDER BY”;
  • Dodano możliwość wyodrębniania danych z dziennika TiFlash przez SQL;
  • Polecenie „RECOVER TABLE” implementuje obsługę odzyskiwania obciętych tabel;
  • Dodano tabelę systemową DDLJobs do zapytania o szczegóły wykonania zadania DDL;
  • Dodano możliwość użycia polecenia SHOW CONFIG do pokazania ustawień PD i TiKV;
  • Dołączony domyślna pamięć podręczna koprocesora;
  • Liczbę goroutines w fazie ponawiania zatwierdzania można teraz kontrolować za pomocą ustawienia współbieżności zatwierdzającego;
  • Dodano możliwość wyświetlania regionów partycji tabeli;
  • Dodano możliwość ograniczenia rozmiaru pamięci tymczasowej do serwera tidb;
  • Dodano obsługę operacji „insert into tbl_name partition(partition_name_list)” i „replace to tbl_name partition(partition_name_list)”;
  • W hashu używanym do partycjonowania (partycjonowania) dodano obsługę filtrowania na podstawie „jest null”;
  • W przypadku tabel partycjonowanych dodano obsługę sprawdzania, czyszczenia i przywracania indeksów.

Źródło: opennet.ru

Dodaj komentarz