Hoʻokumu nā mea hoʻomohala SQLite i ka backend HC-lāʻau me ke kākoʻo no nā kākau like

Ua hoʻomaka nā mea hoʻomohala papahana SQLite e hoʻāʻo i kahi hoʻokolohua HCtree backend e kākoʻo ana i ka laka pae-lālani a hāʻawi i kahi kiʻekiʻe o ka parallelization i ka wā e hoʻoponopono ai i nā nīnau. ʻO ka backend hou ka manaʻo e hoʻomaikaʻi i ka maikaʻi o ka hoʻohana ʻana i ka SQLite i nā ʻōnaehana client-server e pono e hoʻoponopono i kahi helu nui o nā noi kākau like ʻole i ka waihona.

ʻAʻole i hoʻolālā ʻia nā hale b-lāʻau i hoʻohana maoli ʻia ma SQLite no ka mālama ʻana i ka ʻikepili no kēia ʻano o ka ukana, e kaupalena ana iā SQLite e kākau i hoʻokahi kaula wale nō. Ma ke ʻano he hoʻokolohua, hoʻomaka nā mea hoʻomohala e hoʻomohala i kahi hopena ʻē aʻe e hoʻohana ana i nā hale HC-lāʻau no ka mālama ʻana, ʻoi aku ka maikaʻi no ka hoʻohālikelike ʻana i nā hana kākau.

No ka ʻae ʻana i nā hana he nui e holo like, hoʻohana ka moʻolelo HCtree i kahi mīkini hoʻokaʻawale kālepa e hoʻohana ana i ka laka pae ʻaoʻao a like me MVCC (Multi-Version Concurrency Control) akā hoʻohana i nā loiloi kālepa e pili ana i nā kī a me nā pae kī ma kahi o nā ʻaoʻao. Hana ʻia nā hana heluhelu a kākau e pili ana me kahi snapshot database, nā loli i ʻike ʻia ma ka waihona nui ma hope o ka pau ʻana o ke kālepa.

Hiki i nā mea kūʻai ke hoʻohana i ʻekolu mau hana kālepa wehe:

  • “BEGIN”—ʻaʻole e noʻonoʻo nā hana i ka ʻikepili komo o nā mea kūʻai aku. Inā hana ʻia nā hana kākau i loko o kahi kālepa, hiki ke hana wale ʻia ke kālepa inā ʻaʻohe hana kākau ʻē aʻe i ka ʻikepili i ka wā o kāna hoʻokō ʻana.
  • "BEGIN CONCURRENT" - hōʻiliʻili nā hana i ka ʻike e pili ana i ke komo ʻana o nā mea kūʻai aku. Inā hana ʻia nā hana kākau i loko o kahi kālepa, hiki ke hana ʻia ke hana inā ua hana ʻia nā hana ʻē aʻe i loko o ka waihona mai ka wā i hana ʻia ai ka snapshot.
  • "BEGIN EXCLUSIVE" - ma hope o ka wehe ʻana i kahi kālepa, poloka ia i nā hana mai nā hana ʻē aʻe a hiki i ka pau ʻana.

Kākoʻo ʻo HCtree i ka hoʻopiʻi haku-kauā, kahi e hiki ai iā ʻoe ke neʻe i nā kālepa i kahi waihona ʻē aʻe a mālama i nā ʻikepili lua me ka ʻikepili kumu. Hoʻopau pū ʻo HCtree i ka palena o ka nui o ka waihona - ma kahi o 32-bit data ʻaoʻao identifiers, hoʻohana ʻo HCtree i nā 48-bit, kahi e hoʻonui ai i ka nui o ka waihona waihona mai 16 tebibytes a i 1 exbibyte (miliona tebibytes). Ua manaʻo ʻia ʻaʻole e emi ka hana o SQLite me ka HCtree backend ma mua o ka backend maʻamau. Hiki i nā mea kūʻai mai SQLite me ke kākoʻo HCtree ke komo i ka ʻikepili HC-lāʻau a me nā waihona SQLite hoʻoilina.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka