Database iri riri kutsva...

Database iri riri kutsva...

Rega nditaure nyaya yehunyanzvi.

Makore mazhinji apfuura, ndanga ndichigadzira application nekubatana maficha akavakwa mairi. Yaive mushandisi-inoshamwaridzika yekuyedza stack iyo yakatora mukana weiyo yakazara mukana wekutanga React uye CouchDB. Iyo yakawiriranisa data munguva chaiyo kuburikidza neJSON OT. Yakashandiswa mukati mekambani, asi kushanda kwayo kwakawanda uye kugona mune dzimwe nzvimbo kwaive kwakajeka.

Tichiri kuedza kutengesa tekinoroji iyi kune vangangove vatengi, takasangana nemhinganidzo yaisatarisirwa. Muvhidhiyo yedemo, tekinoroji yedu yakatarisa uye yakashanda zvakanaka, hapana matambudziko ipapo. Vhidhiyo yacho yakaratidza chaizvo mashandiro ayo uye haina kutevedzera chero chinhu. Takauya nekodhi mamiriro echokwadi ekushandisa chirongwa.

Database iri riri kutsva...
Kutaura zvazviri, iri ndiro rakazova dambudziko. Demo yedu yakashanda chaizvo nenzira iyo munhu wese akateedzera mashandisiro avo. Kunyanya, ruzivo rwakatamiswa ipapo kubva kuA kuenda kuB, kunyangwe aive mahombe midhiya mafaera. Mushure mekupinda mukati, mushandisi wega wega akaona zvinyorwa zvitsva. Uchishandisa chishandiso, vashandisi vakasiyana vaigona kushanda pamwechete zvakajeka pamapurojekiti mamwe chete, kunyangwe iyo Internet yakakanganiswa kumwe kunhu mumusha. Izvi zvinonyatsorehwa mune chero chigadzirwa vhidhiyo yakachekwa muAfter Effects.

Kunyangwe hazvo munhu wese aiziva kuti bhatani reRefresh raive rei, hapana ainyatsonzwisisa kuti mawebhusaiti avakatikumbira kuti tivake aiwanzoenderana nezvaasingakwanisi. Uye kuti kana ivo vasingachadiwi, ruzivo rwemushandisi ruchave rwakasiyana zvachose. Ivo vainyanya kuona kuti vaigona "kutaura" nekusiira zvinyorwa zvevanhu vavaitaura navo, saka vakashamisika kuti izvi zvaive zvakasiyana sei, semuenzaniso, Slack. Phew!

Dhizaini yemazuva ese syncs

Kana iwe uine ruzivo mukugadzirwa kwesoftware, zvinofanirwa kunge zvichishungurudza kuyeuka kuti vanhu vazhinji havangotarise mufananidzo weiyo interface uye vonzwisisa zvazvichaita kana uchidyidzana nazvo. Tisingatauri zvinoitika mukati mepurogiramu pachayo. Zivo iyo may Kuitika kunonyanya kukonzerwa nekuziva zvisingagoni kuitika uye zvisingafaniri kuitika. Izvi zvinoda muenzaniso wepfungwa kwete chete izvo software inoita, asiwo maitiro ayo ega ega anorongedzerwa uye anotaurirana kune mumwe nemumwe.

Muenzaniso wekare weiyi mushandisi anotarisa pa spinner.gif, vachinetseka kuti basa racho richapedzwa riini. Mugadziri angadai akaziva kuti maitiro angangove akamira uye kuti gif yaisazombonyangarika kubva pachiratidziri. Iyi animation inofananidzira kuitwa kwebasa, asi haina hukama nemamiriro ayo. Mumamiriro ezvinhu akadaro, mamwe techies anoda kutenderedza maziso, achishamisika nehukuru hwekuvhiringidzika kwevashandisi. Zvisinei, cherekedza kuti vangani vavo vanonongedzera wachi inotenderera ndokutaura kuti yakamira chaizvoizvo?

