Tá an bunachar sonraí seo trí thine...

Tá an bunachar sonraí seo trí thine...

Lig dom scéal teicniúil a insint.

Na blianta fada ó shin, bhí feidhmchlár á fhorbairt agam le gnéithe comhoibrithe ionsuite ann. Stack turgnamhach éasca le húsáid a bhí ann a bhain leas as lánacmhainneacht React agus CouchDB go luath. Rinne sé sonraí a shioncronú i bhfíor-am trí JSON OT. Baineadh úsáid as go hinmheánach laistigh den chuideachta, ach bhí a infheidhmeacht leathan agus a acmhainneacht i réimsí eile soiléir.

Agus muid ag iarraidh an teicneolaíocht seo a dhíol le cliaint ionchasacha, thángamar ar chonstaic gan choinne. Sa físeán taispeána, d'fhéach ár dteicneolaíocht agus d'oibrigh sé go hiontach, gan aon fhadhbanna ann. Thaispeáin an físeán go cruinn conas a oibríonn sé agus níor aithris sé rud ar bith. Thángamar ar chás réalaíoch chun an clár a úsáid agus códaíodh é.

Tá an bunachar sonraí seo trí thine...
Go deimhin, tháinig sé seo ar an bhfadhb. D'oibrigh ár dtaispeántas go díreach ar an mbealach a rinne gach duine eile a gcuid feidhmeanna a insamhladh. Go sonrach, aistríodh faisnéis láithreach ó A go B, fiú más comhaid meán mór a bhí ann. Tar éis logáil isteach, chonaic gach úsáideoir iontrálacha nua. Ag baint úsáide as an bhfeidhmchlár, d'fhéadfadh úsáideoirí éagsúla oibriú le chéile go soiléir ar na tionscadail chéanna, fiú má cuireadh isteach ar an nasc Idirlín áit éigin sa sráidbhaile. Tá sé seo intuigthe go soiléir in aon fhíseán táirge a ghearrtar i After Effects.

Cé go raibh a fhios ag gach duine cad chuige a bhí an cnaipe Athnuaigh, níor thuig aon duine i ndáiríre go raibh na feidhmchláir ghréasáin a d'iarr siad orainn a thógáil de ghnáth faoi réir a gcuid teorainneacha féin. Agus más rud é nach bhfuil siad ag teastáil a thuilleadh, beidh an taithí úsáideora a bheith go hiomlán difriúil. Thug siad faoi deara den chuid is mó go bhféadfadh siad “comhrá” a dhéanamh trí nótaí a fhágáil do dhaoine a raibh siad ag caint leo, agus mar sin bhí siad ag smaoineamh ar conas a bhí sé seo difriúil ó, mar shampla, Slack. Phew!

Dearadh na sioncronaithe laethúla

Má tá taithí agat ar fhorbairt bogearraí, caithfidh sé a bheith imníoch a mheabhrú nach féidir leis an gcuid is mó daoine breathnú ar phictiúr de chomhéadan agus tuiscint a fháil ar cad a dhéanfaidh sé agus iad ag idirghníomhú leis. Gan trácht ar cad a tharlaíonn taobh istigh den chlár féin. Eolas go Is féidir Tarlaíonn sé go príomha mar thoradh ar fhios a bheith agat cad nach féidir a tharlóidh agus cad nár cheart a tharlóidh. Éilíonn sé seo múnla meabhrach ní hamháin cad a dhéanann na bogearraí, ach freisin conas a chomhordaítear a chuid páirteanna aonair agus cumarsáid a dhéanamh lena chéile.

Sampla clasaiceach de seo is ea úsáideoir ag stánadh ar a spinner.gif, ag fiafraí cén uair a bheidh an obair críochnaithe faoi dheireadh. Thuigfeadh an forbróir gur dócha go raibh an próiseas i bhfostú agus nach n-imíonn an gif den scáileán choíche. Samhlaíonn an beochan seo cur i gcrích poist, ach níl baint aige lena staid. I gcásanna den sórt sin, is maith le roinnt techies a súile a rolladh, iontas ar an méid mearbhall úsáideora. Tabhair faoi deara, áfach, cé mhéad acu a dhíríonn ar an gclog rothlach agus a rá go bhfuil sé ina stad?

