sql >> Database teknologi >  >> RDS >> MariaDB

Skrive optimeringer til Qualcomm Centriq 2400 i MariaDB 10.3.5 Release Candidate

MariaDB har samarbejdet med Qualcomm Datacenter Technologies om at skubbe ydeevnen ved at udnytte innovativ ARM-baseret hardwarearkitektur med MariaDBs unikke databasearkitektur. Som en del af Qualcomm Centriq™ 2400-produktlanceringen tilbage i november 2017 demonstrerede vi den stærke læseskalerbarhed af MariaDB på denne chip. Siden da har MariaDB og Qualcomm engineering arbejdet på at forbedre skalerbarheden af ​​skriveoperationer, som vi gerne vil dele med udviklerfællesskabet i dag.

Vi er glade for at kunne annoncere en række præstationsforbedringer, der bliver gjort tilgængelige i den nyligt afsendte 10.3-udgivelseskandidat 10.3.4. Ved at udnytte den meget paralleliserede 48-core Qualcomm Centriq 2400-processor, der kører ved 2,6 GHz med 6 hukommelseskanaler i en fuldt sammenhængende ringarkitektur, er vores interesse at udtrække skriveydeevneoptimering i en enkelt række skrivebrugstilfælde til en applikation med højt gevind.

MariaDB bruger sysbench benchmark software til at måle ydeevne. I denne blog vil vi undersøge følgende 2 benchmarks ved hjælp af sysbench 1.0:

  • Oltp_update_index :Dette simulerer opdatering af en enkelt rækkeværdi efter primærnøgleindeks, hvor et sekundært indeks skal opdateres som et resultat af opdateringen.
  • Oltp_update_nonindex:Dette simulerer opdatering af en enkelt rækkeværdi efter primærnøgleindeks, hvor der ikke er noget sekundært indeks. Dette kræver naturligvis mindre arbejde end oltp_update_index.

Det, vi ser, er, at når antallet af samtidige tråde stiger, er ydeevnen op til 48 % hurtigere i 10,3 end 10,2 på Centriq™ 2400:

Forbedringerne fjerner stridspunkter og optimerer til ARM64-chipsættet, specifikt:

  • MDEV-15090 :Reducer omkostningerne ved at skrive fortryd-logposter
  • MDEV-15132 :Undgå at få adgang til TRX_SYS-siden
  • MDEV-15019 :InnoDB:gem ReadView på trx
  • MDEV-14756 :Fjern trx_sys_t::rw_trx_list
  • MDEV-14482 :Cachelinjekonflikt på ut_rnd_ulint_counter()
  • MDEV-15158 :Ved commit skal du ikke skrive til TRX_SYS-siden
  • MDEV-15104 :Fjern trx_sys_t::rw_trx_ids og trx_sys_t::serialisation_list
  • MDEV-14638 :Erstat trx_sys_t::rw_trx_set med LF_HASH
  • MDEV-14529 :InnoDB rw-locks:optimer hukommelsesbarrierer
  • MDEV-14374 :UT_DELAY kode :Fjernelse af hardwarebarriere for arm64 bit platform
  • MDEV-14505:Threads_running bliver skalerbarhedsflaskehals

Sammenfattende betyder det, at MariaDB vil præstere væsentligt bedre under høje niveauer af samtidige opdateringer, hvilket forbedrer svartider i dine applikationer ved spidsbelastning.

Forbedringerne vil også give fordele til andre chiparkitekturer, men der ses en meget større gevinst på Centriq™ 2400 på grund af dets design, der er i stand til at understøtte et meget højt trådantal. Ved at bruge fysiske kerner i forhold til hyper-threading af et lavere antal kerner demonstrerer  Centriq™ 2400 en yderligere 13 % gevinst i forhold til en sammenlignelig reference Broadwell-platform.

Efterhånden som Centriq™ 2400-systemer kommer på markedet i år, er vi glade for at se, at kundernes arbejdsbelastninger drager fordel af skalerbarheden kombineret med lavere strømforbrug til at køre databaser i høj skala.


  1. flyt data fra en tabel til en anden, postgresql edition

  2. SQL-udvikler vil ikke starte

  3. Sådan fungerer LOG10() i MariaDB

  4. PostgreSQL INSERT ON CONFLICT UPDATE (upsert) brug alle ekskluderede værdier