Database iri riri kutsva...
Ichi ndicho musimboti wekukosha kwenguva chaiyo. Mazuva ano, dhatabhesi renguva-chaiyo achiri kushoma kwazvo kushandiswa uye vanhu vazhinji vanoaona nekunyumwira. Mazhinji eaya dhatabhesi anotsamira zvakanyanya kune iyo NoSQL maitiro, ndosaka ivo vanowanzo shandisa Mongo-based mhinduro, iyo inonyatso kukanganwa. Nekudaro, kwandiri izvi zvinoreva kugadzikana kushanda neCouchDB, pamwe nekudzidza kugadzira zvimiro izvo zvinopfuura imwe bureaucrat inogona kuzadza nedata. Ndinofunga kuti ndiri kushandisa nguva yangu zviri nani.

Asi iyo chaiyo musoro weposvo iyi ndiyo yandiri kushandisa nhasi. Kwete nesarudzo, asi nekuda kwekusava nehanya uye neupofu kushandisa marongero emakambani. Saka ini ndichapa Zvakakwana Kwakanaka uye Kusarerekera kuenzanisa kwezviviri zvine hukama Google real-time database zvigadzirwa.

Database iri riri kutsva...
Vese vane izwi rekuti Moto mumazita avo. Chinhu chimwe chandinoyeuka nomufaro. Chechipiri kwandiri imhando yakasiyana yemoto. Handisi kukurumidza kutaura mazita avo, nokuti kana ndangodaro, tichasangana nedambudziko guru rekutanga: mazita.

Wekutanga anonzi Firebase Real-Nguva Database, uye wechipiri - Firebase Cloud Firestore. Zvose zviri zviviri zvigadzirwa kubva Firebase suite Google. MaAPI avo anodanwa zvichiteerana firebase.database(…) ΠΈ firebase.firestore(…).

Izvi zvakaitika nokuti Real-Nguva Database - inongova yepakutanga Firebase isati yatengwa neGoogle muna 2014. Ipapo Google yakafunga kugadzira seyakafanana chigadzirwa kopi Firebase yakavakirwa pane hombe data kambani, uye yakaidaidza kuti Firestore negore. Ndinovimba kuti hamusati mavhiringika. Kana iwe uchiri kuvhiringidzika, usanetseka, ini pachangu ndakanyorazve chikamu ichi chechinyorwa kagumi.

Nekuti unofanira kuratidza Firebase mumubvunzo weFirebase, uye Firestore mumubvunzo nezve Firebase, zvirinani kuita kuti unzwisise makore mashoma apfuura paStack Kufashukira.

Kana paine mubairo weiyo yakaipisisa yekupa zita software, uyu angadai ari mumwe wevanokwikwidza. The Hamming distance pakati pemazita aya idiki zvekuti inovhiringa kunyangwe mainjiniya vane ruzivo vane zvigunwe zvekunyora zita rimwe uku misoro yavo ichifunga nezverimwe. Izvi zvirongwa zvine vavariro yakanaka zvinokundikana zvinosiririsa; vakazadzisa chiporofita chekuti database yaizotsva. Uye handisi kutamba zvachose. Munhu akauya nechirongwa chekupa mazita aya akakonzera ropa, dikita nemisodzi.

Database iri riri kutsva...

Pyrrhic kukunda

Mumwe angafunga kuti Firestore iri kutsiva Firebase, chizvarwa chayo chinotevera, asi izvo zvinenge zvichirasisa. Firestore haina kuvimbiswa kuve yakakodzera kutsiva Firebase. Zvinoita sekunge mumwe munhu akacheka zvese zvinonakidza kubva pazviri uye akavhiringa zvimwe zvese nenzira dzakasiyana.

Nekudaro, kukurumidza kutarisa kune izvo zvigadzirwa zviviri zvinogona kukuvhiringa iwe: zvinoita kunge zvinoita chinhu chimwe chete, kuburikidza neayo maAPIs akafanana uye kunyangwe mune imwecheteyo dhatabhesi chikamu. Misiyano yacho isingaoneki uye inoratidzirwa chete nekunyatso kuenzanisa kuongorora kwezvinyorwa zvakakura. Kana iwe paunenge uchiedza kutakura kodhi inoshanda zvakakwana paFirebase kuitira kuti ishande neFirestore. Kunyangwe ipapo iwe unoona kuti iyo dhatabhesi interface inovhenekera iwe paunongoyedza kudhonza nekudonha negonzo munguva chaiyo. Ndinodzokorora, handisi kutamba.