Tá an bunachar sonraí seo trí thine...
Is é seo an croílár luach fíor-ama. Na laethanta seo, is beag úsáid a bhaintear as bunachair shonraí fíor-ama agus féachann go leor daoine orthu faoi amhras. Leanann an chuid is mó de na bunachair shonraí seo go mór le stíl NoSQL, agus is é sin an fáth go n-úsáideann siad réitigh atá bunaithe ar Mhongó de ghnáth, ar fearr a ndéantar dearmad orthu. Mar sin féin, dar liomsa ciallaíonn sé seo a bheith compordach ag obair le CouchDB, chomh maith le foghlaim conas struchtúir a dhearadh ar féidir le níos mó ná maorlathas áirithe a líonadh le sonraí. Sílim go bhfuil mé ag baint úsáide as mo chuid ama níos fearr.

Ach is é fíor-ábhar an phoist seo atá á úsáid agam inniu. Ní de rogha, ach mar gheall ar bheartais chorparáideacha a chuirtear i bhfeidhm go hindíreach agus go dall. Mar sin cuirfidh mé comparáid Iomlán Cothrom agus Neamhchlaonta ar fáil idir dhá tháirge bhunachar sonraí fíor-ama Google a bhfuil dlúthbhaint acu leo.

Tá an bunachar sonraí seo trí thine...
Tá an focal Tine ag an mbeirt ina n-ainmneacha. Rud amháin is cuimhin liom go ceanúil. Is é an dara rud domsa ná cineál difriúil tine. Níl aon deifir orm a n-ainmneacha a rá, mar a luaithe a dhéanfaidh mé, rachaidh muid isteach sa chéad fhadhb mhór: ainmneacha.

Tugtar an chéad cheann Bunachar sonraí Firebase fíor-ama saor in aisce,, agus an dara ceann - Firebase Cloud Firestore. Is táirgí ó Sraith Firebase Google. Tugtar a n-API faoi seach firebase.database(…) и firebase.firestore(…).

Tharla sé seo mar gheall ar Bunachar Sonraí Fíor-ama - níl ann ach an bunleagan Firebase sular cheannaigh Google é in 2014. Ansin chinn Google a chruthú mar tháirge comhthreomhar cóip Firebase bunaithe ar chuideachta sonraí mór, agus d'iarr sé Firestore le scamall. Tá súil agam nach bhfuil mearbhall ort fós. Má tá mearbhall ort fós, ná bí buartha, d’athscríobh mé féin an chuid seo den alt deich n-uaire.

Mar is gá duit a chur in iúl Firebase sa cheist Firebase, agus Siopa dóiteáin i gceist faoi Firebase, ar a laghad a dhéanamh leat a thuiscint cúpla bliain ó shin ar Stack Overflow.

Dá mbeadh dámhachtain ann don taithí ainmníochta bogearraí is measa, is cinnte go mbeadh sé seo ar cheann de na hiomaitheoirí. Tá an t-achar Hamming idir na hainmneacha seo chomh beag sin go gcuireann sé mearbhall ar fiú innealtóirí a bhfuil taithí acu a bhfuil a méar ag clóscríobh ainm amháin agus a gceann ag smaoineamh ar ainm eile. Is pleananna dea-intinn iad seo a dteipeann go mór orthu; chomhlíon siad an tuar go mbeadh an bunachar sonraí trí thine. Agus níl mé ag magadh ar chor ar bith. Bhí fuil, allas agus deora mar gheall ar an té a tháinig aníos leis an scéim ainmniúcháin seo.

Tá an bunachar sonraí seo trí thine...

Bua Pyrrhic

Shílfeá go bhfuil Firestore athsholáthair Firebase, a shliocht den chéad ghlúin eile, ach bheadh ​​sé sin míthreorach. Ní ráthaítear go mbeidh Firestore ina ionad oiriúnach do Firebase. Breathnaíonn sé cosúil le duine éigin a ghearradh amach gach rud suimiúil as é, agus an chuid is mó mearbhall ar bhealaí éagsúla.

Mar sin féin, féadfaidh sracfhéachaint thapa ar an dá tháirge mearbhall a chur ort: is cosúil go ndéanann siad an rud céanna, go bunúsach trí na APIanna céanna agus fiú sa seisiún bunachar sonraí céanna. Tá na difríochtaí caolchúiseach agus ní nochtar iad ach trí staidéar comparáideach cúramach a dhéanamh ar dhoiciméadú fairsing. Nó nuair atá tú ag iarraidh cód a phortáil a oibríonn go foirfe ar Firebase ionas go n-oibríonn sé le Firestore. Fiú ansin faigheann tú amach go lasann comhéadan an bhunachair shonraí chomh luath agus a dhéanann tú iarracht an luch a tharraingt agus a scaoileadh i bhfíor-am. Arís agus arís eile mé, níl mé ag magadh.

