Liberazione di rqlite 7.0, un DBMS distribuitu tolerante à i difetti basatu annantu à SQLite

A liberazione di u DBMS distribuitu rqlite 7.0 hè accadutu, chì usa SQLite cum'è un mutore di almacenamiento è vi permette di urganizà u travagliu di un cluster da i magazzini sincronizati cù l'altri. Una di e caratteristiche di rqlite hè a facilità di stallazione, implementazione è mantenimentu di un almacenamentu distribuitu tolerante à i difetti, un pocu simili à etcd è Consul, ma cù un mudellu di dati relazionale invece di un furmatu chjave / valore. U codice di u prugettu hè scrittu in Go è distribuitu sottu a licenza MIT.

Per mantene tutti i nodi in un statu sincronizatu, l'algoritmu di cunsensu Raft hè utilizatu. Rqlite usa a libreria SQLite originale è u driver go-sqlite3, sopra à quale una capa hè lanciata chì processa e richieste di i clienti, eseguisce a replicazione à altri nodi, è monitoreghja a realizazione di u cunsensu nantu à a scelta di un nodu principali.

I cambiamenti à a basa di dati ponu esse fatti solu da u node chì hè sceltu cum'è u capu, ma i cunnessione cù l'operazioni di scrittura ponu ancu esse mandati à altri nodi in u cluster, chì restituverà l'indirizzu di u capu per ripetiri a dumanda (in a prossima versione chì prumessa di aghjunghje l'invio automaticu di e dumande à u capu). L'enfasi principale hè nantu à a tolleranza di difetti, cusì u DBMS scala solu cù operazioni di lettura, è l'operazioni di scrittura sò u collu di buttiglia. Hè pussibule di eseguisce un cluster rqlite da un unicu node è sta suluzione pò esse aduprata per furnisce l'accessu à SQLite per HTTP senza furnisce a tolleranza di difetti.

I dati SQLite nantu à ogni node ùn sò micca guardati in un schedariu, ma in memoria. À u livellu di a capa cù l'implementazione di u protocolu Raft, un logu di tutti i cumandamenti SQLite chì portanu à cambiamenti à a basa di dati hè guardatu. Stu logu hè utilizatu durante a replicazione (replicazione à u livellu di ripruduzzione di e dumande nantu à altri nodi), quandu si principia un novu node, o per ricuperà da una perdita di cunnessione. Per riduce a dimensione di u logu, hè utilizatu l'imballu automaticu, chì principia dopu à un certu nùmeru di cambiamenti è porta à a fissazione di una snapshot, in relazione à quale un novu logu cumencia à esse mantinutu (u statu di a basa di dati in memoria hè identica à l'istantanea + u logu di cambiamentu accumulatu).

Caratteristiche di rqlite:

  • Facile da implementà un cluster, senza a necessità di una installazione SQLite separata.
  • Capacità di ottene rapidamente almacenamentu SQL replicatu.
  • Pronta à aduprà in prughjetti di pruduzzione (produzzione-grade).
  • A prisenza di una API HTTP(S) chì permette di aghjurnà e dati in u modu batch è determinà u node principali di u cluster. Una interfaccia di linea di cummanda è biblioteche di cliente per diverse lingue di prugrammazione sò ancu furnite.
  • Disponibilità di un serviziu per identificà altri nodi, chì permette di creà clusters dinamicamente.
  • Supportu per criptà u scambiu di dati trà i nodi.
  • Capacità di cunfigurà u livellu di cuntrollà a pertinenza è a coerenza di e dati durante a lettura.
  • Capacità opzionale per cunnette i nodi in modu di sola lettura, chì ùn participanu micca à a determinazione di cunsensu è sò usati per aumentà a scalabilità di u cluster per l'operazioni di lettura.
  • Supportu per a vostra propria forma di transazzione basata nantu à cumminà cumandamenti in una sola dumanda (e transazzione basate in BEGIN, COMMIT, ROLLBACK, SAVEPOINT è RELEASE ùn sò micca supportati).
  • Supportu per a creazione di salvezza calda.

In a nova versione:

  • Aghjuntu u supportu per u clustering automaticu di rqlite utilizendu un novu serviziu di scuperta di nodi chì pò esse eseguitu nantu à un almacenamentu distribuitu cum'è Consul è etcd. Stu serviziu permette à i nodi rqlite di truvà si automaticamente - l'amministratore hà solu bisognu di lancià parechji nodi nantu à diversi servitori. servitori, specificendu l'indirizzu spartutu di u cluster Consul o etcd (per esempiu, "example.com:8500"), è i nodi saranu automaticamente uniti à u cluster. U nodu capu aghjurnà periodicamente l'infurmazioni di u so indirizzu in u almacenamentu Consul o etcd, chì vi permette di cambià u capu dopu senza avè da ricunfigurà l'altri nodi, è ancu d'aghjunghje novi nodi ancu dopu chì u capu hè cambiatu. U supportu per u vechju serviziu di scuperta di nodi (modalità Discovery), alimentatu da AWS Lambda, hè statu interrottu.
  • L'interfaccia CLI permette di specificà parechji ospiti à una volta - se u primu node ùn hè micca dispunibule, i prossimi ospiti seranu cuntattati.
  • U codice per l'analisi di l'argumenti di a linea di cummanda rqlited hè statu riformulatu.
  • U pacchettu protobuf deprecated hè statu discontinuatu.
  • L'almacenamiento BoltDB utilizatu in l'implementazione di u protocolu Raft hè statu rimpiazzatu da bbolt, una furchetta da u prughjettu etcd.

Source: opennet.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster