title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¸Ð½Ð´ÐµÐºÑÐ° Ð´Ð»Ñ ÑÐ¸ÑÑÐµÐ¼Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ MySQL Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ B-link Ð´ÐµÑÐµÐ²ÑÐµÐ² Ð´Ð»Ñ Ð¸Ð½ÑÐµÐ½ÑÐ¸Ð²Ð½Ð¾Ð¹ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾ÑÐ¾ÑÐ½Ð¾Ð¹ Ð²ÑÑÐ°Ð²ÐºÐ¸
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¼Ð°Ð³Ð¸ÑÑÑÐ°
titleType: Subtitle
title: Development of an index for MySQL database management system based on B-link trees for intensive multithreaded insertion
Creators: name: ÐÐ°ÐºÑÐ¸Ð¼ÐµÐ½ÐºÐ¾, ÐÐ¼Ð¸ÑÑÐ¸Ð¹
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2023
Subjects: Ð¡Ð£ÐÐ
Ð¸Ð½Ð´ÐµÐºÑ
Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾ÑÑÑ
B+ Ð´ÐµÑÐµÐ²Ð¾
B-link Ð´ÐµÑÐµÐ²Ð¾
DBMS
index
performance
B+ tree
B-link tree

description: ÐÐ´Ð½Ð¾Ð¹ Ð¸Ð· ÑÐ°Ð¼ÑÑ ÑÐ°ÑÐ¿ÑÐ¾ÑÑÑÐ°Ð½ÐµÐ½Ð½ÑÑ ÑÑÑÑÐºÑÑÑ Ð´Ð»Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð¸Ð½Â­Ð´ÐµÐºÑÐ° Ð² ÑÐ¸ÑÑÐµÐ¼Ð°Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ B+ Ð´ÐµÑÐµÐ²Ð¾. ÐÐ°Ð½Â­Ð½Ð°Ñ ÑÑÑÑÐºÑÑÑÐ° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð¸ Ð² MySQL. Ð¡ÑÑÐµÑÑÐ²ÑÐµÑ Ð¼Ð¾Ð´Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ñ B+ Ð´ÐµÑÐµÐ²Ð°, ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½Ð°Ñ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾ÑÐ¾ÑÐ½ÑÑ Ð½Ð°Ð³ÑÑÐ·Ð¾Ðº, Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼Ð°Ñ B-link Ð´ÐµÑÐµÐ²Ð¾Ð¼. Ð ÑÐ°Ð¼ÐºÐ°Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¸ Ð¸Ð·ÑÑÐµÐ½Ñ ÑÐ°Ð·Ð½ÑÐµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ ÑÐ¸Ð½Â­ÑÑÐ¾Ð½Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð¿Ð¾ÑÐ¾ÐºÐ¾Ð² Ð¿ÑÐ¸ ÑÐ°Ð±Ð¾ÑÐµ Ñ B-link Ð´ÐµÑÐµÐ²Ð¾Ð¼ Ð¸ Ð¾ÑÐ¾Ð±ÑÐ°Ð½ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð¿ÐµÑÑÐ¿ÐµÐºÑÐ¸Ð²Ð½ÑÐ¹ Ð¸Ð· Ð½Ð¸Ñ - Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼ Jaluta. ÐÐ»Ð³Ð¾ÑÐ¸ÑÐ¼ Jaluta, Ð° ÑÐ°ÐºÐ¶Ðµ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ð¹ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼ Ð¸Ð½Ð´ÐµÐºÑÐ° MySQL Ð±ÑÐ»Ð¸ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸ÐµÐ¼ Ð¾Ð¿ÑÐ¸Ð¼Ð¸Ð·Ð°ÑÐ¸Ð¹, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¸ÑÂ­ Ð¿Ð¾Ð»ÑÐ·ÑÑÑÑÑ Ð² Ð¸Ð½Ð´ÐµÐºÑÐµ MySQL. ÐÐ°ÑÐµÐ¼ Ð±ÑÐ»Ð¸ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ñ ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÑ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾ÑÑÐ¸ ÑÐµÑÐµÐ½Ð¸Ð¹. Ð ÐµÐ·ÑÐ»ÑÑÐ°ÑÑ ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ¾Ð² Ð¿Ð¾ÐºÐ°Ð·Ð°Ð»Ð¸, ÑÑÐ¾ Ð¿ÑÐ¸ Ð¸Ð½ÑÐµÐ½ÑÐ¸Ð²Ð½Ð¾Ð¹ Ð¼Ð½Ð¾Â­Ð³Ð¾Ð¿Ð¾ÑÐ¾ÑÐ½Ð¾Ð¹ Ð²ÑÑÐ°Ð²ÐºÐµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼ Jaluta Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð´Ð¾ 7 ÑÐ°Ð· Ð±Ð¾Ð»ÑÑÑÑ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾ÑÑÑ Ð¿Ð¾ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ ÑÐµÑÐµÐ½Ð¸ÐµÐ¼ Ð¸Ð· MySQL. ÐÐ´Ð½Ð°ÐºÐ¾ ÑÑÂ­ÑÐµÑÑÐ²ÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ, Ð¿ÑÐ¸ ÐºÐ¾ÑÐ¾ÑÑÑ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼ Jaluta Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÑÑÐ´ÑÐ¸Ðµ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ Ð² ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ð¸ Ñ Ð¸ÑÑÐ¾Ð´Ð½ÑÐ¼. ÐÑÑÐ¾Ð´Ñ Ð¸Ð· ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð² ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ¾Ð² Ð±ÑÐ» ÑÐ´ÐµÐ»Ð°Ð½ Ð²ÑÐ²Ð¾Ð´, ÑÑÐ¾ Ð°Ð»Ð³Ð¾Â­ÑÐ¸ÑÐ¼ Jaluta Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ð½ÐµÐ´ÑÐµÐ½ Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ Ð¾Ð¿ÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½Ð¾Ð³Ð¾ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð° Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ Ð¸Ð½Ð´ÐµÐºÑÐ¾Ð¼ Ð¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑÑÑ Ð¿ÑÐ¸ Ð¸Ð½ÑÐµÐ½ÑÐ¸Ð²Ð½Ð¾Ð¹ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾ÑÐ¾ÑÂ­Ð½Ð¾Ð¹ Ð²ÑÑÐ°Ð²ÐºÐµ.
description: One of the most common data structures used for implementing an index in database management systems is the B+ tree, which is also used in MySQL. There is a modification of the B+ tree designed for multithreaded workloads, known as the B-link tree. In this study, various thread synchronization algorithms for working with the B-link tree were examined, and the most promising one, the Jaluta algorithm, was selected. The Jaluta algorithm, as well as the existing MySQL index algorithm, were implemented with optimizations commonly used in the MySQL index. Then, experiments were conducted to analyze the performance of the solutions. The experimental results showed that during intensive multithreaded insertion, the Jaluta algorithm exhibits up to 7 times higher performance compared to the MySQL solution. However, there are conditions under which the Jaluta algorithm performs worse than the original solution. Based on the experimental results, it can be concluded that the Jaluta algorithm can be implemented as an optional algorithm for working with the index and can be used for intensive multithreaded insertion.