Programiranje

Kako izbrati bazo podatkov za mobilne aplikacije

Današnji potrošniki so zelo odvisni od svojih mobilnih aplikacij. Če aplikacije ne delujejo, jih uporabniki ne bodo uporabljali - tako preprosto je.

Zahtevati internetno povezavo za mobilne aplikacije pomeni živeti v preteklosti. Če se aplikacije zanašajo na povezavo, je velika verjetnost, da bo izkušnja počasna in nepredvidljiva.

Da bi se izognili zanašanju na omrežje, so ponudniki baz podatkov in storitev v oblaku svojim mobilnim ponudbam dodali sinhronizacijo in zmogljivosti brez povezave. Rešitve, kot so Couchbase's Couchbase Mobile, Microsoftove storitve Azure Mobile Services, Amazon Cognito in Googlov Firebase, ponujajo najpomembnejšo sinhronizacijo, ki aplikacijam omogoča delo tako v spletu kot tudi brez njega.

Kako s toliko ponudbami na voljo, kako razvijalec mobilnih naprav izbere pravo tehnologijo za pravo aplikacijo? Naslednjih šest ključnih meril je najpomembnejših pri ocenjevanju mobilnih rešitev: podpora platformi, varnost, prilagodljivost modeliranja, reševanje konfliktov, optimizacija sinhronizacije in podpora topologiji.

Podpirajte prave odjemalske platforme

Katere odjemalske platforme so podprte? Ali morate preseči iOS in Android? Ali želite podpirati platforme, ki se tradicionalno ne štejejo za mobilne, na primer vdelane sisteme, naprave IoT in nosljive naprave? Ali želite podpirati tudi namizja in prenosnike Windows in OS X? Številne današnje aplikacije se zaženejo v mobilnih napravah, nato pa dodajo izvorno namizno ali spletno spremljevalno aplikacijo. Pomembno je, da ocenite možnosti baze podatkov in oblaka na podlagi podpore platforme, ki jo potrebujete ne samo danes, ampak tudi v prihodnosti.

Zavarujte podatke v mirovanju in v gibanju

Ko uporabljate sinhronizirano in decentralizirano shrambo, je pomembno, da varno dostopate do podatkov, jih prenašate in shranjujete. Če želite to v celoti pokriti, morate nasloviti preverjanje pristnosti, podatke v mirovanju, podatke v gibanju in dostop za branje / pisanje.

Preverjanje pristnosti mora biti prilagodljivo in mora omogočati uporabo standardnih, javnih ponudnikov in ponudnikov preverjanja pristnosti po meri. Podpora za anonimni dostop je pomembna tudi za številne aplikacije. Za podatke v mirovanju na strežniku in odjemalcu boste želeli podporo tako za šifriranje datotečnega sistema kot za šifriranje na ravni podatkov. Za podatke v gibanju mora biti komunikacija prek varnega kanala, kot je SSL ali TLS. Za dostop do branja / pisanja podatkov mora baza podatkov ponujati podroben nadzor nad tem, do katerih podatkov lahko uporabniki dostopajo in jih spreminjajo.

Uporabite prilagodljiv podatkovni model

Prilagodljivost modeliranja podatkov bo določala, ali lahko zahteve za model za svoje aplikacije artikulirate na učinkovit in primeren način. Še pomembneje je, da bo narekovalo, ali lahko svoj model razvijate učinkovito, ko se vaše zahteve spreminjajo naprej. Prožnost modela je posebej pomembna pri mobilnih napravah, saj se današnje mobilne aplikacije razvijajo zelo hitro.

Relacijske zbirke podatkov so še vedno dobra izbira, če aplikacija zahteva močno doslednost podatkov ali so njeni podatki zelo relacijski. Ko pa je te zahteve mogoče omiliti, imajo zbirke podatkov NoSQL veliko večjo prilagodljivost.

Elegantno rešite konflikte podatkov

Za mobilne platforme ali katero koli drugo platformo, ki uporablja decentralizirano zapisovanje podatkov, je mogoče iste podatke istočasno spremeniti na več napravah, kar ustvarja konflikt. Sistem mora podpirati mehanizem za reševanje teh konfliktov. Prilagodljivost mehanizma za reševanje sporov je pomembna in bi morala omogočati samodejno reševanje v napravi, v oblaku, zunanjem sistemu in človeku.