Tá cliant Firebase dea-bhéasach sa chiall go maolaíonn sé athruithe agus go ndéanann sé nuashonruithe go huathoibríoch a thugann tús áite don oibríocht scríofa deiridh. Mar sin féin, tá teorainn 1 oibríocht scríofa in aghaidh an doiciméid in aghaidh an úsáideora in aghaidh an tsoicind ag Firestore, agus cuireann an freastalaí an teorainn seo i bhfeidhm. Agus tú ag obair leis, caithfidh tú bealach a aimsiú timpeall air agus teorannóir ráta nuashonraithe a chur i bhfeidhm, fiú nuair nach bhfuil tú ach ag iarraidh d'iarratas a thógáil. Is é sin, is bunachar sonraí fíor-ama é Firestore gan cliant fíor-ama, a masquerades mar aon ní amháin ag baint úsáide as API.

Anseo tosaímid ar na chéad chomharthaí de raison d'être de chuid Firestore a fheiceáil. Seans go bhfuil mé mícheart, ach tá amhras orm gur bhreathnaigh duine éigin ard i mbainistíocht Google ar Firebase tar éis an cheannaigh agus go ndúirt sé go simplí, “Ní hea, a Dhia, ní hea. Tá sé seo do-ghlactha. Díreach nach bhfuil faoi mo cheannaireacht."

Tá an bunachar sonraí seo trí thine...
Tháinig sé chun solais óna seomraí agus dúirt:

“Cáipéis mhór amháin JSON? Níl. Roinnfidh tú na sonraí i ndoiciméid ar leith, agus ní bheidh gach ceann acu níos mó ná meigibheart amháin."

Dealraíonn sé nach mairfidh a leithéid de theorannú an chéad teagmháil le haon bhonn úsáideora atá spreagtha go leor. Tá a fhios agat go bhfuil. Ag an obair, mar shampla, ní mór dúinn níos mó ná míle go leith cur i láthair, agus tá sé seo go hiomlán Gnáth.

Leis an teorannú seo, beidh ort glacadh leis an bhfíric nach mbeidh "doiciméad" amháin sa bhunachar sonraí cosúil le haon réad a bhféadfadh úsáideoir glaoch ar dhoiciméad.

“Earraí eagair ar féidir leo gnéithe eile a chuimsiú go hathchúrsach? Níl. Ní bheidh in eagair ach réada fad seasta nó uimhreacha, mar a bhí beartaithe ag Dia."

Mar sin má bhí tú ag súil GeoJSON a chur isteach i do Firestore, gheobhaidh tú amach nach féidir é seo a dhéanamh. Níl aon rud neamh-aontoiseach inghlactha. Tá súil agam gur mhaith leat Base64 agus / nó JSON laistigh de JSON.

“Iompórtáil agus easpórtáil JSON trí HTTP, uirlisí líne ordaithe nó painéal riaracháin? Níl. Ní bheidh tú in ann ach sonraí a onnmhairiú agus a allmhairiú chuig Google Cloud Storage. Sin mar a thugtar air anois, sílim. Agus nuair a deirim “tú,” nílim ag tabhairt aghaidh ach orthu siúd a bhfuil dintiúir Úinéir Tionscadail acu. Is féidir le gach duine eile dul agus ticéid a chruthú."

Mar a fheiceann tú, is furasta cur síos a dhéanamh ar mhúnla sonraí FireBase. Tá doiciméad JSON ollmhór amháin ann a nascann eochracha JSON le cosáin URL. Má scríobhann tú le HTTP PUT в / Seo a leanas FireBase:

{
  "hello": "world"
}

An GET /hello fillfidh "world". Go bunúsach oibríonn sé go díreach mar a bheifeá ag súil leis. Bailiúchán de rudaí FireBase /my-collection/:id comhionann le foclóir JSON {"my-collection": {...}} sa fhréamh, a bhfuil a inneachar ar fáil i /my-collection:

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

Oibríonn sé seo go breá má tá ID saor ó imbhualadh ag gach ionsá, a bhfuil réiteach caighdeánach ag an gcóras dó.

