Ntọhapụ nke ekesa DBMS rqlite 7.0 mere, nke na-eji SQLite dị ka ihe nchekwa nchekwa ma na-enye gị ohere ịhazi ọrụ nke ụyọkọ site na ebe nchekwa na-ejikọta ibe ha. Otu n'ime njirimara nke rqlite bụ ịdị mfe nke nrụnye, ntinye na nhazi nke ebe nchekwa na-adịghị mma na-ekesa, dị ka wdgd na Consul, mana iji ụdị data mmekọrịta kama iji usoro igodo / uru. Edere koodu ọrụ ahụ na Go wee kesaa n'okpuru ikike MIT.
Iji dowe ọnụ ọnụ niile n'ọnọdụ mekọrịtara ọnụ, a na-eji usoro nkwenye nke Raft. Rqlite na-eji ọbá akwụkwọ SQLite mbụ yana onye ọkwọ ụgbọ ala go-sqlite3, n'elu nke a na-ewepụta oyi akwa nke na-ahazi arịrịọ ndị ahịa, na-eme mmegharị na ọnụ ndị ọzọ, ma na-enyocha mmezu nke nkwenye na nhọrọ nke ọnụ ụzọ.
Mgbanwe na nchekwa data nwere ike ime naanị site na ọnụ nke ahọpụtara dị ka onye ndu, mana enwere ike iziga njikọ na arụ ọrụ ide na ọnụ ụzọ ndị ọzọ na ụyọkọ ahụ, nke ga-eweghachi adreesị onye isi iji megharịa arịrịọ ahụ (n'ụdị na-esote ha. kwere nkwa ịgbakwunye arịrịọ na-akpaghị aka na onye ndu). Isi ihe a na-ekwusi ike bụ na nnabata mmejọ, yabụ na DBMS akpịrịkpa na-eji naanị arụ ọrụ ọgụgụ, yana ọrụ ide bụ ihe mgbochi. Ọ ga-ekwe omume ịgba ọsọ ụyọkọ rqlite site na otu ọnụ na enwere ike iji ngwọta a iji nye ohere na SQLite n'elu HTTP na-enyeghị nnabata mmejọ.
A naghị echekwa data SQLite na ọnụ ọ bụla na faịlụ, kama na ebe nchekwa. Na ọkwa oyi akwa na mmejuputa usoro Raft, a na-edobe ndekọ nke iwu SQLite niile na-eduga na mgbanwe na nchekwa data. A na-eji ndekọ a n'oge mmegharị (mmegharị na ọkwa nke imegharị arịrịọ na ọnụ ndị ọzọ), mgbe ịmalite oghere ọhụrụ, ma ọ bụ iji nwetaghachi na nkwụsị nke njikọta. Iji belata nha nke ndekọ ahụ, a na-eji nkwakọ ngwaahịa akpaka, nke na-amalite mgbe ọnụọgụ mgbanwe a kapịrị ọnụ ma na-eduga na nhazi nke foto, n'ihe metụtara nke a na-amalite idebe ndekọ ọhụrụ (ọnọdụ nchekwa data na ebe nchekwa bụ. yiri foto ahụ + ndekọ mgbanwe chịkọbara).
Njirimara nke rqlite:
- Ọ dị mfe ibugharị ụyọkọ, na-enweghị mkpa maka nrụnye dị iche nke SQLite.
- Ikike iji nweta ngwa ngwa nchekwa SQL oyiri.
- Njikere maka iji na mmepụta oru (mmepụta-ọkwa).
- Ọnụnọ nke HTTP(S) API nke na-enye gị ohere imelite data na ọnọdụ batch wee chọpụta ọnụ ụzọ nke ụyọkọ ahụ. A na-enyekwa interface ahịrị iwu na ọba akwụkwọ ndị ahịa maka asụsụ mmemme dị iche iche.
- Ịnweta ọrụ maka ịchọpụta ọnụ ụzọ ndị ọzọ, na-enye gị ohere ịmepụta ụyọkọ n'ike.
- Nkwado maka izoro mgbanwe data n'etiti ọnụ.
- Ikike ịhazi ọkwa nke ịlele mkpa na nkwụsi ike nke data mgbe ị na-agụ.
- Ikike nhọrọ iji jikọọ ọnụ na ọnọdụ ọgụgụ naanị, nke na-adịghị etinye aka n'ịchọpụta nkwenye ma jiri ya mee ka scalability nke ụyọkọ ahụ maka ịrụ ọrụ ịgụ.
- Nkwado maka ụdị azụmahịa nke gị dabere na ijikọta iwu n'otu arịrịọ (a naghị akwado azụmahịa dabere na BEGIN, COMMIT, ROLLBACK, SAVEPOINT na Ntọhapụ).
- Nkwado maka ịmepụta ndabere na-ekpo ọkụ.
Na mwepụta ọhụrụ:
- Agbakwunyere nkwado maka nchịkọta rqlite akpaka site na iji ọrụ nchọpụta node ọhụrụ nke nwere ike ịgba ọsọ na nchekwa kesara dịka Consul na wdg. Ọrụ a na-enye node rqlite ohere ịchọta onwe ha na akpaghị aka—onye nchịkwa ga-ebulite naanị ọtụtụ node na sava dị iche iche. ndị sava, na-akọwapụta adreesị nke Consul ma ọ bụ cluster etcd (dịka ọmụmaatụ, "example.com:8500"), a ga-ejikọkwa nodes ahụ na klaasị ahụ na akpaghị aka. Nọdụ onye ndu na-emelite ozi adreesị ya mgbe niile na nchekwa Consul ma ọ bụ etcd, na-enye gị ohere ịgbanwe onye ndu ma emechaa na-enweghị ịhazi nodes ndị ọzọ, yana itinye nodes ọhụrụ ọbụlagodi mgbe onye ndu gbanwere. Akwụsịla nkwado maka ọrụ nchọpụta nodes ochie (ụdị nchọpụta), nke AWS Lambda na-akwado.
- Ihe interface CLI na-enye ohere ịkọwapụta ọtụtụ ndị ọbịa n'otu oge - ọ bụrụ na oghere mbụ adịghị, a ga-akpọtụrụ ndị ọbịa ọzọ.
- Arụgharịala koodu maka ịtụgharị arụmụka ahịrị iwu rqlited.
- Akwụsịla ngwungwu protobuf a kwụsịrị.
- Nchekwa BoltDB ejirila na mmejuputa iwu Raft dochie ya site na bolt, ndụdụ sitere na ọrụ wdgd.
isi: opennet.ru
