Rilaxx ta' rqlite 7.0, DBMS distribwit u tolleranti għall-ħsarat ibbażat fuq SQLite

Sar ir-rilaxx tad-DBMS rqlite 7.0 distribwit, li juża SQLite bħala magna tal-ħażna u jippermettilek torganizza x-xogħol ta 'cluster minn ħażniet sinkronizzati ma' xulxin. Waħda mill-karatteristiċi ta 'rqlite hija l-faċilità ta' installazzjoni, skjerament u manutenzjoni ta 'ħażna mqassma tolleranti għall-ħsarat, kemmxejn simili għal etcd u Consul, iżda bl-użu ta' mudell ta 'dejta relazzjonali minflok format ta' ċavetta/valur. Il-kodiċi tal-proġett huwa miktub f'Go u mqassam taħt il-liċenzja MIT.

Biex in-nodi kollha jinżammu fi stat sinkronizzat, jintuża l-algoritmu tal-kunsens Raft. Rqlite juża l-librerija oriġinali SQLite u s-sewwieq go-sqlite3, li fuqu jitnieda saff li jipproċessa t-talbiet tal-klijenti, iwettaq replikazzjoni għal nodi oħra, u jimmonitorja l-kisba ta 'kunsens dwar l-għażla ta' nodu ewlieni.

Bidliet fid-database jistgħu jsiru biss min-node li jintgħażel bħala l-mexxej, iżda konnessjonijiet ma 'operazzjonijiet ta' kitba jistgħu wkoll jintbagħtu lil nodi oħra fil-cluster, li jirritorna l-indirizz tal-mexxej biex jirrepeti t-talba (fil-verżjoni li jmiss huma wegħda li żżid it-trażmissjoni awtomatika tat-talbiet lill-mexxej). L-enfasi ewlenija hija fuq it-tolleranza tal-ħsarat, għalhekk id-DBMS tiskala biss b'operazzjonijiet ta 'qari, u operazzjonijiet ta' kitba huma l-konġestjoni. Huwa possibbli li titħaddem cluster rqlite minn nodu wieħed u din is-soluzzjoni tista 'tintuża biex tipprovdi aċċess għal SQLite fuq HTTP mingħajr ma tipprovdi tolleranza għall-ħsarat.

Id-dejta SQLite fuq kull node mhix maħżuna f'fajl, iżda fil-memorja. Fil-livell tas-saff bl-implimentazzjoni tal-protokoll Raft, jinżamm log tal-kmandi SQLite kollha li jwasslu għal bidliet fid-database. Dan il-ġurnal jintuża waqt ir-replikazzjoni (replikazzjoni fil-livell ta 'riproduzzjoni ta' talbiet fuq nodi oħra), meta jinbeda nodu ġdid, jew biex jirkupra minn telf ta 'konnettività. Biex jitnaqqas id-daqs tal-ġurnal, jintuża l-ippakkjar awtomatiku, li jibda wara numru speċifikat ta’ bidliet u jwassal għall-iffissar ta’ snapshot, li fir-rigward tiegħu jibda jinżamm log ġdid (l-istat tad-database fil-memorja huwa identiku għall-istampa + ir-reġistru tal-bidliet akkumulat).

Karatteristiċi ta 'rqlite:

  • Faċli biex tuża cluster, mingħajr il-ħtieġa għal installazzjoni separata ta 'SQLite.
  • Kapaċità li tikseb malajr ħażna SQL replikata.
  • Lest għall-użu fi proġetti ta 'produzzjoni (grad ta' produzzjoni).
  • Il-preżenza ta 'HTTP(S) API li tippermettilek taġġorna d-dejta fil-modalità tal-lott u tiddetermina n-nodu ewlieni tal-cluster. Huma pprovduti wkoll interface tal-linja tal-kmand u libreriji tal-klijenti għal diversi lingwi ta’ programmar.
  • Disponibbiltà ta 'servizz għall-identifikazzjoni ta' nodi oħra, li jippermettilek toħloq clusters b'mod dinamiku.
  • Appoġġ għall-kodifikazzjoni tal-iskambju tad-dejta bejn in-nodi.
  • Kapaċità li tikkonfigura l-livell ta 'verifika tar-rilevanza u l-konsistenza tad-dejta meta taqra.
  • Kapaċità fakultattiva li tikkonnettja nodi fil-modalità ta 'qari biss, li ma jipparteċipawx fid-determinazzjoni tal-kunsens u huma użati biex iżidu l-iskalabbiltà tal-cluster għal operazzjonijiet ta' qari.
  • Appoġġ għall-forma tiegħek ta' tranżazzjonijiet ibbażati fuq il-kombinazzjoni ta' kmandi f'talba waħda (tranżazzjonijiet ibbażati fuq BEGIN, COMMIT, ROLLBACK, SAVEPOINT u RELEASE mhumiex appoġġjati).
  • Appoġġ għall-ħolqien ta 'backups sħun.

Fir-rilaxx il-ġdid:

  • Appoġġ miżjud għall-clustering awtomatiku ta 'rqlite bl-użu ta' servizz ġdid ta 'skoperta ta' nodi li jista 'jaħdem fuq il-bażi ta' ħażna mqassma ta' Consul u etcd. Is-servizz jippermetti li n-nodi rqlite isibu lil xulxin awtomatikament - l-amministratur jeħtieġ biss li jniedi diversi nodi fuq servers differenti, u jispeċifika l-indirizz komuni tal-Konslu jew tal-cluster etcd (per eżempju, "example.com:8500"), u n-nodi awtomatikament ikunu magħquda fi cluster. In-nodu ewlieni jaġġorna perjodikament l-informazzjoni dwar l-indirizz tiegħu fil-ħażna Konslu jew etcd, li jippermettilek li sussegwentement tibdel il-mexxej mingħajr il-ħtieġa li terġa 'tikkonfigura nodi oħra, kif ukoll iżżid nodi ġodda anke wara li tbiddel il-mexxej. Is-servizz tal-modalità Discovery tal-wirt li jaħdem fuq AWS Lambda twaqqaf.
  • L-interface CLI tippermetti li tispeċifika diversi hosts f'daqqa - jekk l-ewwel node ma jkunx disponibbli, l-hosts li jmiss jiġu kkuntattjati.
  • Il-kodiċi għall-analiżi tal-argumenti tal-linja tal-kmand rqlited inħadem mill-ġdid.
  • Il-pakkett protobuf deprecated twaqqaf.
  • Il-ħażna BoltDB użata fl-implimentazzjoni tal-protokoll Raft ġiet sostitwita minn bbolt, furketta mill-proġett etcd.

Sors: opennet.ru

Żid kumment