I bhfocail eile, tá an bunachar sonraí 100% JSON(*) comhoiriúnach agus oibríonn sé go hiontach le HTTP, mar CouchDB. Ach go bunúsach úsáideann tú é trí API fíor-ama a achoimríonn soicéid gréasáin, údarú, agus síntiúis. Tá an dá chumas ag an bpainéal riaracháin, rud a cheadaíonn eagarthóireacht fíor-ama agus allmhairiú/easpórtáil JSON. Má dhéanann tú mar an gcéanna i do chód, beidh iontas ort cé mhéad cód speisialaithe a chur amú nuair a thuigeann tú go réitíonn paiste agus difr JSON 90% de na gnáth-thascanna a bhaineann le láimhseáil staid mharthanach.

Tá samhail sonraí Firestore cosúil le JSON, ach tá sé difriúil ar roinnt bealaí ríthábhachtacha. Luaigh mé cheana féin an easpa eagair laistigh d'eagair. Is é an tsamhail d’fhobhailiúcháin ná gur coincheapa den chéad scoth iad, ar leithligh ón doiciméad JSON ina bhfuil iad. Ós rud é nach bhfuil sraithiú réamhdhéanta ann chuige seo, tá gá le conair sainchóid chun sonraí a aisghabháil agus a scríobh. Chun do bhailiúcháin féin a phróiseáil, ní mór duit do chuid scripteanna agus uirlisí féin a scríobh. Ní cheadaíonn an painéal riaracháin duit ach athruithe beaga a dhéanamh ar réimse amháin ag an am, agus níl cumais iompórtála/easpórtála agat.

Thóg siad bunachar sonraí NoSQL fíor-ama agus d'iompaigh siad isteach i mall neamh-SQL le auto-ceangal agus colún neamh-JSON ar leith. Rud éigin cosúil le GraftQL.

Tá an bunachar sonraí seo trí thine...

Java te

Más rud é go raibh Firestore ceaptha a bheith níos iontaofa agus níos Inscálaithe, is é an íoróin ná go mbeidh réiteach níos lú iontaofa ag an bhforbróir meánach ná mar a roghnaíonn sé FireBase as an mbosca. Éilíonn an cineál bogearraí a theastaíonn ón Riarthóir Bunachar Sonraí Grumpy leibhéal iarrachta agus cumas tallainne atá neamhréadúil don nideoige a bhfuil an táirge ceaptha a bheith go maith ag baint leis. Tá sé seo cosúil leis an gcaoi nach bhfuil HTML5 Canvas in ionad Flash ar chor ar bith mura bhfuil uirlisí forbartha agus imreoir ann. Ina theannta sin, tá Firestore meallta ag dúil le haghaidh íonachta sonraí agus bailíochtú steiriúil nach bhfuil ag teacht leis an ngnáth-úsáideoir gnó Is breá leis a bheith ag obair: dó tá gach rud roghnach, mar go dtí deireadh gach rud dréacht.

Is é an príomh-mhíbhuntáiste a bhaineann le FireBase ná gur cruthaíodh an cliant roinnt blianta chun tosaigh ar a chuid ama, sula raibh a fhios ag an chuid is mó d'fhorbróirí gréasáin faoi neamh-inaistritheacht. Mar gheall air seo, glacann FireBase leis go n-athróidh tú na sonraí agus dá bhrí sin ní bhaineann sé leas as do-inaistritheacht a sholáthraíonn an t-úsáideoir. Ina theannta sin, ní athúsáideann sé na sonraí sna pictiúir a chuireann sé ar aghaidh chuig an úsáideoir, rud a fhágann go bhfuil difríocht i bhfad níos deacra. Maidir le doiciméid mhóra, níl a mheicníocht idirbhirt atá bunaithe ar dhifríochtaí mutable sách leordhóthanach. Guys, ní mór dúinn cheana féin WeakMap i JavaScript. Tá sé compordach.

Má thugann tú an cruth atá ag teastáil ar na sonraí agus nach ndéanann tú na crainn ró-toirtiúil, ansin is féidir an fhadhb seo a shárú. Ach táim fiosrach an mbeadh FireBase i bhfad níos suimiúla dá scaoilfeadh na forbróirí API cliant fíor-mhaith a bhain úsáid as neamh-inaistritheacht in éineacht le roinnt comhairle phraiticiúil thromchúiseach maidir le dearadh bunachar sonraí. Ina áit sin, ba chosúil go ndearna siad iarracht an rud nár briseadh a shocrú, agus rinne sé sin níos measa.

