ืžืคืชื—ื™ SQLite ืžืคืชื—ื™ื HC-tree backend ืขื ืชืžื™ื›ื” ื‘ื›ืชื™ื‘ื” ืžืงื‘ื™ืœื”

ืžืคืชื—ื™ ืคืจื•ื™ืงื˜ื™ื ืฉืœ SQLite ื”ื—ืœื• ืœื‘ื—ื•ืŸ backend ื ื™ืกื™ื•ื ื™ ืฉืœ HCtree ื”ืชื•ืžืš ื‘ื ืขื™ืœื” ื‘ืจืžืช ื”ืฉื•ืจื” ื•ืžืกืคืง ืจืžื” ื’ื‘ื•ื”ื” ืฉืœ ื”ืงื‘ื™ืœื” ื‘ืขืช ืขื™ื‘ื•ื“ ืฉืื™ืœืชื•ืช. ื”-backend ื”ื—ื“ืฉ ื ื•ืขื“ ืœืฉืคืจ ืืช ื”ื™ืขื™ืœื•ืช ืฉืœ ื”ืฉื™ืžื•ืฉ ื‘-SQLite ื‘ืžืขืจื›ื•ืช ืฉืจืช-ืœืงื•ื— ืฉืฆืจื™ื›ื•ืช ืœืขื‘ื“ ืžืกืคืจ ืจื‘ ืฉืœ ื‘ืงืฉื•ืช ื›ืชื™ื‘ื” ื‘ื•-ื–ืžื ื™ืช ืœืžืกื“ ื”ื ืชื•ื ื™ื.

ืžื‘ื ื™ b-tree ื”ืžืฉืžืฉื™ื ื‘ืื•ืคืŸ ืžืงื•ืจื™ ื‘-SQLite ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื ืื™ื ื ืžื™ื•ืขื“ื™ื ืœืกื•ื’ ืขื•ืžืก ื–ื”, ืžื” ืฉืžื’ื‘ื™ืœ ืืช ื”ื›ืชื™ื‘ื” ืฉืœ SQLite ืœืฉืจืฉื•ืจ ืื—ื“ ื‘ืœื‘ื“. ื›ื ื™ืกื•ื™, ื”ืžืคืชื—ื™ื ื”ื—ืœื• ืœืคืชื— ืคืชืจื•ืŸ ื—ืœื•ืคื™ ื”ืžืฉืชืžืฉ ื‘ืžื‘ื ื™ HC-tree ืœืื—ืกื•ืŸ, ื”ืžืชืื™ืžื™ื ื™ื•ืชืจ ืœืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ืžืงื‘ื™ืœื•ืช.

ื›ื“ื™ ืœืืคืฉืจ ืจื™ืฆื” ืฉืœ ืคืขื•ืœื•ืช ืžืจื•ื‘ื•ืช ื‘ืžืงื‘ื™ืœ, ืจืฉื•ืžืช HCtree ืžืฉืชืžืฉืช ื‘ืžื ื’ื ื•ืŸ ื—ืœื•ืงืช ืขืกืงืื•ืช ื”ืžืฉืชืžืฉ ื‘ื ืขื™ืœื” ื‘ืจืžืช ื”ืขืžื•ื“ ื•ื“ื•ืžื” ืœ-MVCC (Multi-Version Concurrency Control) ืืš ืžืฉืชืžืฉ ื‘ื‘ื“ื™ืงื•ืช ืขืกืงืื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ ืžืคืชื—ื•ืช ื•ื˜ื•ื•ื—ื™ ืžืคืชื—ื•ืช ื‘ืžืงื•ื ืขืจื›ื•ืช ื“ืคื™ื. ืคืขื•ืœื•ืช ืงืจื™ืื” ื•ื›ืชื™ื‘ื” ืžื‘ื•ืฆืขื•ืช ื‘ืงืฉืจ ืขื ืชืžื•ื ืช ืžืฆื‘ ืฉืœ ืžืกื“ ื ืชื•ื ื™ื, ืฉืฉื™ื ื•ื™ื™ื ื‘ื” ื”ื•ืคื›ื™ื ื’ืœื•ื™ื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืจืืฉื™ ืจืง ืœืื—ืจ ื”ืฉืœืžืช ื”ืขืกืงื”.

