Database ena e chabile...

Database ena e chabile...

E re ke bolele pale ea tekheniki.

Lilemong tse ngata tse fetileng, ke ne ke ntse ke etsa kopo e nang le likarolo tsa tšebelisano-'moho e hahiloeng ho eona. E ne e le pokello ea liteko e bonolo ho basebelisi e nkile monyetla oa bokhoni bo felletseng ba React le CouchDB ea pele. E hokahanya data ka nako ea nnete ka JSON OT. E ne e sebelisoa ka hare ho k'hamphani, empa tšebeliso ea eona e pharaletseng le bokhoni ba eona libakeng tse ling e ne e hlakile.

Ha re ntse re leka ho rekisa theknoloji ena ho bareki bao e ka bang bareki, re ile ra kopana le tšitiso e neng e sa lebelloa. Ka video ea demo, theknoloji ea rona e ne e shebahala ebile e sebetsa hantle, ho se na mathata moo. Video eo e bontšitse hantle hore na e sebetsa joang mme ha ea ka ea etsisa letho. Re ile ra tla le ho ngola boemo ba sebele ba ho sebelisa lenaneo.

Database ena e chabile...
Ha e le hantle, sena e ile ea e-ba bothata. Demo ea rona e sebelitse hantle ka tsela eo motho e mong le e mong a entseng lits'ebetso tsa bona. Ka ho khetheha, boitsebiso bo ile ba fetisoa hang-hang ho tloha ho A ho ea ho B, le haeba e ne e le lifaele tse kholo tsa mecha ea litaba. Kamora ho kena, mosebelisi e mong le e mong o bone likenyo tse ncha. Ka ho sebelisa ts'ebeliso, basebelisi ba fapaneng ba ne ba ka sebetsa 'moho ka mokhoa o hlakileng mererong e tšoanang, le haeba khokahano ea Marang-rang e ne e sitisoa kae-kae motseng. Sena se hlalosoa ka mokhoa o hlakileng ho sehlahisoa sefe kapa sefe sa video se sehiloeng ho After Effects.

Leha e mong le e mong a ne a tseba hore na konopo ea Refresh ke ea eng, ha ho motho ea hlileng a utloisisang hore lits'ebetso tsa marang-rang tseo ba re kopileng hore re li hahe hangata li ne li ipapisitse le mefokolo ea bona. Le hore haeba li se li sa hlokahale, phihlelo ea mosebedisi e tla fapana ka ho feletseng. Ba hlokometse haholo hore ba ka "qoqa" ka ho siea lintlha ho batho bao ba buang le bona, kahoo ba ipotsa hore na sena se fapane joang le, mohlala, Slack. Phew!

Moralo oa li-sync tsa letsatsi le letsatsi

Haeba u na le boiphihlelo ho nts'etsopele ea software, e tlameha ho ba ho sithabetsang ho hopola hore batho ba bangata ba ke ke ba sheba feela setšoantšo sa sebopeho mme ba utloisisa seo se tla se etsa ha se sebelisana le sona. Re sa bue ka se etsahalang ka har'a lenaneo ka boeona. Tsebo eo ka ho etsahala hangata ke phello ea ho tseba se ke keng sa etsahala le se sa tlamehang ho etsahala. Sena se hloka mohlala oa kelello eseng feela seo software e se etsang, empa hape le hore na likarolo tsa eona ka bomong li hokahanngoa le ho buisana joang.

Mohlala oa khale oa sena ke mosebelisi ea shebileng a spinner.gif, ba ntse ba ipotsa hore na mosebetsi oo o tla phethoa neng. Moqapi a ka be a hlokometse hore ts'ebetso e kanna ea ts'oaroa le hore gif e ke ke ea nyamela skrineng. Papali ena e etsisa ts'ebetso ea mosebetsi, empa ha e amane le boemo ba eona. Maemong a joalo, li-techies tse ling li rata ho theola mahlo, li hlolloa ke boholo ba pherekano ea basebelisi. Leha ho le joalo, hlokomela hore na ke ba bakae ba bona ba supang oache e potolohang ’me ba re ha e le hantle e eme?

