ืฉื—ืจื•ืจ ืฉืœ rqlite 6.0, DBMS ืžื‘ื•ื–ืจ ืกื•ื‘ืœื ื™ ืชืงืœื•ืช ื”ืžื‘ื•ืกืก ืขืœ SQLite

ืžื•ืฆื’ืช ื”ื”ืคืฆื” ืฉืœ ื”-DBMS ื”ืžื‘ื•ื–ืจ rqlite 6.0, ื”ืžืฉืชืžืฉ ื‘-SQLite ื›ืžื ื•ืข ืื—ืกื•ืŸ ื•ืžืืคืฉืจ ืœืš ืœืืจื’ืŸ ืืช ื”ืขื‘ื•ื“ื” ืฉืœ ืืฉื›ื•ืœ ืื—ืกื•ืŸ ืžืกื•ื ื›ืจืŸ. ืื—ืช ื”ืชื›ื•ื ื•ืช ืฉืœ rqlite ื”ื™ื ืงืœื•ืช ื”ื”ืชืงื ื”, ื”ืคืจื™ืกื” ื•ื”ืชื—ื–ื•ืงื” ืฉืœ ืื—ืกื•ืŸ ืžื‘ื•ื–ืจ ืกื•ื‘ืœื ื™ ืชืงืœื•ืช, ื“ื•ืžื” ื‘ืžืงืฆืช ืœ-etcd ื•-Consul, ืืš ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืžื•ื“ืœ ื ืชื•ื ื™ื ื™ื—ืกื™ ื‘ืžืงื•ื ื‘ืคื•ืจืžื˜ ืžืคืชื—/ืขืจืš. ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ื›ืชื•ื‘ ื‘-Go ื•ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT.

ื›ื“ื™ ืœืฉืžื•ืจ ืขืœ ื›ืœ ื”ืฆืžืชื™ื ื‘ืžืฆื‘ ืžืกื•ื ื›ืจืŸ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืืœื’ื•ืจื™ืชื ื”ืงื•ื ืฆื ื–ื•ืก ืฉืœ Raft. Rqlite ืžืฉืชืžืฉ ื‘ืกืคืจื™ื™ืช SQLite ื”ืžืงื•ืจื™ืช ื•ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ ื”ืกื˜ื ื“ืจื˜ื™ go-sqlite3, ืฉืขืœื™ื• ืžื•ืฉืงืช ืฉื›ื‘ื” ื”ืžืขื‘ื“ืช ื‘ืงืฉื•ืช ืœืงื•ื—, ืžื‘ืฆืขืช ืฉื›ืคื•ืœ ืœืฆืžืชื™ื ืื—ืจื™ื ื•ืžื ื˜ืจืช ื”ืฉื’ืช ืงื•ื ืฆื ื–ื•ืก ื‘ื‘ื—ื™ืจืช ืฆื•ืžืช ืžื•ื‘ื™ืœ.

ืฉื™ื ื•ื™ื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื™ื›ื•ืœื™ื ืœื”ืชื‘ืฆืข ืจืง ืขืœ ื™ื“ื™ ื”ืฆื•ืžืช ืฉื ื‘ื—ืจ ื›ืžื ื”ื™ื’, ืืš ื ื™ืชืŸ ืœืฉืœื•ื— ื—ื™ื‘ื•ืจื™ื ืขื ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื’ื ืœืฆืžืชื™ื ืื—ืจื™ื ื‘ืืฉื›ื•ืœ, ืฉื™ื—ื–ื™ืจื• ืืช ื›ืชื•ื‘ืช ื”ืžื ื”ื™ื’ ื›ื“ื™ ืœื—ื–ื•ืจ ืขืœ ื”ื‘ืงืฉื” (ื‘ื’ืจืกื” ื”ื‘ืื” ื”ื ืžื‘ื˜ื™ื—ื” ืœื”ื•ืกื™ืฃ ื”ืขื‘ืจื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ื‘ืงืฉื•ืช ืœืžื ื”ื™ื’). ื”ื“ื’ืฉ ื”ืขื™ืงืจื™ ื”ื•ื ืขืœ ืกื‘ื™ืœื•ืช ืœืชืงืœื•ืช, ื›ืš ืฉื”-DBMS ืžื“ื•ืจื’ ืจืง ืขื ืคืขื•ืœื•ืช ืงืจื™ืื”, ื•ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื”ืŸ ืฆื•ื•ืืจ ื”ื‘ืงื‘ื•ืง. ืืคืฉืจ ืœื”ืคืขื™ืœ ืืฉื›ื•ืœ rqlite ืžืฆื•ืžืช ื‘ื•ื“ื“ ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืคืชืจื•ืŸ ื–ื” ื›ื“ื™ ืœืกืคืง ื’ื™ืฉื” ืœ-SQLite ื“ืจืš HTTP ืžื‘ืœื™ ืœืกืคืง ืกื•ื‘ืœื ื•ืช ืœืชืงืœื•ืช.

