Famoahana ny rqlite 7.0, DBMS zaraina, mandefitra amin'ny fahadisoana mifototra amin'ny SQLite

Ny famoahana ny fizarana DBMS rqlite 7.0 dia natao, izay mampiasa SQLite ho toy ny motera fitehirizana ary ahafahanao mandamina ny asan'ny cluster avy amin'ny fitahirizana mifanaraka amin'ny tsirairay. Ny iray amin'ireo endri-javatra amin'ny rqlite dia ny fanamorana ny fametrahana, ny fametrahana ary ny fikojakojana ny fitehirizana fandeferana tsininy, somary mitovitovy amin'ny etcd sy Consul, fa mampiasa modely data relational fa tsy format key/value. Ny kaody tetikasa dia voasoratra ao amin'ny Go ary zaraina amin'ny alΓ lan'ny fahazoan-dΓ lana MIT.

Mba hitazonana ny nodes rehetra amin'ny fanjakana mirindra dia ampiasaina ny algorithm consensus Raft. Rqlite dia mampiasa ny tranomboky SQLite tany am-boalohany sy ny mpamily go-sqlite3, eo an-tampony dia misy sosona iray mandrindra ny fangatahan'ny mpanjifa, manao replication amin'ny node hafa, ary manara-maso ny fahombiazan'ny marimaritra iraisana amin'ny fisafidianana ny node lehibe.

Ny fanovana amin'ny angon-drakitra dia tsy azo atao afa-tsy amin'ny node izay nofantenana ho mpitarika, fa ny fifandraisana amin'ny asa fanoratana dia azo alefa any amin'ny nodes hafa ao amin'ny cluster, izay hamerina ny adiresin'ny mpitarika hamerina ny fangatahana (amin'ny dikan-teny manaraka izy ireo. mampanantena fa hanampy ny fandefasana fangatahana ho azy amin'ny mpitarika). Ny fandeferana amin'ny lesoka no tena zava-dehibe, noho izany ny mizana DBMS amin'ny famakian-teny fotsiny, ary ny asa fanoratana dia ny bottleneck. Azo atao ny mampandeha kluster rqlite avy amin'ny node tokana ary ity vahaolana ity dia azo ampiasaina hanomezana fidirana amin'ny SQLite amin'ny HTTP tsy misy fandeferana diso.

Ny angona SQLite amin'ny node tsirairay dia tsy voatahiry ao anaty rakitra, fa ao anaty fitadidiana. Ao amin'ny ambaratonga sosona miaraka amin'ny fampiharana ny protocole Raft, dia tazonina ny diarin'ny baiko SQLite rehetra izay mitondra fiovana amin'ny angon-drakitra. Ity log ity dia ampiasaina mandritra ny replication (famerenana amin'ny ambaratongan'ny fangatahana famerenana amin'ny node hafa), rehefa manomboka node vaovao, na hamerenana amin'ny fahaverezan'ny fifandraisana. Mba hampihenana ny haben'ny log dia ampiasaina ny fonosana mandeha ho azy, izay manomboka aorian'ny fanovana maromaro voafaritra ary mitarika amin'ny fametrahana snapshot, mifandraika amin'ny fanombohana ny fitazonana ny log vaovao (ny toetry ny tahiry ao amin'ny fitadidiana dia mitovy amin'ny snapshot + ny log de change voaangona).

Toetran'ny rqlite:

  • Mora ny mametraka cluster, tsy mila fametrahana SQLite misaraka.
  • Fahaizana mahazo haingana fitahirizana SQL averina.
  • Vonona hampiasaina amin'ny tetikasa famokarana (famokarana-kilasy).
  • Ny fisian'ny HTTP(S) API izay ahafahanao manavao ny angona amin'ny maodely batch ary mamaritra ny node voalohany amin'ny cluster. Misy interface tsara andalana sy tranomboky mpanjifa ho an'ny fiteny fandaharana isan-karazany ihany koa.
  • Ny fisian'ny serivisy hamantarana ireo nodes hafa, ahafahanao mamorona clusters amin'ny fomba mavitrika.
  • Fanohanana amin'ny fanafenana ny fifanakalozana angona eo amin'ny nodes.
  • Fahaizana manamboatra ny haavon'ny fanamarinana ny maha-zava-dehibe sy ny tsy fitoviana amin'ny angona rehefa mamaky.
  • Fahaiza-manao azo atao hampifandray ny nodes amin'ny fomba vakiana fotsiny, izay tsy mandray anjara amin'ny famaritana ny marimaritra iraisana ary ampiasaina hampitomboana ny scalability ny cluster ho an'ny asa famakiana.
  • Fanohanana ny karazana fifampiraharahanao manokana mifototra amin'ny fampifangaroana baiko amin'ny fangatahana iray (tsy tohana ny fifampiraharahana mifototra amin'ny BEGIN, COMMIT, ROLLBACK, SAVEPOINT ary RELEASE).
  • Fanohanana hamorona backups mafana.

Ao amin'ny famoahana vaovao:

  • Fanampiana fanampiny ho an'ny clustering rqlite mandeha ho azy amin'ny fampiasana serivisy fitiliana node vaovao izay afaka miasa amin'ny alΓ lan'ny fitehirizana fizarana Consul sy etcd. Ny serivisy dia ahafahan'ny rqlite nodes mifankahita ho azy - ny administratera dia mila mametraka node maromaro amin'ny server samihafa, manondro ny adiresy cluster consul na etcd mahazatra (ohatra, "example.com:8500"), ary ny nodes dia ho tonga ho azy. mitambatra ho cluster. Ny node mitarika dia manavao tsindraindray ny vaovao momba ny adiresiny ao amin'ny Consul na etcd fitehirizana, izay mamela anao hanova ny mpitarika avy eo tsy mila reconfigure hafa nodes, ary koa ny manampy nodes vaovao na dia aorian'ny fanovana ny mpitarika. Ny serivisy fomba Discovery lova mandeha amin'ny AWS Lambda dia natsahatra.
  • Ny interface CLI dia mamela ny fanondroana mpampiantrano maromaro indray mandeha - raha tsy misy ny node voalohany dia hifandray amin'ireo mpampiantrano manaraka.
  • Ny kaody ho an'ny famakafakana rqlited command line argument dia novolavolaina.
  • Natsahatra ny fonosana protobuf efa lany andro.
  • Ny fitahirizana BoltDB ampiasaina amin'ny fampiharana ny protocole Raft dia nosoloina bbolt, fork avy amin'ny tetikasa etcd.

Source: opennet.ru

Add a comment