Database ena e chabile...
Sena ke motheo oa boleng ba nako ea sebele. Matsatsing ana, li-database tsa nako ea sebele li ntse li sebelisoa hanyenyane haholo 'me batho ba bangata ba li talima ka lipelaelo. Boholo ba li-database tsena li itšetlehile haholo ka mokhoa oa NoSQL, ke kahoo hangata ba sebelisang litharollo tse thehiloeng ho Mongo, tse lebetsoeng hantle. Leha ho le joalo, ho 'na sena se bolela ho phutholoha ho sebetsa le CouchDB, hammoho le ho ithuta ho rala meaho eo ho feta ofisiri e itseng feela e ka e tlatsang ka data. Ke nahana hore ke sebelisa nako ea ka hamolemo.

Empa sehlooho sa 'nete sa poso ena ke seo ke se sebelisang kajeno. Eseng ka boikhethelo, empa ka lebaka la maano a khoebo a khoebo a neng a sebelisoa ka mokhoa o sa tsotelleng le ka bofofu. Kahoo ke tla fana ka papiso e nepahetseng le e hlokang leeme ea lihlahisoa tse peli tsa Google tsa nako ea nnete tse amanang haholo.

Database ena e chabile...
Bobeli ba na le lentsoe Mollo mabitsong a bona. Ntho e le 'ngoe eo ke e hopolang ka thabo. Ntho ea bobeli ho 'na ke mofuta o fapaneng oa mollo. Ha ke potlakele ho bolela mabitso a bona, hobane hang ha ke etsa joalo, re tla thulana le bothata ba pele bo boholo: mabitso.

Ea pele e bitsoa Database ea Nako ea 'Nete ea Firebase, le ea bobeli - Firebase Cloud Firestore. Ka bobeli ke lihlahisoa tse tsoang ho Firebase suite Google. Li-API tsa bona li bitsoa ka ho latellana firebase.database(…) и firebase.firestore(…).

Sena se etsahetse hobane Database ea Nako ea 'Nete - ke ea pele feela Setsi sa mollo pele e rekoa ke Google ka 2014. Joale Google e nkile qeto ea ho theha e le sehlahisoa se ts'oanang kopitsa Firebase e ipapisitse le khamphani e kholo ea data, mme e e bitsitse Firestore ka leru. Ke tšepa hore ha u e-s'o ferekane. Haeba u ntse u ferekanngoa, u se ke ua tšoenyeha, ke ile ka ngola karolo ena ea sehlooho ka makhetlo a leshome hape.

Hobane o hloka ho bonts'a Setsi sa mollo ka potso ea Firebase, le Sebaka sa mollo potsong e mabapi le Firebase, bonyane ho etsa hore u utloisise lilemo tse 'maloa tse fetileng ho Stack Overflow.

Haeba ho ne ho e-na le khau bakeng sa phihlelo e mpe ka ho fetisisa ea ho reha lebitso la software, ka sebele enoa e ne e tla ba e mong oa bahanyetsi. Sebaka sa Hamming pakeng tsa mabitso ana se senyenyane hoo se ferekanyang le baenjiniere ba nang le phihlelo, bao menoana ea bona e ngolang lebitso le leng ha lihlooho tsa bona li ntse li nahana ka le leng. Tsena ke merero e reriloeng hantle e hlolehang habohloko; ba ile ba phethahatsa boprofeta ba hore database e tla cha. Mme ha ke etse motlae ho hang. Motho ea tlileng ka morero ona oa ho reha mabitso o ile a baka mali, mofufutso le meokho.

Database ena e chabile...

Tlhōlo ea Pyrrhic

Motho a ka nahana hore Firestore e phetoho Firebase, moloko oa eona o latelang, empa hoo e ka ba ho khelosa. Firestore ha e na tiisetso ea ho ba sebaka se loketseng sa Firebase. Ho bonahala eka motho o ile a khaola ntho e 'ngoe le e' ngoe e thahasellisang ho eona, 'me a ferekanya boholo ba ba bang ka litsela tse sa tšoaneng.

