MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Optymalizacje zapisu dla Qualcomm Centriq 2400 w wersji kandydata wersji MariaDB 10.3.5

MariaDB współpracuje z Qualcomm Datacenter Technologies w celu zwiększenia wydajności, wykorzystując innowacyjną architekturę sprzętową opartą na architekturze ARM z unikalną architekturą bazy danych MariaDB. W ramach wprowadzenia produktu Qualcomm Centriq™ 2400 w listopadzie 2017 r. wykazaliśmy dużą skalowalność odczytu MariaDB na tym chipie. Od tego czasu inżynierowie MariaDB i Qualcomm pracują nad poprawą skalowalności operacji zapisu, którymi chcielibyśmy dziś podzielić się ze społecznością programistów.

Z przyjemnością ogłaszamy szereg ulepszeń wydajności, które są udostępniane w niedawno wydanej wersji 10.3 kandydata do wydania 10.3.4. Wykorzystując wysoce zrównoleglony 48-rdzeniowy procesor Qualcomm Centriq 2400 działający z częstotliwością 2,6 GHz z 6 kanałami pamięci w w pełni spójnej architekturze pierścieniowej, naszym celem jest wyodrębnienie optymalizacji wydajności zapisu w przypadku zapisu w jednym wierszu dla aplikacji wielowątkowych.

MariaDB używa oprogramowania testowego sysbench do pomiaru wydajności. W tym blogu przyjrzymy się następującym 2 testom porównawczym przy użyciu sysbench 1.0:

  • Oltp_update_index :symuluje aktualizowanie wartości pojedynczego wiersza według indeksu klucza podstawowego, w którym indeks dodatkowy musi zostać zaktualizowany w wyniku aktualizacji.
  • Oltp_update_nonindex:symuluje aktualizowanie wartości pojedynczego wiersza według indeksu klucza podstawowego, gdy nie ma indeksu dodatkowego. To oczywiście wymaga mniej pracy niż oltp_update_index.

Widzimy, że wraz ze wzrostem liczby jednoczesnych wątków wydajność jest do 48% szybsza w 10.3 niż 10.2 na Centriq™ 2400:

Wprowadzone ulepszenia usuwają punkty sporne i optymalizują dla chipsetu ARM64, w szczególności:

  • MDEV-15090:zmniejsz obciążenie związane z zapisywaniem rekordów dziennika cofania
  • MDEV-15132:Unikaj dostępu do strony TRX_SYS
  • MDEV-15019:InnoDB:przechowuj ReadView na trx
  • MDEV-14756:Usuń trx_sys_t::rw_trx_list
  • MDEV-14482:Rywalizacja linii pamięci podręcznej na ut_rnd_ulint_counter()
  • MDEV-15158:Po zatwierdzeniu nie pisz na stronie TRX_SYS
  • MDEV-15104:Usuń trx_sys_t::rw_trx_ids i trx_sys_t::serialisation_list
  • MDEV-14638:Zastąp trx_sys_t::rw_trx_set LF_HASH
  • MDEV-14529:InnoDB rw-locks:optymalizuj bariery pamięci
  • MDEV-14374:Kod UT_DELAY:Usuwanie bariery sprzętowej dla platformy arm64-bitowej
  • MDEV-14505:Threads_running staje się wąskim gardłem skalowalności

Podsumowując, oznacza to, że MariaDB będzie działać znacznie lepiej w przypadku wysokich poziomów współbieżnych aktualizacji, poprawiając czasy odpowiedzi w aplikacjach przy szczytowym obciążeniu.

Ulepszenia przyniosą również korzyści innym architektom chipów, ale znacznie większe korzyści można zaobserwować w Centriq™ 2400 ze względu na jego konstrukcję zdolną do obsługi dużej liczby wątków. Wykorzystując fizyczne rdzenie zamiast hiper-wątkowości mniejszej liczby rdzeni, Centriq™ 2400 wykazuje dodatkowy 13% wzrost w porównaniu z porównywalną referencyjną platformą Broadwell.

Ponieważ systemy Centriq™ 2400 wchodzą na rynek w tym roku, cieszymy się, że obciążenia klientów wykorzystują skalowalność w połączeniu z niższym zużyciem energii do obsługi obciążeń baz danych na dużą skalę.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa funkcja DOPASUJ PRZECIW w MariaDB

  2. Jak działa funkcja CONCAT_WS() w MariaDB

  3. GODZINA() vs WYCIĄG(GODZINA…) w MariaDB:Jaka jest różnica?

  4. Kroki, które należy podjąć w przypadku awarii MySQL

  5. Co nowego w MySQL Galera Cluster 4.0