Tso tawm ntawm rqlite 7.0, ib qho kev faib tawm, ua txhaum DBMS raws li SQLite

Qhov kev tso tawm ntawm DBMS rqlite 7.0 tau muab faib ua qhov chaw, uas siv SQLite ua lub cav cia thiab tso cai rau koj los npaj kev ua haujlwm ntawm pawg los ntawm kev khaws cia synchronized nrog ib leeg. Ib qho ntawm cov yam ntxwv ntawm rqlite yog qhov yooj yim ntawm kev teeb tsa, kev xa tawm thiab kev saib xyuas ntawm qhov kev faib ua txhaum cai cia, qee qhov zoo ib yam li lwm yam thiab Consul, tab sis siv cov ntaub ntawv sib txheeb ntawm cov qauv siv cov ntsiab lus / tus nqi. Txoj haujlwm code yog sau rau hauv Go thiab faib raws li MIT daim ntawv tso cai.

Txhawm rau khaws tag nrho cov nodes hauv lub xeev synchronized, Raft pom zoo algorithm yog siv. Rqlite siv lub tsev qiv ntawv SQLite qub thiab tus tsav tsheb mus-sqlite3, nyob rau sab saum toj ntawm cov txheej txheem tsim tawm uas ua cov neeg thov kev thov, ua qhov rov ua dua rau lwm cov nodes, thiab saib xyuas qhov ua tiav ntawm kev pom zoo ntawm kev xaiv ntawm tus thawj coj.

Kev hloov pauv rau cov ntaub ntawv tsuas yog tuaj yeem ua los ntawm cov node uas tau xaiv los ua tus thawj coj, tab sis kev sib txuas nrog kev sau ntawv kuj tseem tuaj yeem xa mus rau lwm cov nodes hauv pawg, uas yuav xa rov qab tus thawj coj qhov chaw nyob rov qab thov (hauv cov ntawv tom ntej lawv cog lus tias yuav ntxiv kev xa mus tsis siv neeg thov rau tus thawj coj). Lub ntsiab tseem ceeb yog qhov ua txhaum cai, yog li DBMS ntsuas tsuas yog nrog kev nyeem ntawv, thiab sau cov haujlwm yog qhov tsis muaj dab tsi. Nws muaj peev xwm khiav ib pawg rqlite los ntawm ib qho ntawm ib qho thiab cov kev daws teeb meem no tuaj yeem siv los muab kev nkag mus rau SQLite hla HTTP yam tsis muaj kev ua txhaum cai.

Cov ntaub ntawv SQLite ntawm txhua qhov no tsis yog khaws cia hauv cov ntaub ntawv, tab sis hauv kev nco. Nyob rau theem txheej nrog rau kev siv ntawm Raft raws tu qauv, ib lub cav ntawm tag nrho cov SQLite commands uas ua rau hloov mus rau lub database yog khaws cia. Lub cav no yog siv thaum lub sij hawm replication (replication nyob rau theem ntawm reproducing thov ntawm lwm cov nodes), thaum pib ib tug tshiab node, los yog kom rov qab los ntawm ib tug poob ntawm kev sib txuas. Txhawm rau txo qhov loj ntawm lub cav, tsis siv neeg ntim khoom siv, uas pib tom qab tus lej hloov pauv thiab ua rau kev txhim kho ntawm snapshot, nyob rau hauv kev sib raug zoo nrog lub cav tshiab pib khaws cia (lub xeev ntawm cov ntaub ntawv hauv lub cim xeeb yog zoo tib yam rau lub snapshot + cov ntaub ntawv hloov pauv hloov).

Feature ntawm rqlite:

  • Ib qho yooj yim rau deploy ib pawg, tsis tas yuav tsum muaj kev sib cais SQLite installation.
  • Muaj peev xwm kom tau txais SQL replicated ceev ceev.
  • Npaj rau siv nyob rau hauv ntau lawm tej yaam num (ntau lawm-qib).
  • Lub xub ntiag ntawm HTTP(S) API uas tso cai rau koj hloov kho cov ntaub ntawv nyob rau hauv batch hom thiab txiav txim siab tus thawj coj ntawm pawg. Ib tug hais kom ua kab interface thiab cov neeg siv cov tsev qiv ntawv rau ntau hom lus programming kuj muaj.
  • Muaj cov kev pabcuam los txheeb xyuas lwm cov nodes, tso cai rau koj los tsim cov pawg dynamically.
  • Kev them nyiaj yug rau encrypting cov ntaub ntawv pauv ntawm nodes.
  • Muaj peev xwm teeb tsa theem ntawm kev txheeb xyuas qhov tseeb thiab qhov sib xws ntawm cov ntaub ntawv thaum nyeem ntawv.
  • Kev xaiv muaj peev xwm los txuas cov nodes hauv hom nyeem nkaus xwb, uas tsis koom nrog kev txiav txim siab kev pom zoo thiab siv los ua kom cov scalability ntawm pawg rau kev nyeem ntawv ua haujlwm.
  • Kev them nyiaj yug rau koj tus kheej daim ntawv ntawm kev ua lag luam raws li kev sib txuas lus txib hauv ib qho kev thov (kev lag luam raws li BEGIN, COMMIT, ROLLBACK, SAVEPOINT thiab RELEASE tsis txaus siab).
  • Kev them nyiaj yug rau tsim cov ntaub ntawv kub.

Hauv qhov kev tso tawm tshiab:

  • Ntxiv kev txhawb nqa rau rqlite pawg tsis siv neeg siv qhov kev pab cuam nrhiav pom tshiab uas tuaj yeem ua haujlwm raws li Consul thiab lwm yam kev faib cia. Cov kev pabcuam tso cai rau rqlite nodes kom pom ib leeg - tus thawj coj tsuas yog yuav tsum tau tshaj tawm ob peb lub ntawm cov servers sib txawv, qhia txog tus Consul lossis lwm yam chaw nyob (piv txwv li, "example.com: 8500"), thiab cov nodes yuav cia li ua. ua ke rau hauv ib pawg. Cov thawj coj ntawm lub sijhawm hloov kho cov ntaub ntawv hais txog nws qhov chaw nyob hauv Consul lossis lwm yam cia, uas tso cai rau koj hloov pauv tus thawj coj tom qab tsis tas yuav rov teeb tsa lwm cov nodes, nrog rau ntxiv cov nodes tshiab txawm tias tom qab hloov tus thawj coj. Cov kev pabcuam qub Discovery uas khiav ntawm AWS Lambda tau raug txiav lawm.
  • CLI interface tso cai qhia ntau tus tswv ib zaug - yog tias thawj qhov tsis muaj, tus tswv tsev tom ntej yuav raug hu.
  • Cov cai rau parsing rqlited hais kom ua kab sib cav tau rov ua haujlwm dua.
  • Cov pob khoom protobuf tsis raug txiav tawm lawm.
  • BoltDB cia siv nyob rau hauv kev siv ntawm Raft raws tu qauv tau hloov los ntawm bbolt, rab rawg los ntawm lwm yam project.

Tau qhov twg los: opennet.ru

Ntxiv ib saib