Leha ho le joalo, ho sheba ka potlako lihlahisoa tsena tse peli ho ka 'na ha u ferekanya: ho bonahala eka li etsa ntho e tšoanang, ka li-API tse tšoanang esita le sebokeng se le seng sa database. Liphapang li poteletseng 'me li senoloa feela ka boithuto bo hlokolosi ba ho bapisa litokomane tse pharaletseng. Kapa ha u leka ho kenya khoutu e sebetsang hantle ho Firebase e le hore e sebetse le Firestore. Leha ho le joalo u fumana hore segokanyimmediamentsi sa sebolokigolo se bonesa hang ha o leka ho hula le ho theola mouse ka nako ea nnete. Kea pheta, ha ke soasoe.

Moreki oa Firebase o na le mekhoa e metle ka kutloisiso ea hore o thibela liphetoho 'me o leka ka bohona lintlafatso tse etelletsang pele tšebetso ea ho qetela ea ho ngola. Leha ho le joalo, Firestore e na le moeli oa ts'ebetso ea 1 ea ho ngola ka tokomane ka mosebelisi motsotsoana, 'me moeli ona o tiisetsoa ke seva. Ha o sebetsa le eona, ho ho uena ho fumana mokhoa oa ho e potoloha le ho kenya ts'ebetsong sethibelo sa sekhahla sa ntlafatso, leha o ntse o leka ho theha sesebelisoa sa hau. Ke hore, Firestore ke database ea nako ea nnete ntle le moreki oa nako ea nnete, ea iketsang motho ea sebelisang API.

Mona re qala ho bona matšoao a pele a Raison d'être ea Firestore. Mohlomong ke fositse, empa ke belaela hore motho e mong ea phahameng tsamaisong ea Google o ile a sheba Firebase ka mor'a ho reka eaba o re feela, “Che, Molimo oa ka, che. Sena ha se amohelehe. Eseng feela tlasa boetapele ba ka. "

Database ena e chabile...
A hlaha phaposing ya hae mme a re:

"Tokomane e le 'ngoe e kholo ea JSON? Che. U tla arola lintlha ka litokomane tse arohaneng, tseo e 'ngoe le e 'ngoe ea tsona e ke keng ea feta 1 megabyte ka boholo. "

Ho bonahala eka moeli o joalo o ke ke oa pholoha ho kopana ha pele le basebelisi ba nang le tšusumetso e lekaneng. Ua tseba ho joalo. Mosebetsing, mohlala, re na le lipuo tse fetang sekete le halofo, 'me sena se Tloaelehile ka ho Fetisisa.

Ka moedi ona, o tla tlameha ho amohela taba ea hore "tokomane" e le 'ngoe ho database e ke ke ea tšoana le ntho efe kapa efe eo mosebelisi a ka e bitsang tokomane.

"Mekhahlelo e mengata e ka bang le likarolo tse ling hape? Che. Li-arrays li tla ba le lintho kapa linomoro tsa bolelele bo tsitsitseng feela joalokaha Molimo a ne a rerile."

Kahoo haeba u ne u tšepile ho kenya GeoJSON ka lebenkeleng la hau la Mollo, u tla fumana hore sena ha se khonehe. Ha ho letho leo e seng lehlakore le le leng le amohelehang. Ke tšepa hore u rata Base64 le/kapa JSON ka hare ho JSON.

"JSON e kenya le ho romela thepa ka HTTP, lisebelisoa tsa mohala oa taelo kapa phanele ea tsamaiso? Che. U tla khona feela ho romela le ho kenya data ho Google Cloud Storage. Ke seo e se bitsang jwale, ke nahana jwalo. Mme ha ke re "uena," ke bua feela le ba nang le mangolo a bona a Beng ba Morero. Batho bohle ba ka ea ho etsa litekete. "

Joalokaha u bona, mohlala oa data oa FireBase o bonolo ho o hlalosa. E na le tokomane e le 'ngoe e kholo ea JSON e hokahanyang linotlolo tsa JSON le litsela tsa URL. Haeba u ngola le HTTP PUT в / FireBase ke tse latelang:

{
  "hello": "world"
}

Joale GET /hello e tla khutla "world". Ha e le hantle e sebetsa hantle kamoo u neng u ka lebella. Pokello ea lintho tsa FireBase /my-collection/:id e lekana le bukantswe ya JSON {"my-collection": {...}} ka motso, likahare tsa tsona li fumaneha ka /my-collection:

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

Sena se sebetsa hantle haeba ntho e 'ngoe le e 'ngoe e kentsoeng e na le ID e sa thulaneng, eo sistimi e nang le tharollo e tloaelehileng bakeng sa eona.

