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

ื”ืชืจื—ืฉื” ืฉื—ืจื•ืจ ื”-DBMS ื”ืžื‘ื•ื–ืจ rqlite 7.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 ื”ืžืืคืฉืจ ืœืš ืœืขื“ื›ืŸ ื ืชื•ื ื™ื ื‘ืžืฆื‘ ืืฆื•ื•ื” ื•ืœืงื‘ื•ืข ืืช ื”ืฆื•ืžืช ื”ืžื•ื‘ื™ืœ ืฉืœ ื”ืืฉื›ื•ืœ. ื›ืžื• ื›ืŸ ืžืกื•ืคืงื™ื ืžืžืฉืง ืฉื•ืจืช ืคืงื•ื“ื” ื•ืกืคืจื™ื•ืช ืœืงื•ื— ืœืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช.
  • ื–ืžื™ื ื•ืช ืฉืœ ืฉื™ืจื•ืช ืœื–ื™ื”ื•ื™ ืฆืžืชื™ื ืื—ืจื™ื, ื”ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืืฉื›ื•ืœื•ืช ื‘ืื•ืคืŸ ื“ื™ื ืžื™.
  • ืชืžื™ื›ื” ื‘ื”ืฆืคื ืช ื—ื™ืœื•ืคื™ ื ืชื•ื ื™ื ื‘ื™ืŸ ืฆืžืชื™ื.
  • ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืืช ืจืžืช ื‘ื“ื™ืงืช ื”ืจืœื•ื•ื ื˜ื™ื•ืช ื•ื”ืขืงื‘ื™ื•ืช ืฉืœ ื”ื ืชื•ื ื™ื ื‘ืขืช ื”ืงืจื™ืื”.
  • ืืคืฉืจื•ืช ืื•ืคืฆื™ื•ื ืœื™ืช ืœื—ื‘ืจ ืฆืžืชื™ื ื‘ืžืฆื‘ ืงืจื™ืื” ื‘ืœื‘ื“, ืฉืื™ื ื ืžืฉืชืชืคื™ื ื‘ืงื‘ื™ืขืช ืงื•ื ืฆื ื–ื•ืก ื•ืžืฉืžืฉื™ื ืœื”ื’ื“ืœืช ื”ืžื“ืจื’ื™ื•ืช ืฉืœ ื”ืืฉื›ื•ืœ ืœืคืขื•ืœื•ืช ืงืจื™ืื”.
  • ืชืžื™ื›ื” ื‘ืฆื•ืจืช ืขืกืงืื•ืช ืžืฉืœืš ื”ืžื‘ื•ืกืกืช ืขืœ ืฉื™ืœื•ื‘ ืคืงื•ื“ื•ืช ื‘ื‘ืงืฉื” ืื—ืช (ืขืกืงืื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ BEGIN, COMMIT, ROLLBACK, SAVEPOINT ื•- RELEASE ืื™ื ืŸ ื ืชืžื›ื•ืช).
  • ืชืžื™ื›ื” ื‘ื™ืฆื™ืจืช ื’ื™ื‘ื•ื™ื™ื ื—ืžื™ื.

ื‘ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื”:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืืฉื›ื•ืœื•ืช rqlite ืื•ื˜ื•ืžื˜ื™ืช ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืช ื–ื™ื”ื•ื™ ืฆืžืชื™ื ื—ื“ืฉ ืฉื™ื›ื•ืœ ืœืขื‘ื•ื“ ืขืœ ื‘ืกื™ืก ืื—ืกื•ืŸ ืžื‘ื•ื–ืจ ืฉืœ Consul ื•-etcd. ื”ืฉื™ืจื•ืช ืžืืคืฉืจ ืœืฆืžืชื™ rqlite ืœืžืฆื•ื ื–ื” ืืช ื–ื” ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ - ื”ืžื ื”ืœ ืจืง ืฆืจื™ืš ืœื”ืคืขื™ืœ ืžืกืคืจ ืฆืžืชื™ื ื‘ืฉืจืชื™ื ืฉื•ื ื™ื, ืœืฆื™ื™ืŸ ืืช ื”ื›ืชื•ื‘ืช ื”ื ืคื•ืฆื” ืฉืœ ืงื•ื ืกื•ืœ ืื• ืืฉื›ื•ืœ etcd (ืœื“ื•ื’ืžื”, "example.com:8500"), ื•ื”ืฆืžืชื™ื ื™ื”ื™ื• ืื•ื˜ื•ืžื˜ื™ืช ืžืฉื•ืœื‘ื™ื ืœืืฉื›ื•ืœ. ื”ืฆื•ืžืช ื”ืžื•ื‘ื™ืœ ืžืขื“ื›ืŸ ืžืขืช ืœืขืช ืžื™ื“ืข ืขืœ ื›ืชื•ื‘ืชื• ื‘ืื—ืกื•ืŸ ื”ืงื•ื ืกื•ืœ ืื• etcd, ืžื” ืฉืžืืคืฉืจ ืœืš ืœืื—ืจ ืžื›ืŸ ืœืฉื ื•ืช ืืช ื”ืžื ื”ื™ื’ ืœืœื ืฆื•ืจืš ืœื”ื’ื“ื™ืจ ืžื—ื“ืฉ ืฆืžืชื™ื ืื—ืจื™ื, ื›ืžื• ื’ื ืœื”ื•ืกื™ืฃ ืฆืžืชื™ื ื—ื“ืฉื™ื ื’ื ืœืื—ืจ ื”ื—ืœืคืช ื”ืžื ื”ื™ื’. ืฉื™ืจื•ืช ืžืฆื‘ Discovery ืžื“ื•ืจ ืงื•ื“ื ื”ืคื•ืขืœ ืขืœ AWS Lambda ื”ื•ืคืกืง.
  • ืžืžืฉืง ื”-CLI ืžืืคืฉืจ ืœืฆื™ื™ืŸ ืžืกืคืจ ืžืืจื—ื™ื ื‘ื•-ื–ืžื ื™ืช - ืื ื”ืฆื•ืžืช ื”ืจืืฉื•ืŸ ืื™ื ื• ื–ืžื™ืŸ, ื™ื™ืฆื•ืจ ืงืฉืจ ืขื ื”ืžืืจื—ื™ื ื”ื‘ืื™ื.
  • ื”ืงื•ื“ ืœื ื™ืชื•ื— ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” rqlited ืขื•ื‘ื“ ืžื—ื“ืฉ.
  • ื—ื‘ื™ืœืช ื”-protobuf ืฉื”ื•ืฆืื” ืžืฉื™ืžื•ืฉ ื”ื•ืคืกืงื”.
  • ืื—ืกื•ืŸ BoltDB ื”ืžืฉืžืฉ ื‘ื™ื™ืฉื•ื ืคืจื•ื˜ื•ืงื•ืœ Raft ื”ื•ื—ืœืฃ ื‘-bbolt, ืžื–ืœื’ ืžืคืจื•ื™ืงื˜ etcd.

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

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