Iyo Firebase mutengi ine ruremekedzo mupfungwa yekuti inobvisa shanduko uye inoedza otomatiki zvigadziriso zvinopa pamberi pekupedzisira kunyora kushanda. Nekudaro, Firestore ine muganho we1 kunyora kushanda pagwaro rega rega pamushandisi pasekondi, uye muganho uyu unosimbiswa neserver. Paunenge uchishanda nayo, zviri kwauri kuti uwane nzira yekuitenderedza uye shandisa iyo yekuvandudza chiyero chinomisikidza, kunyangwe iwe uchingoyedza kuvaka application yako. Kureva kuti, Firestore idura renguva-chaiyo isina mutengi wenguva chaiyo, iyo inoita kunge munhu ari kushandisa API.

Pano tinotanga kuona zviratidzo zvekutanga zveFirestore's raison d'Γͺtre. Ndinogona kunge ndakanganisa, asi ndinofungidzira kuti mumwe munhu ari kumusoro muGoogle manejimendi akatarisa Firebase mushure mekutenga ndokungoti, "Aiwa, Mwari wangu, kwete. Izvi hazvitenderwi. Kwete pasi pehutungamiriri hwangu. "

Database iri riri kutsva...
Akazviratidza kubva mumakamuri ake uye akati:

"Chinyorwa chimwe chikuru cheJSON? Aihwa. Iwe uchatsemura data kuita zvinyorwa zvakasiyana, rimwe nerimwe risingapfuuri 1 megabyte muhukuru. "

Zvinoita sekuti kudzikisira kwakadaro hakuzopukunyuke kusangana kwekutanga kune chero yakakurudzirwa mushandisi base. Unozviziva kuti ndizvo. Kubasa, semuenzaniso, tine zvinopfuura chiuru nehafu mharidzo, uye izvi Zvakakwana Zvakakwana.

Nekuganhurirwa uku, iwe unomanikidzwa kubvuma chokwadi chekuti "gwaro" rimwe riri mudhatabhesi harifananidze chero chinhu chinganzi mushandisi gwaro.

"Rondedzero dzezvirongwa zvinogona kudzokorodza zvine zvimwe zvinhu? Aihwa. Mitsetse ichange iine zvinhu zvakatarwa-urefu kana nhamba, sekuda kwaMwari."

Saka kana wanga uchitarisira kuisa GeoJSON muFirestore yako, uchaona kuti izvi hazvigoneke. Hapana chinhu chisina-imwe-dimensional chinogamuchirwa. Ndinovimba iwe unofarira Base64 uye / kana JSON mukati meJSON.

"JSON kupinza uye kutumira kunze kwenyika kuburikidza neHTTP, mitsara yekuraira maturusi kana admin panel? Aihwa. Iwe unongokwanisa kutumira kunze uye kutumira data kuGoogle Cloud Storage. Ndozvazvinonzi zvino, ndinofunga. Uye pandinoti "iwe," ndiri kutaura chete kune avo vane Projekiti Muridzi. Vamwe vese vanogona kuenda kunogadzira matikiti."

Sezvauri kuona, iyo FireBase data modhi iri nyore kutsanangura. Iine gwaro guru reJSON rinobatanidza makiyi eJSON nema URL enzira. Kana ukanyora ne HTTP PUT Π² / FireBase ndiyo inotevera:

{
  "hello": "world"
}

The GET /hello achadzoka "world". Chaizvoizvo inoshanda sezvaungatarisira. Kuunganidzwa kweFireBase zvinhu /my-collection/:id yakaenzana neduramazwi reJSON {"my-collection": {...}} mumudzi, zviri mukati mazvo zvinowanikwa mukati /my-collection:

{
  "id1": {...object},
  "id2": {...object},
  "id3": {...object},
  // ...
}