Ka mantsoe a mang, database e lumellana le 100% JSON(*) mme e sebetsa hantle ka HTTP, joalo ka CouchDB. Empa ha e le hantle u e sebelisa ka API ea nako ea nnete e hulang li-websockets, tumello le lipeeletso. Phanele ea tsamaiso e na le bokhoni ka bobeli, e lumellang ho hlophisoa ha nako ea nnete le ho kenya / ho romela kantle ho JSON. Haeba u etsa se tšoanang khoutu ea hau, u tla makatsoa ke hore na khoutu e khethehileng e tla senyeha hakae ha u hlokomela hore patch and diff JSON e rarolla 90% ea mesebetsi e tloaelehileng ea ho sebetsana le boemo bo tsitsitseng.

Moetso oa data oa Firestore o ts'oana le JSON, empa o fapana ka mekhoa e meng ea bohlokoa. Ke se ke boletse ho haella ha li-arrays ka har'a lihlopha. Mohlala oa likoleke tse nyane ke oa hore e be mehopolo ea sehlopha sa pele, e arohaneng le tokomane ea JSON e nang le tsona. Kaha ha ho na serialization e lokiselitsoeng bakeng sa sena, ho hlokahala tsela e khethehileng ea khoutu ho fumana le ho ngola data. Ho sebetsana le likoleke tsa hau, u hloka ho ngola mangolo le lisebelisoa tsa hau. Phanele ea tsamaiso e u lumella feela ho etsa liphetoho tse nyane tšimong e le 'ngoe ka nako,' me ha e na bokhoni ba ho kenya / ho romela kantle.

Ba ile ba nka database ea nako ea sebele ea NoSQL 'me ba e fetola butle-butle e seng SQL e nang le auto-join le kholomo e arohaneng eo e seng ea JSON. Ntho e kang GraftQL.

Database ena e chabile...

Java e chesang

Haeba Firestore e ne e lokela ho ba e ka tšeptjoang le e tsitsitseng haholoanyane, joale ntho e makatsang ke hore moqapi ea tloaelehileng o tla qetella a e-na le tharollo e fokolang ho feta ho khetha FireBase ka ntle ho lebokose. Mofuta oa software oo Grumpy Database Administrator a o hlokang o hloka boemo ba boikitlaetso le bokhoni ba talenta boo e seng ba nnete bakeng sa niche eo sehlahisoa se lokelang ho ba hantle ho sona. Sena se tšoana le kamoo HTML5 Canvas e seng sebaka sa Flash ho hang haeba ho se na lisebelisoa tsa nts'etsopele le sebapali. Ho feta moo, Firestore e ikakhetse ka setotsoana takatsong ea bohloeki ba data le netefatso e sa tsitsang e sa tsamaellaneng le kamoo mosebelisi ea tloaelehileng oa khoebo. rata ho sebetsa: ho eena ntho e 'ngoe le e' ngoe ke ea boikhethelo, hobane ho fihlela qetellong ntho e 'ngoe le e' ngoe ke moralo.

Bothata bo ka sehloohong ba FireBase ke hore moreki o entsoe lilemo tse 'maloa pele ho nako ea eona, pele baetsi ba marang-rang ba bangata ba tseba ka ho se fetohe. Ka lebaka lena, FireBase e nka hore o tla fetola data mme ka hona ha e nke monyetla oa ho se fetohe ho fanoeng ke mosebelisi. Ntle le moo, ha e sebelise data hape ho li-snapshots tseo e li fetisetsang ho mosebelisi, e leng se etsang hore diff e be thata le ho feta. Bakeng sa litokomane tse kholo, mokhoa oa eona o feto-fetohang oa diff-based transaction ha oa lekana. Banna, re se re ntse re e-na le eona WeakMap ho JavaScript. E phutholohile.

Haeba u fa data sebopeho se lakatsehang 'me u sa etse hore lifate li be ngata haholo, joale bothata bona bo ka qojoa. Empa ke labalabela ho tseba hore na FireBase e ka ba e khahlisang le ho feta haeba bahlahisi ba ka lokolla API e ntle haholo ea bareki e sebelisitseng ho se feto-fetohe ho kopantsoe le likeletso tse tebileng tse sebetsang mabapi le moralo oa database. Ho e-na le hoo, ho ne ho bonahala ba leka ho lokisa se neng se sa robeha, ’me seo se ile sa mpefatsa boemo le ho feta.

