Mae datblygwyr SQLite yn datblygu backend HC-tree gyda chefnogaeth ar gyfer ysgrifennu cyfochrog

Mae datblygwyr prosiect SQLite wedi dechrau profi backend HCtree arbrofol sy'n cefnogi cloi lefel rhes ac sy'n darparu lefel uchel o gyfochrog wrth brosesu ymholiadau. Mae'r Γ΄l-wyneb newydd wedi'i anelu at wella effeithlonrwydd defnyddio SQLite mewn systemau cleient-gweinydd sy'n gorfod prosesu nifer fawr o geisiadau ysgrifennu ar yr un pryd i'r gronfa ddata.

Nid yw'r strwythurau b-coed a ddefnyddir yn frodorol yn SQLite i storio data wedi'u cynllunio ar gyfer y math hwn o lwyth, sy'n cyfyngu SQLite i ysgrifennu i un edefyn yn unig. Fel arbrawf, dechreuodd y datblygwyr ddatblygu datrysiad amgen sy'n defnyddio strwythurau coed HC ar gyfer storio, sy'n fwy addas ar gyfer cyfochrog gweithrediadau ysgrifennu.

Er mwyn caniatΓ‘u i weithrediadau lluosog redeg ar yr un pryd, mae cofnod HCtree yn defnyddio mecanwaith rhaniad trafodion sy'n defnyddio cloi lefel tudalen ac sy'n debyg i MVCC (Rheolaeth Arian Aml-Fersiwn) ond yn defnyddio gwiriadau trafodion yn seiliedig ar allweddi ac ystodau allweddol yn lle setiau tudalen. Perfformir gweithrediadau darllen ac ysgrifennu mewn cysylltiad Γ’ chipolwg cronfa ddata, y daw newidiadau iddynt i'w gweld yn y brif gronfa ddata dim ond ar Γ΄l i'r trafodiad gael ei gwblhau.

Gall cleientiaid ddefnyddio tri gweithrediad trafodion agored:

  • β€œBEGIN” - nid yw trafodion yn ystyried data mynediad cleientiaid eraill. Os cyflawnir gweithrediadau ysgrifennu o fewn trafodiad, dim ond os nad oedd unrhyw weithrediadau ysgrifennu eraill yn y gronfa ddata yn ystod ei weithrediad.
  • "DECHREU AR GYSON" - mae trafodion yn casglu gwybodaeth am fynediad cleientiaid eraill. Os cyflawnir gweithrediadau ysgrifennu o fewn trafodiad, gellir ymrwymo'r trafodiad os yw trafodion eraill wedi'u hymrwymo yn y gronfa ddata ers creu'r ciplun.
  • β€œDEWCH YN EITHRIADOL” - ar Γ΄l agor trafodiad, mae'n rhwystro gweithrediadau rhag trafodion eraill nes iddo gael ei gwblhau.

Mae HCtree yn cefnogi dyblygu meistr-gaethwas, sy'n eich galluogi i symud trafodion i gronfa ddata arall a chadw cronfeydd data eilaidd ar yr un pryd Γ’'r gronfa ddata gynradd. Mae HCtree hefyd yn dileu'r cyfyngiad ar faint cronfa ddata - yn lle dynodwyr tudalennau data 32-bit, mae HCtree yn defnyddio rhai 48-bit, sy'n cynyddu maint mwyaf y gronfa ddata o 16 tebibytes i 1 exbibyte (miliwn tebibytes). Disgwylir na fydd perfformiad SQLite gyda chefn HCtree yn is na'r backend un edau clasurol. Bydd cleientiaid SQLite gyda chefnogaeth HCtree yn gallu cael mynediad i gronfeydd data coed HC a chronfeydd data SQLite etifeddol.

Ffynhonnell: opennet.ru

Ychwanegu sylw