ืœืงื•ื—ื•ืช ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ืฉืœื•ืฉ ืคืขื•ืœื•ืช ืขืกืงืื•ืช ืคืชื•ื—ื•ืช:

  • "BEGIN" - ืขืกืงืื•ืช ืื™ื ืŸ ืœื•ืงื—ื•ืช ื‘ื—ืฉื‘ื•ืŸ ื ืชื•ื ื™ ื’ื™ืฉื” ืฉืœ ืœืงื•ื—ื•ืช ืื—ืจื™ื. ืื ืžื‘ื•ืฆืขื•ืช ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื‘ืชื•ืš ืขืกืงื”, ื ื™ืชืŸ ืœื‘ืฆืข ืืช ื”ืขืกืงื” ืจืง ืื ื‘ืžื”ืœืš ื‘ื™ืฆื•ืขื” ืœื ื”ื™ื• ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ืื—ืจื•ืช ื‘ืžืกื“ ื”ื ืชื•ื ื™ื.
  • "BEGIN CONCURRENT" - ืขืกืงืื•ืช ืื•ืกืคื•ืช ืžื™ื“ืข ืขืœ ื’ื™ืฉื” ืฉืœ ืœืงื•ื—ื•ืช ืื—ืจื™ื. ืื ืžื‘ื•ืฆืขื•ืช ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื‘ืชื•ืš ืขืกืงื”, ื ื™ืชืŸ ืœื‘ืฆืข ืืช ื”ืขืกืงื” ืื ื‘ื•ืฆืขื• ื˜ืจื ื–ืงืฆื™ื•ืช ืื—ืจื•ืช ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ืžืื– ื™ืฆื™ืจืช ืชืžื•ื ืช ื”ืžืฆื‘.
  • "BEGIN EXCLUSIVE" - ืœืื—ืจ ืคืชื™ื—ืช ืขืกืงื”, ื”ื•ื ื—ื•ืกื ืคืขื•ืœื•ืช ืžืขืกืงืื•ืช ืื—ืจื•ืช ืขื“ ืœื”ืฉืœืžืชื”.

HCtree ืชื•ืžืš ื‘ืฉื›ืคื•ืœ ืžืืกื˜ืจ-slave, ื”ืžืืคืฉืจ ืœืš ืœื”ืขื‘ื™ืจ ืขืกืงืื•ืช ืœืžืกื“ ื ืชื•ื ื™ื ืื—ืจ ื•ืœืฉืžื•ืจ ืžืกื“ื™ ื ืชื•ื ื™ื ืžืฉื ื™ื™ื ืžืกื•ื ื›ืจื ื™ื ืขื ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืจืืฉื™. HCtree ื’ื ืžืกื™ืจ ืืช ื”ืžื’ื‘ืœื” ืขืœ ื’ื•ื“ืœ ืžืกื“ ื”ื ืชื•ื ื™ื - ื‘ืžืงื•ื ืžื–ื”ื™ ืขืžื•ื“ื™ ื ืชื•ื ื™ื ืฉืœ 32 ืกื™ื‘ื™ื•ืช, HCtree ืžืฉืชืžืฉ ื‘-48 ืกื™ื‘ื™ื•ืช, ืžื” ืฉืžื’ื“ื™ืœ ืืช ื’ื•ื“ืœ ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืžืงืกื™ืžืœื™ ืž-16 ื˜ื‘ื™-ื‘ื™ื™ื˜ ืœ-1 exbibyte (ืžื™ืœื™ื•ืŸ ื˜ื‘ื™-ื‘ื™ื™ื˜). ืฆืคื•ื™ ืฉื”ื‘ื™ืฆื•ืขื™ื ืฉืœ SQLite ืขื ื”ืงืฆื” ื”ืื—ื•ืจื™ ืฉืœ HCtree ืœื ื™ื”ื™ื• ื ืžื•ื›ื™ื ืžื”ืงืฆื” ื”ืื—ื•ืจื™ ื”ืงืœืืกื™ ืขื ื—ื•ื˜ ื™ื—ื™ื“. ืœืงื•ื—ื•ืช SQLite ืขื ืชืžื™ื›ื” ื‘-HCtree ื™ื•ื›ืœื• ืœื’ืฉืช ื”ืŸ ืœืžืกื“ื™ ื ืชื•ื ื™ื ืžื‘ื•ืกืกื™ ืขืฅ HC ื•ื”ืŸ ืœืžืกื“ื™ ื ืชื•ื ื™ื ืžื“ื•ืจ ืงื•ื“ื ืฉืœ SQLite.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”