ื”ื ืชื•ื ื™ื ืฉืœ SQLite ื‘ื›ืœ ืฆื•ืžืช ืื™ื ื ืžืื•ื—ืกื ื™ื ื‘ืงื•ื‘ืฅ, ืืœื ื‘ื–ื™ื›ืจื•ืŸ. ื‘ืจืžืช ื”ืฉื›ื‘ื” ืขื ื™ื™ืฉื•ื ืคืจื•ื˜ื•ืงื•ืœ Raft, ื ืฉืžืจ ื™ื•ืžืŸ ืฉืœ ื›ืœ ืคืงื•ื“ื•ืช SQLite ื”ืžื•ื‘ื™ืœื•ืช ืœืฉื™ื ื•ื™ื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื. ื™ื•ืžืŸ ื–ื” ืžืฉืžืฉ ื‘ืžื”ืœืš ืฉื›ืคื•ืœ (ืฉื›ืคื•ืœ ื‘ืจืžื” ืฉืœ ืฉื—ื–ื•ืจ ื‘ืงืฉื•ืช ื‘ืฆืžืชื™ื ืื—ืจื™ื), ื”ืชื—ืœืช ืฆื•ืžืช ื—ื“ืฉ ืื• ื”ืชืื•ืฉืฉื•ืช ืžืื•ื‘ื“ืŸ ืงื™ืฉื•ืจื™ื•ืช. ื›ื“ื™ ืœื”ืงื˜ื™ืŸ ืืช ื’ื•ื“ืœ ื”ื™ื•ืžืŸ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืืจื™ื–ื” ืื•ื˜ื•ืžื˜ื™ืช, ืฉืžืชื—ื™ืœื” ืœืื—ืจ ืžืกืคืจ ืžื•ื’ื“ืจ ืฉืœ ืฉื™ื ื•ื™ื™ื ื•ืžื•ื‘ื™ืœื” ืœืชื™ืงื•ืŸ ืชืžื•ื ืช ืžืฆื‘ ื‘ื“ื™ืกืง, ืฉื‘ื™ื—ืก ืืœื™ื” ืžืชื—ื™ืœ ืœืฉืžื•ืจ ื™ื•ืžืŸ ื—ื“ืฉ (ืžืฆื‘ ืžืกื“ ื”ื ืชื•ื ื™ื ื‘ื–ื™ื›ืจื•ืŸ ื–ื”ื” ืœืชืžื•ื ืช ื”ืžืฆื‘ + ื™ื•ืžืŸ ื”ืฉื™ื ื•ื™ื™ื ื”ืžืฆื˜ื‘ืจ).

