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

Напишете оптимизации за Qualcomm Centriq 2400 в MariaDB 10.3.5 Release Candidate

MariaDB си сътрудничи с Qualcomm Datacenter Technologies за повишаване на производителността чрез използване на иновативна хардуерна архитектура, базирана на ARM, с уникалната архитектура на базата данни на MariaDB. Като част от пускането на продукта Qualcomm Centriq™ 2400 през ноември 2017 г. демонстрирахме силната скалируемост на MariaDB при четене на този чип. Оттогава MariaDB и Qualcomm инженеринг работят за подобряване на мащабируемостта на операциите за запис, които бихме искали да споделим с общността на разработчиците днес.

Имаме удоволствието да обявим редица подобрения в производителността, които се предлагат в наскоро доставения кандидат за версия 10.3 10.3.4. Чрез използването на силно паралелизирания 48-ядрен процесор Qualcomm Centriq 2400, работещ на 2,6 GHz с 6 канала на паметта в напълно кохерентна пръстеновидна архитектура, нашият интерес е да извлечем оптимизация на производителността на запис в случай на използване на запис в един ред за приложение с много нишки.

MariaDB използва софтуера за сравнителен анализ на sysbench за измерване на производителността. В този блог ще разгледаме следните 2 бенчмарка с помощта на sysbench 1.0:

  • Oltp_update_index :Това симулира актуализиране на стойност на един ред чрез индекс на първичен ключ, където вторичен индекс трябва да бъде актуализиран в резултат на актуализацията.
  • Oltp_update_nonindex:Това симулира актуализиране на стойност на един ред чрез индекс на първичен ключ, където няма вторичен индекс. Това очевидно изисква по-малко работа от oltp_update_index.

Това, което виждаме е, че с увеличаване на броя на едновременните нишки производителността е до 48% по-бърза в 10.3 от 10.2 на Centriq™ 2400:

Направените подобрения премахват спорни точки и оптимизират за чипсета ARM64, по-специално:

  • MDEV-15090 :Намалете режийните разходи за писане на записи в регистъра за отмяна
  • MDEV-15132 :Избягвайте достъп до страницата TRX_SYS
  • MDEV-15019 :InnoDB:съхранявайте ReadView на trx
  • MDEV-14756 :Премахнете trx_sys_t::rw_trx_list
  • MDEV-14482 :Състезание на редове в кеша на ut_rnd_ulint_counter()
  • MDEV-15158 :При записване не пишете на страницата TRX_SYS
  • MDEV-15104 :Премахнете trx_sys_t::rw_trx_ids и trx_sys_t::serialisation_list
  • MDEV-14638 :Заменете trx_sys_t::rw_trx_set с LF_HASH
  • MDEV-14529 :InnoDB rw-locks:оптимизиране на бариерите за памет
  • MDEV-14374 :UT_DELAY код :Премахване на хардуерната бариера за arm64 bit платформа
  • MDEV-14505 :Threads_running става пречка за мащабируемост

В обобщение това означава, че MariaDB ще работи значително по-добре при високи нива на едновременни актуализации, подобрявайки времето за реакция във вашите приложения при пиково натоварване.

Подобренията ще осигурят предимства и за други архитектури на чипове, но много по-голяма печалба се наблюдава при Centriq™ 2400 поради неговия дизайн, който може да поддържа много голям брой нишки. Чрез използване на физически ядра срещу хипер-нишков по-нисък брой ядра, Centriq™ 2400 демонстрира допълнителна печалба от 13% спрямо сравнима референтна платформа Broadwell.

Тъй като системите Centriq™ 2400 излизат на пазара тази година, ние сме развълнувани да видим как работните натоварвания на клиентите се възползват от мащабируемостта, съчетана с по-ниска консумация на енергия, за да изпълняват високомащабни работни натоварвания на база данни.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как DATEDIFF() работи в MariaDB

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

  3. Как работи LOG10() в MariaDB

  4. Преместване на база данни на MariaDB в криптирани и некриптирани състояния

  5. Как работи FIND_IN_SET() в MariaDB