Izvi zvinoshanda zvakanaka kana imwe neimwe yekuisa iine ID isina kudhumhana, iyo system ine yakajairwa mhinduro.

Mune mamwe mazwi, dhatabhesi i100% JSON(*) inoenderana uye inoshanda zvikuru neHTTP, yakadai seCouchDB. Asi chaizvo unoishandisa kuburikidza neiyo-chaiyo-nguva API iyo inobvisa websockets, mvumo, uye kunyoreswa. Iyo admin panel ine zvese zvinogoneka, zvichibvumira zvese-chaiyo-nguva kugadzirisa uye JSON kupinza / kutumira kunze. Kana iwe ukaita zvimwe chete mune yako kodhi, iwe unozoshamisika kuti yakawanda sei kodhi kodhi icharaswa kana iwe ukaona kuti chigamba uye diff JSON inogadzirisa makumi mapfumbamwe muzana emabasa enguva dzose ekubata inoshingirira.

Iyo Firestore data modhi yakafanana neJSON, asi inosiyana mune dzimwe nzira dzakakomba. Ndakatotaura nezvekushaikwa kwezvirongwa mukati mezvirongwa. Iyo modhi yemadiki-kuunganidzwa ndeyekuti ivo ive yekutanga kirasi pfungwa, yakaparadzaniswa negwaro reJSON rine iwo. Sezvo pasina kugadzirira-yakagadzirwa serialization yeizvi, yakasarudzika kodhi nzira inodiwa kudzoreredza nekunyora data. Kuti ugadzirise kuunganidza kwako pachako, unofanirwa kunyora zvinyorwa zvako uye zvishandiso. Iyo admin pani inongobvumidza iwe kuti uite shanduko diki imwe munda panguva, uye haina ekunze / kutumira kunze.

Ivo vakatora chaiyo-nguva NoSQL dhatabhesi ndokuishandura kuita inononoka isiri-SQL ine auto-join uye yakaparadzana isiri-JSON column. Chimwe chinhu chakaita seGraftQL.

Database iri riri kutsva...

Vadivelu Comedy Hot Java

Kana Firestore yaifanirwa kuve yakavimbika uye scalable, saka shura nderokuti avhareji mugadziri anozopedzisira aine mhinduro isingavimbike pane kusarudza FireBase kunze kwebhokisi. Iyo mhando yesoftware inodiwa neGrumpy Database Administrator inoda mwero wekuedza uye caliber yetarenda izvo zvisingaite kune iyo niche chigadzirwa chinofanirwa kuve chakanaka. Izvi zvakafanana nekuti HTML5 Canvas haisi yekutsiva Flash zvachose kana pasina maturusi ekusimudzira uye mutambi. Zvakare, Firestore yakanyura muchishuwo chekuchena kwedata uye kusimba kusimbiswa izvo zvisingaenderane neavhareji mushandisi webhizinesi. anoda kushanda: kwaari zvinhu zvose zvingasarudzwa, nokuti kusvika pakupedzisira zvinhu zvose ndezvekunyora.

Chinhu chikuru chakashata cheFireBase ndechekuti mutengi akagadzirwa makore akati wandei pamberi penguva yayo, vazhinji vevagadziri vewebhu vasati vaziva nezve kusachinjika. Nekuda kweizvi, FireBase inofunga kuti iwe uchachinja iyo data uye saka haitore mukana wekusachinjika kwakapihwa nemushandisi. Pamusoro pezvo, haishandise zvakare data iri mumifananidzo yainopfuudza kumushandisi, izvo zvinoita kuti kusiyana kwakanyanya kuome. Kune magwaro mahombe, inochinjika diff-based transaction mechanism haina kukwana. Varume tatova nazvo WeakMap muJavaScript. Zviri nyore.

Kana iwe ukapa iyo data chimiro chaunoda uye usingaite kuti miti iwedzere kuwanda, saka dambudziko iri rinogona kutenderedzwa. Asi ndiri kuda kuziva kana FireBase inganyanya kunakidza kana vagadziri vakaburitsa yakanaka chaizvo mutengi API iyo yakashandisa kusachinjika yakasanganiswa nemamwe akakomba mazano anoshanda padhizaini dhizaini. Pane kudaro, vaiita sevaiedza kugadzirisa zvakanga zvisina kuputsika, uye izvozvo zvakaita kuti zvinyanye kuipa.