Níl a fhios agam an loighic go léir taobh thiar de chruthú Firestore. Is cuid den spraoi freisin é tuairimíocht a dhéanamh faoi na cúiseanna a thagann chun cinn taobh istigh den bhosca dubh. Is annamh a bhíonn an neas-suíomh seo de dhá bhunachar sonraí atá an-chosúil le chéile ach nach bhfuil inchomparáide leo. Amhail is dá mba rud é gur shíl duine: "Is feidhm é Firebase ar féidir linn aithris a dhéanamh uirthi in Google Cloud", ach níl sé tar éis teacht ar an gcoincheap go fóill maidir le ceanglais fhíorshaolacha a shainaithint nó réitigh úsáideacha a chruthú a chomhlíonann na ceanglais sin go léir. “Lig do na forbróirí smaoineamh air. Déan an Chomhéadain go hálainn ... An féidir leat níos mó tine a chur leis?"

Tuigim cúpla rud faoi struchtúir sonraí. Is cinnte go bhfeicim an coincheap "gach rud i gcrann JSON mór" mar iarracht chun aon chiall ar struchtúr mórscála a bhaint as an mbunachar sonraí. Tá sé dÚsachtach a bheith ag súil le bogearraí chun déileáil go simplí le haon struchtúr sonraí amhrasach fractal. Ní chaithfidh mé fiú a shamhlú cé chomh dona agus a d'fhéadfadh rudaí a bheith, tá iniúchtaí cód déine déanta agam agus Chonaic mé rudaí nár shamhlaigh daoine riamh fúthu. Ach tá a fhios agam freisin cén chuma atá ar struchtúir mhaithe, conas iad a úsáid и cén fáth ar chóir é seo a dhéanamh. Is féidir liom domhan a shamhlú ina mbeadh cuma loighciúil ar Firestore agus go gceapfadh na daoine a chruthaigh é go ndearna siad jab maith. Ach nílimid inár gcónaí sa saol seo.

Tá an tacaíocht do cheisteanna FireBase lag ar aon chaighdeáin agus beagnach gan a bheith ann. Is cinnte go dteastaíonn feabhsú nó ar a laghad athbhreithniú air. Ach níl Firestore i bhfad níos fearr mar tá sé teoranta do na hinnéacsanna aontoiseacha céanna le fáil i gnáth SQL. Má theastaíonn fiosrúcháin uait a ritheann daoine ar shonraí chaotic, beidh cuardach téacs iomlán, scagairí ilraoin, agus ordú sainithe ag an úsáideoir de dhíth ort. Tar éis iniúchadh níos dlúithe a dhéanamh, tá feidhmeanna gnáth-SQL ró-theoranta ina n-aonar. Ina theannta sin, is iad na ceisteanna SQL amháin is féidir le daoine a reáchtáil i dtáirgeadh ceisteanna tapa. Beidh réiteach innéacsaithe saincheaptha uait le struchtúir sonraí mhachnamhacha. I gcás gach rud eile, ba chóir go mbeadh laghdú incriminteach léarscáile nó rud éigin cosúil leis.

Má chuardaíonn tú Google Docs le haghaidh faisnéise faoi seo, tá súil againn go ndíreofar tú i dtreo rud éigin ar nós BigTable agus BigQuery. Mar sin féin, tá an oiread sin béarlagair díolacháin chorparáideach dlúth ag gabháil leis na réitigh seo go léir go dtiocfaidh tú ar ais go tapa agus go dtosóidh tú ag lorg rud éigin eile.

Is é an rud deireanach atá uait le bunachar sonraí fíor-ama ná rud a rinne daoine ar scálaí pá bainistíochta agus ar a son.

(*) Is magadh é seo, there is no such thing as 100% JSON comhoiriúnach.

Ar Chearta Fógraíocht

Ag lorg VDS do thionscadail debugging, freastalaí le haghaidh forbartha agus óstáil? Is cinnte gurb é ár gcliant 🙂 Tá praghsáil laethúil do fhreastalaithe de chumraíochtaí éagsúla, ceadúnais frith-DDoS agus Windows san áireamh sa phraghas cheana féin.

Tá an bunachar sonraí seo trí thine...

Foinse: will.com

Add a comment