Ha ke tsebe mabaka ohle a entseng hore ho thehoe Firestore. Ho nahana ka sepheo se hlahang ka hare ho black box le hona ke karolo ea monate. Khokahano ena ea li-database tse peli tse ts'oanang empa tse ke keng tsa bapisoa ha ea tloaeleha. Ho joalo ka ha motho a nahana: "Firebase ke mosebetsi oo re ka o etsisang ho Google Cloud", empa ha e e-so fumane mohopolo oa ho tsebahatsa litlhoko tsa lefatše la sebele kapa ho theha litharollo tse sebetsang tse fihlelang litlhoko tseo kaofela. “E re bahlahisi ba nahane ka eona. Etsa hore UI e be ntle feela... A na u ka eketsa mollo o mong?”

Ke utloisisa lintho tse 'maloa mabapi le sebopeho sa data. Ka sebele ke bona "ntho e 'ngoe le e' ngoe sefateng se le seng se seholo sa JSON" e le boiteko ba ho tlosa moelelo leha e le ofe oa sebopeho se seholo ho tswa ho database. Ho lebella hore software e sebetsane le fractal efe kapa efe e belaetsang ea data ke bohlanya feela. Ha ke batle le ho nahana hore na lintho li ka ba mpe hakae, ke entse liphuputso tse matla tsa khoutu le Ke bone lintho tseo le sa kang la li lora. Empa hape kea tseba hore na meaho e metle e shebahala joang, mokhoa oa ho li sebelisa и hobaneng sena se lokela ho etswa. Nka inahanela lefatše leo ho lona Firestore e neng e tla bonahala e utloahala 'me batho ba e bōpileng ba ka nahana hore ba entse mosebetsi o motle. Empa ha re phele lefatšeng lena.

Tšehetso ea lipotso tsa FireBase ha e sebetse hantle ho latela maemo afe kapa afe 'me ha e eo. E hlile e hloka ntlafatso kapa bonyane ntlafatso. Empa Firestore ha e betere haholo hobane e lekantsoe ho li-index tse tšoanang tsa lehlakore le le leng tse fumanehang ho SQL e hlakileng. Haeba u hloka lipotso tseo batho ba li botsang ka data e ferekaneng, u hloka ho batla mongolo o felletseng, li-filters tsa mefuta e mengata, le liodara tse ikhethileng tsa basebelisi. Ha u shebisisa hantle, mesebetsi ea SQL e hlakileng e fokola haholo ka bo eona. Ho feta moo, lipotso feela tsa SQL tseo batho ba ka li botsang tlhahiso ke lipotso tse potlakileng. U tla hloka tharollo e ikhethileng ea indexing e nang le meaho e nahanang ea data. Bakeng sa ntho e 'ngoe le e' ngoe, bonyane ho lokela ho ba le phokotso ea 'mapa kapa ntho e tšoanang.

Haeba u batlisisa ho Google Docs bakeng sa tlhahisoleseling mabapi le sena, ka tšepo u tla suptjoa ka lehlakoreng la ntho e kang BigTable le BigQuery. Leha ho le joalo, litharollo tsena kaofela li tsamaisana le li-jargon tse ngata tse teteaneng tsa khoebo hoo u tla khutla kapele 'me u qale ho batla ho hong.

Ntho ea ho qetela eo u e batlang ka database ea nako ea sebele ke ntho e entsoeng ke batho ba likaleng tsa moputso oa tsamaiso.

(*) Sena ke motlae, ha ho na ntho e kang 100% JSON e lumellana.

E le papatso

Batlana le VDS bakeng sa merero ea ho lokisa liphoso, seva bakeng sa nts'etsopele le ho amohela baeti? Ka sebele u moreki oa rona 🙂 Litheko tsa letsatsi le letsatsi bakeng sa li-server tsa litlhophiso tse fapaneng, li-anti-DDoS le lilaesense tsa Windows li se li kenyelelitsoe theko.

Database ena e chabile...

Source: www.habr.com

Eketsa ka tlhaloso