Obravnavanje sporov se bo za vsak sistem razlikovalo. Couchbase Mobile na primer uporablja drevesa revizij s privzetim pravilom ločljivosti "najbolj aktivne zmage vej." To je enak pristop, ki ga uporabljajo sistemi za nadzor revizij, kot je Git, in precej drugačen od sistemov, ki temeljijo na urah in uporabljajo pristop "najnovejše spremembe". Sistemi ločljivosti na podlagi ure so problematični zaradi težav z razlikami v urah med napravami. Couchbase omogoča tudi prilagajanje (s kodo na odjemalcu ali strežniku) za izvedbo bolj dovršenih rešitev konfliktov, kot je trosmerna združitev.

Sinhronizirajte ob pravem času

Poleg tega, da lahko rešite konflikte, je pomembno, da imate tudi možnost nadzora nad sinhronizacijo sistema. To vključuje strategijo podvajanja, pogojno podvajanje in filtriranje podvajanja. Za strategijo kopiranja poiščite podporo za pretakanje, anketiranje, enkratno, neprekinjeno in potiskanje. Morali bi imeti tudi možnost uporabe kombinacije teh strategij. Za pogojno kopiranje boste morda morali podvajati podatke samo pod določenimi pogoji, na primer, ko je naprava v omrežju Wi-Fi ali če ima dovolj baterije. Za filtriranje podvajanja bi morali imeti možnost kopiranja nekaterih podatkov, drugih podatkov pa ne.

Sinhronizirajte s pravimi particijami

Podpora za topologijo sinhronizacije je nastavljiva, da lahko izpolnite svoje zahteve glede particije. Z drugimi besedami, sistem morate konfigurirati tako, da lahko določenim delom omogoči delovanje brez povezave. Najpogostejša topologija je zvezda. V topologiji zvezde je vsaka naprava povezana s centralnim zvezdiščem s povezavo od točke do točke, ki omogoča, da naprave delujejo brez povezave. Druge običajne topologije, kot sta drevo in mreža, omogočajo različnim delom sistema (poleg naprav) delovanje brez povezave. Morda boste želeli tudi podporo za topologije brez oblaka, ki omogočajo napravam, da medsebojno komunicirajo med seboj in neposredno sinhronizirajo podatke.

Sistem POS (prodajno mesto) je dober primer drevesne topologije. POS sistemi zahtevajo, da trgovina z opeko in malto še naprej deluje, če se odklopi od preostalega sistema. V tej konfiguraciji bi se POS naprave sinhronizirale z bazo podatkov na ravni trgovine, ki bi se sinhronizirale z globalnim sistemom. Tako bi lahko trgovine še naprej delovale in sinhronizirale podatke s svojimi POS napravami, ne glede na povezavo z globalnim sistemom.

Ali graditi sinhronizacijo ali kupiti

Ko želite dodati sinhronizacijo svojim aplikacijam, boste morali ugotoviti, ali bi morali zgraditi rešitev ali jo dobiti pri ponudniku. Pravilna gradnja sinhronizacije je zelo težka in draga, saj se mora spoprijeti z vsemi zapletenostmi porazdeljenega računalništva. Za večino aplikacij boste bolje prepustili sinhronizacijo podatkov specializiranemu svežnju in se osredotočili na funkcije aplikacije. Ključno je izbira rešitve, ki je prilagodljiva. Če greste po poti gradnje, bodite pripravljeni porabiti velik del svojega časa in virov za gradnjo sinhronizacije in podporo vsem zgoraj navedenim.

Pri izbiri mobilnega ponudnika sinhronizacije in shranjevanja bo upoštevanje zgornjih meril ključnega pomena za izdelavo varnih, prilagodljivih in obvladljivih mobilnih aplikacij, ki vedno delujejo - z internetno povezavo ali brez nje.

Wayne Carter je glavni arhitekt mobilne telefonije pri Couchbase, kjer je odgovoren za vodenje vizije, strategije in razvoja mobilnih rešitev podjetja. Wayne je pred Couchbase sedem let preživel v podjetju Oracle kot arhitekt, odgovoren za spodbujanje mobilnih inovacij znotraj linij CRM in SaaS. Od svojega dela v podjetju Oracle ima še 11 patentov. Wayne je pred Oracleom opravljal tehnične vodstvene položaje v podjetju Siebel in delal na svoji liniji CRM.

Forum New Tech ponuja prizorišče za raziskovanje in razpravo o nastajajoči podjetniški tehnologiji v globini in širini brez primere. Izbor je subjektiven in temelji na našem izboru tehnologij, za katere menimo, da so pomembne in najbolj zanimajo bralce. ne sprejema tržnih zavarovanj za objavo in si pridržuje pravico do urejanja celotne prispevane vsebine. Vsa vprašanja pošljite na [email protected].

$config[zx-auto] not found$config[zx-overlay] not found