Ini handizive zvese zvine musoro kumashure kwekugadzirwa kweFirestore. Kufungidzira nezvezvinangwa zvinomuka mukati mebhokisi dema zvakare chikamu chekunakidzwa. Uku kusanganiswa kwemaviri akafanana asi asingaenzaniswi dhatabhesi haawanzo. Zvakafanana nemumwe munhu akafunga: "Firebase ingori basa ratinogona kutevedzera muGoogle Cloud", asi haisati yawana pfungwa yekuziva zvinodiwa nenyika chaiyo kana kugadzira mhinduro dzinoita zvese izvo zvinodiwa. β€œRegai vanogadzira vafunge nezvazvo. Ingoita kuti UI inake... Unogona kuwedzera moto here?”

Ini ndinonzwisisa zvishoma zvinhu nezve data zvimiro. Ini zvechokwadi ndinoona iyo "zvese mune imwe hombe yemuti weJSON" pfungwa seyedzero yekubvisa chero pfungwa yehukuru-hukuru chimiro kubva kune dhatabhesi. Kutarisira software kuti ingotarisana nechero inokahadzika data chimiro fractal inopenga chete. Ini handitombofanire kufungidzira kuti zvinhu zvakaipa zvingave sei, ndakaita hutsinye kodhi ongororo uye Ndakaona zvinhu zvamusina kumborota imi vanhu. Asi ini ndozivawo kuti zvimiro zvakanaka zvinotaridzika sei, mashandisirwo azvo ΠΈ sei izvi zvichifanira kuitwa. Ndinogona kufungidzira nyika iyo Firestore yaizoita seine musoro uye vanhu vakaigadzira vangafunga kuti vakaita basa rakanaka. Asi hatigari munyika ino.

FireBase's query rutsigiro haina kunaka chero chiyero uye haipo. Inoda kuvandudzwa kana kudzokororwa. Asi Firestore haisi nani nekuti inongogumira kune imwechete-dimensional indexes inowanikwa mune yakajeka SQL. Kana iwe uchida mibvunzo iyo vanhu vanomhanya pane chaotic data, iwe unoda yakazara-mavara ekutsvaga, akawanda-siyana mafirita, uye tsika-inotsanangurwa mushandisi kurongeka. Paunenge wanyatsotarisisa, mabasa e plain SQL akanyanya kugumira ivo pachavo. Pamusoro pezvo, iyo chete SQL mibvunzo vanhu vanogona kumhanya mukugadzira mibvunzo inokurumidza. Iwe unozoda yakasarudzika indexing mhinduro ine inofunga data zvimiro. Kune zvimwe zvese, panofanirwa kunge paine kuwedzera mepu-kuderedza kana chimwe chinhu chakafanana.

Kana iwe ukatsvaga Google Docs kuti uwane ruzivo nezve izvi, iwe unovimba unongedzerwa munzira yechinhu chakaita seBigTable neBigQuery. Nekudaro, zvese izvi zvigadziriso zvinoperekedzwa neyakaomesesa corporate yekutengesa jargon zvekuti iwe unokurumidza kudzoka kumashure wotanga kutsvaga chimwe chinhu.

Chinhu chekupedzisira chaunoda nedhatabhesi chaiyo-nguva chinhu chakagadzirwa uye chevanhu vari pamanejimendi ekubhadhara zviyero.

(*) Uku kuseka, hakuna zvakadaro 100% JSON inoenderana.

Pamusoro pekodzero dzekutsvaga

Kutsvaga VDS yemapurojekiti ekugadzirisa, sevha yekusimudzira uye yekutambira? Iwe zvechokwadi uri mutengi wedu πŸ™‚ Mitengo yemazuva ese yemaseva eakasiyana masisitimu, anti-DDoS uye Windows marezinesi akatoverengerwa mumutengo.

Database iri riri kutsva...

Source: www.habr.com

Voeg