Таҳиягарони SQLite пуштибонии HC-tree-ро бо дастгирии навиштани параллелӣ таҳия мекунанд

Таҳиягарони лоиҳаи SQLite озмоиши пуштибонии таҷрибавии HCtree-ро оғоз карданд, ки қулфи сатрро дастгирӣ мекунад ва сатҳи баланди параллелизатсияро ҳангоми коркарди дархостҳо таъмин мекунад. Бозгашти нав ба баланд бардоштани самаранокии истифодаи SQLite дар системаҳои муштарӣ-сервер равона шудааст, ки бояд миқдори зиёди дархостҳои навиштани ҳамзамон ба пойгоҳи додаҳоро коркард кунанд.

Сохторҳои дарахти b, ки дар SQLite барои нигоҳ доштани маълумот истифода мешаванд, барои ин навъи сарборӣ пешбинӣ нашудаанд, ки SQLite-ро танҳо ба як ришта навиштан маҳдуд мекунад. Ҳамчун таҷриба, таҳиягарон ба таҳияи як ҳалли алтернативӣ шурӯъ карданд, ки сохторҳои дарахти HC-ро барои нигоҳдорӣ истифода мебаранд, ки барои параллелизатсияи амалиёти навиштан мувофиқтаранд.

Барои имкон додани ҳамзамон амалҳои сершумор, сабти HCtree механизми тақсимбандии транзаксияро истифода мебарад, ки қулфкунии сатҳи саҳифаро истифода мебарад ва ба MVCC (Назорати ҳамзамон бисёр версия) монанд аст, аммо чекҳои транзаксияро дар асоси калидҳо ва диапазони калидӣ ба ҷои маҷмӯи саҳифаҳо истифода мебарад. Амалиётҳои хондан ва навиштан дар робита бо лағвиши пойгоҳи додаҳо иҷро карда мешаванд, ки тағирот дар базаи асосӣ танҳо пас аз анҷоми транзаксия намоён мешавад.

Мизоҷон метавонанд се амалиёти кушодро истифода баранд:

  • "БЕГИН" - амалиётҳо маълумоти дастрасии муштариёни дигарро ба назар намегиранд. Агар амалиёти навиштан дар дохили транзаксия анҷом дода шавад, он метавонад танҳо дар сурате анҷом дода шавад, ки ҳангоми иҷрои он дар пойгоҳи додаҳо амалиёти дигари навиштан мавҷуд набошад.
  • "ҲАМЗАМОНРО САР КУНЕД" - транзаксияҳо дар бораи дастрасии муштариёни дигар маълумот ҷамъ мекунанд. Агар амалиёти навиштан дар дохили транзаксия анҷом дода шавад, транзаксия метавонад анҷом дода шавад, агар амалиёти дигар дар базаи маълумот аз лаҳзаи эҷоди тасвир анҷом дода шуда бошад.
  • "БОЗ ИСТИСНОСӢ" - пас аз кушодани транзаксия, он амалиёти дигар транзаксияҳоро то анҷоми он манъ мекунад.

HCtree репликаи усто-ғуломро дастгирӣ мекунад, ки ба шумо имкон медиҳад транзаксияҳоро ба пойгоҳи додаҳои дигар интиқол диҳед ва пойгоҳи додаҳои дуюмдараҷаро бо махзани ибтидоӣ ҳамоҳанг созед. HCtree инчунин маҳдудияти андозаи пойгоҳи додаҳоро бартараф мекунад - ба ҷои идентификаторҳои саҳифаи маълумотҳои 32-бит, HCtree 48-битҳоро истифода мебарад, ки андозаи максималии пойгоҳи додаҳоро аз 16 тебибайт то 1 эксбибайт (миллион тебибайт) зиёд мекунад. Интизор меравад, ки иҷрои SQLite бо пуштибонии HCtree аз пуштибонии классикии як ришта камтар набошад. Мизоҷони SQLite бо дастгирии HCtree метавонанд ҳам ба пойгоҳи додаҳои HC дар асоси дарахт ва ҳам ба пойгоҳи додаҳои SQLite кӯҳна дастрасӣ пайдо кунанд.

Манбаъ: opennet.ru

Илова Эзоҳ