Bahlahisi ba SQLite ba nts'etsapele HC-tree backend ka tšehetso bakeng sa mongolo o tšoanang

Baetsi ba projeke ea SQLite ba se ba qalile ho leka tlhahlobo ea morao-rao ea HCtree e ts'ehetsang ho notlela maemo a mela le ho fana ka boemo bo holimo ba ho bapisa ha ho sebetsa lipotso. The backend e ncha e reretsoe ho ntlafatsa katleho ea ho sebelisa SQLite lits'ebetsong tsa bareki-server tse lokelang ho sebetsana le palo e kholo ea likopo tsa ho ngola ka nako e le 'ngoe ho database.

Mehaho ea b-tree e sebelisoang ka tlhaho ho SQLite ho boloka data ha e etselitsoe mofuta ona oa mojaro, o fokotsang SQLite ho ngolla khoele e le 'ngoe feela. E le teko, bahlahisi ba ile ba qala ho hlahisa tharollo e 'ngoe e sebelisang meaho ea lifate tsa HC bakeng sa polokelo, e loketseng haholoanyane ts'ebetso ea ho ngola e tšoanang.

Ho lumella lits'ebetso tse ngata ho sebetsa ka nako e le 'ngoe, rekoto ea HCtree e sebelisa mokhoa oa ho arola likarolo tsa transaction o sebelisang ho notlela boemo ba leqephe mme o ts'oana le MVCC (Multi-Version Concurrency Control) empa e sebelisa licheke tsa transaction tse thehiloeng ho linotlolo le mekhahlelo ea lintlha ho e-na le lihlopha tsa maqephe. Lits'ebetso tsa ho bala le ho ngola li etsoa mabapi le senepe sa polokelongtshedimosetso, diphetoho tseo ho tsona di tla bonahala sebakeng sa polokelongtshedimosetso feela ka mora hore thekisetsano e phethehe.

Bareki ba ka sebelisa lits'ebetso tse tharo tse bulehileng tsa transaction:

  • “QALA”—litheko ha li natse lintlha tsa phihlello tsa bareki ba bang. Haeba ts'ebetso ea ho ngola e etsoa ka har'a transaction, transaction e ka etsoa feela haeba nakong ea ts'ebetso ea eona ho ne ho se na ts'ebetso e 'ngoe ea ho ngola ho database.
  • "BEGIN CONCURRENT" - litšebelisano li bokella tlhahisoleseling mabapi le phihlello ea bareki ba bang. Haeba ts'ebetso ea ho ngola e etsoa ka har'a transaction, transaction e ka etsoa haeba litšebelisano tse ling li entsoe polokelong ea polokelo ho tloha ha ho etsoa snapshot.
  • "QALA HO KHETHA" - kamora ho bula transaction, e thibela ts'ebetso ho tsoa lits'ebetsong tse ling ho fihlela e phetheloa.

HCtree e ts'ehetsa phetisetso ea master-slave, e u lumellang hore u fallisetse lits'ebetso ho database e 'ngoe le ho boloka li-database tsa bobeli li hokahantsoe le database ea mantlha. HCtree e boetse e tlosa moeli oa boholo ba database - sebakeng sa li-identifiers tsa maqephe a 32-bit, HCtree e sebelisa 48-bit, e leng se eketsang boholo ba boholo ba polokelo ea boitsebiso ho tloha ho li-tebibyte tse 16 ho isa ho 1 exbibyte (li-tebibyte tse limilione). Ho lebelletsoe hore ts'ebetso ea SQLite e nang le HCtree backend e ke ke ea ba tlase ho feta ea khale e nang le khoele e le 'ngoe. Basebelisi ba SQLite ba nang le ts'ehetso ea HCtree ba tla khona ho fihlella lipolokelo tsa polokelo ea lifate tsa HC le lipolokelo tsa SQLite tsa lefa.

Source: opennet.ru

Eketsa ka tlhaloso