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