ืชื›ื•ื ื•ืช ืฉืœ rqlite:

  • ืงืœ ืœืคืจื•ืก ืืฉื›ื•ืœ, ืœืœื ืฆื•ืจืš ื‘ื”ืชืงื ืช SQLite ื ืคืจื“ืช.
  • ื™ื›ื•ืœืช ืœื”ืฉื™ื’ ื‘ืžื”ื™ืจื•ืช ืื—ืกื•ืŸ SQL ืžืฉื•ื›ืคืœ.
  • ืžื•ื›ืŸ ืœืฉื™ืžื•ืฉ ื‘ืคืจื•ื™ืงื˜ื™ื ืขื•ื‘ื“ื™ื (ื“ืจื’ืช ื™ื™ืฆื•ืจ).
  • ื ื•ื›ื—ื•ืช ืฉืœ HTTP(S) API ื”ืžืืคืฉืจ ืœืš ืœืขื“ื›ืŸ ื ืชื•ื ื™ื ื‘ืžืฆื‘ ืืฆื•ื•ื” ื•ืœืงื‘ื•ืข ืืช ื”ืฆื•ืžืช ื”ืžื•ื‘ื™ืœ ืฉืœ ื”ืืฉื›ื•ืœ. ื”ื•ื ื’ื ืžืกืคืง ืžืžืฉืง ืฉื•ืจืช ืคืงื•ื“ื” ื•ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืกืคืจื™ื•ืช ืœืงื•ื— ืฉื•ื ื•ืช ืฉื ื‘ื ื• ืขื‘ื•ืจ SQLite.
  • ื–ืžื™ื ื•ืช ืฉืœ ืฉื™ืจื•ืช ืœื–ื™ื”ื•ื™ ืฆืžืชื™ื ืื—ืจื™ื, ื”ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืืฉื›ื•ืœื•ืช ื‘ืื•ืคืŸ ื“ื™ื ืžื™.
  • ืชืžื™ื›ื” ื‘ื”ืฆืคื ืช ื—ื™ืœื•ืคื™ ื ืชื•ื ื™ื ื‘ื™ืŸ ืฆืžืชื™ื.
  • ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืืช ืจืžืช ื‘ื“ื™ืงืช ื”ืจืœื•ื•ื ื˜ื™ื•ืช ื•ื”ืขืงื‘ื™ื•ืช ืฉืœ ื”ื ืชื•ื ื™ื ื‘ืขืช ื”ืงืจื™ืื”.
  • ืืคืฉืจื•ืช ืื•ืคืฆื™ื•ื ืœื™ืช ืœื—ื‘ืจ ืฆืžืชื™ื ื‘ืžืฆื‘ ืงืจื™ืื” ื‘ืœื‘ื“, ืฉืื™ื ื ืžืฉืชืชืคื™ื ื‘ืงื‘ื™ืขืช ืงื•ื ืฆื ื–ื•ืก ื•ืžืฉืžืฉื™ื ืœื”ื’ื“ืœืช ื”ืžื“ืจื’ื™ื•ืช ืฉืœ ื”ืืฉื›ื•ืœ ืœืคืขื•ืœื•ืช ืงืจื™ืื”.
  • ืชืžื™ื›ื” ื‘ืฆื•ืจืช ืขืกืงืื•ืช ืžืฉืœืš ื”ืžื‘ื•ืกืกืช ืขืœ ืฉื™ืœื•ื‘ ืคืงื•ื“ื•ืช ื‘ื‘ืงืฉื” ืื—ืช (ืขืกืงืื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ BEGIN, COMMIT, ROLLBACK, SAVEPOINT ื•- RELEASE ืื™ื ืŸ ื ืชืžื›ื•ืช).
  • ืชืžื™ื›ื” ื‘ื™ืฆื™ืจืช ื’ื™ื‘ื•ื™ื™ื ื—ืžื™ื.

ื”ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื” ืžืฆื™ื’ื” ืฉื™ื ื•ื™ื™ื ืืจื›ื™ื˜ืงื˜ื•ื ื™ื™ื ืžืฉืžืขื•ืชื™ื™ื ืฉืžื˜ืจืชื ืœื”ื’ื“ื™ืœ ืืช ืืžื™ื ื•ืช ื”ืืฉื›ื•ืœื•ืช ืขืœ ื™ื“ื™ ืฉื™ืคื•ืจ ืชื”ืœื™ืš ื ื™ืชื•ื‘ ื‘ืงืฉื•ืช ืงืจื™ืื” ื•ื›ืชื™ื‘ื” ืœืฆืžืชื™ ื”ืืฉื›ื•ืœ ื”ื ื›ื•ื ื™ื. ืฆืžืชื™ rqlite ื™ื›ื•ืœื™ื ื›ืขืช ืœื”ืจื‘ื•ืช ื—ื™ื‘ื•ืจื™ื ืœื•ื’ื™ื™ื ืžืจื•ื‘ื™ื ื‘ื™ื ื ืœื‘ื™ืŸ ืขืฆืžื ื‘ืืžืฆืขื•ืช ื—ื™ื‘ื•ืจื™ TCP ืฉื ื•ืฆืจื• ื‘ื™ืŸ ืฆืžืชื™ื ืขืœ ื™ื“ื™ ืคืจื•ื˜ื•ืงื•ืœ Raft. ืื ื‘ืงืฉื” ื“ื•ืจืฉืช ืกืžื›ื•ืช ืžื ื”ื™ื’ ืืš ื ืฉืœื—ืช ืœืฆื•ืžืช ืžืฉื ื™, ื”ืฆื•ืžืช ื”ืžืฉื ื™ ื™ื›ื•ืœ ืœืงื‘ื•ืข ืืช ื›ืชื•ื‘ืชื• ืฉืœ ื”ืžื ื”ื™ื’ ื•ืœื”ืขื‘ื™ืจ ืื•ืชื” ืœืœืงื•ื— ืžื‘ืœื™ ืœื‘ืฆืข ื—ื™ืฉื•ื‘ื™ ืงื•ื ืฆื ื–ื•ืก Raft.

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

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

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