Kako odabrati bazu podataka za mobilne aplikacije

Današnji potrošači uvelike se oslanjaju na svoje mobilne aplikacije. Ako aplikacije ne rade, korisnici ih neće koristiti - to je tako jednostavno. 

Tražiti internetsku vezu za mobilne aplikacije znači živjeti u prošlosti. Ako se aplikacije oslanjaju na vezu, velika je vjerojatnost da će doživljaj biti trom i nepredvidljiv.

Da bi se izbjeglo oslanjanje na mrežu, pružatelji baza podataka i usluga u oblaku dodali su sinkronizaciju i izvanmrežne mogućnosti svojim mobilnim ponudama. Rješenja poput Couchbaseove Couchbase Mobile, Microsoftove Azure Mobile Services, Amazonove Cognito i Googleove Firebase nude najvažniju sinkronizaciju koja aplikacijama omogućuje rad i na mreži i izvan nje. 

S toliko dostupnih ponuda, kako programer za mobilne uređaje odabire pravu tehnologiju za pravu aplikaciju? Sljedećih šest ključnih kriterija najvažnije je pri procjeni mobilnih rješenja: podrška platformi, sigurnost, fleksibilnost modeliranja, rješavanje sukoba, optimizacija sinkronizacije i podrška topologiji.

Podržavajte prave klijentske platforme

Koje su klijentske platforme podržane? Trebate li ići dalje od iOS-a i Androida? Želite li podržati platforme koje se tradicionalno ne smatraju mobilnim, poput ugrađenih sustava, IoT uređaja i nosive opreme? Želite li podržati i Windows i OS X stolna i prijenosna računala? Mnoge se današnje aplikacije pokreću na mobilnim uređajima, a zatim dodaju izvornu radnu površinu ili web-popratnu aplikaciju. Važno je procijeniti mogućnosti baze podataka i oblaka na temelju podrške platformi koja vam je potrebna ne samo danas već i u budućnosti.

Sigurni podaci u mirovanju i u pokretu

Kada koristite sinkroniziranu i decentraliziranu pohranu, važno je sigurno pristupiti, prenijeti i pohraniti podatke. Da biste to u potpunosti pokrili, trebate adresirati provjeru autentičnosti, podatke u stanju mirovanja, podatke u pokretu i pristup za čitanje / pisanje. 

Autentifikacija treba biti fleksibilna i omogućiti upotrebu standardnih, javnih i prilagođenih davatelja autentičnosti. Podrška za anonimni pristup također je važna za mnoge aplikacije. Za podatke koji miruju na poslužitelju i klijentu, potrebna vam je podrška za šifriranje datotečnog sustava i šifriranje na razini podataka. Za podatke u pokretu, komunikacija bi trebala biti preko sigurnog kanala poput SSL-a ili TLS-a. Za pristup čitanju / pisanju podataka, baza podataka treba pružati detaljnu kontrolu nad tim kojim podacima korisnici mogu pristupiti i izmijeniti ih.

Koristite fleksibilni model podataka

Fleksibilnost modeliranja podataka odredit će možete li artikulirati zahtjeve modela za svoje aplikacije na učinkovit i prikladan način. Što je još važnije, ono će odrediti možete li učinkovito razvijati svoj model kako se vaši zahtjevi mijenjaju prema naprijed. Fleksibilnost modela posebno je važna za mobilne uređaje jer se današnje mobilne aplikacije razvijaju vrlo brzim tempom.

Relacijske baze podataka i dalje su dobar izbor ako aplikacija zahtijeva snažnu dosljednost podataka ili su njezini podaci vrlo relacijski. No kad se ti zahtjevi mogu ublažiti, NoSQL baze podataka nude mnogo veću fleksibilnost.

Graciozno riješite sukobe podataka

Za mobilne platforme ili bilo koju drugu platformu koja koristi decentralizirano upisivanje podataka, isti se podaci mogu istodobno mijenjati na više uređaja, stvarajući sukob. Sustav mora podržati mehanizam za rješavanje tih sukoba. Fleksibilnost mehanizma za rješavanje sukoba važna je i trebala bi omogućiti automatsko rješavanje na uređaju, u oblaku, vanjskim sustavom i čovjekom. 

Rješavanje sukoba razlikovat će se za svaki sustav. Couchbase Mobile, na primjer, koristi stabla revizija sa zadanim pravilom razlučivosti "najaktivnije pobjede grana." To je isti pristup koji koriste sustavi za kontrolu revizija, poput Gita, i puno drugačiji od sustava temeljenih na satu koji imaju pristup "najnovija promjena pobjeđuje". Sustavi za razlučivanje zasnovani na satu problematični su zbog problema s razlikama u satu na različitim uređajima. Couchbase također omogućuje prilagodbu (putem koda na klijentu ili na poslužitelju) za izvršavanje sofisticiranijih rješenja sukoba poput trosmjernog spajanja.

Sinkronizirajte u pravo vrijeme

Osim što možete rješavati sukobe, važno je imati mogućnost upravljanja načinom sinkronizacije sustava. To uključuje strategiju replikacije, uvjetnu replikaciju i filtriranje replikacije. Za strategiju replikacije potražite podršku za streaming, anketiranje, jednokratno, kontinuirano i push. Također biste trebali imati mogućnost korištenja kombinacije ovih strategija. Za uvjetnu replikaciju možda ćete trebati replicirati podatke samo pod određenim uvjetima, na primjer kada je uređaj na Wi-Fi mreži ili kada ima dovoljno baterije. Za filtriranje replikacije trebali biste imati sposobnost repliciranja nekih podataka, ali ne i drugih podataka.

Sinkronizirajte s pravim particijama

Podrška za topologiju sinkronizacije koja se može konfigurirati omogućuje vam da ispunite svoje zahtjeve za particijom. Drugim riječima, trebate sposobnost konfiguriranja sustava kako biste omogućili određenim dijelovima izvanmrežni rad. Najčešća topologija je zvijezda. U topologiji zvijezda, svaki je uređaj povezan sa središnjim čvorištem pomoću točke od točke do točke koja omogućuje uređajima da rade izvan mreže. Druge uobičajene topologije poput stabla i mreže omogućuju da različiti dijelovi sustava (pored uređaja) rade izvan mreže. Također ćete možda trebati podršku za topologije bez oblaka koje omogućuju uređajima da međusobno komuniciraju peer-to-peer i izravno sinkroniziraju podatke. 

POS (prodajno mjesto) sustav dobar je primjer topologije stabla. POS sustavi zahtijevaju da trgovina ciglama nastavi da radi ako se odvoji od ostatka sustava. U ovoj bi se konfiguraciji POS uređaji sinkronizirali s bazom podataka na razini trgovine, koja bi se sinkronizirala s globalnim sustavom. Stoga bi trgovine mogle nastaviti raditi i sinkronizirati podatke sa svojim POS uređajima bez obzira na povezanost s globalnim sustavom.

Treba li graditi sinkronizaciju ili kupiti

Kada želite dodati sinkronizaciju svojim aplikacijama, morat ćete utvrditi trebate li izgraditi rješenje ili ga dobiti od davatelja usluge. Pravilna izgradnja sinkronizacije notorno je teška i skupa, jer se mora nositi sa svim složenostima distribuiranog računanja. Za većinu aplikacija bit će vam bolje da sinkronizaciju podataka prepustite specijaliziranom stogu i usredotočite se na značajke svoje aplikacije. Ključ je odabir fleksibilnog rješenja. Ako krenete putem gradnje, budite spremni potrošiti značajan dio svog vremena i resursa na sinhronizaciju zgrada i podržavanje svega gore navedenog.

Pri odabiru mobilnog davatelja usluga sinkronizacije i pohrane podataka, uzimanje pune mjere gornjih kriterija bit će presudno za izgradnju sigurnih, fleksibilnih i upravljivih mobilnih aplikacija koje uvijek rade - sa ili bez internetske veze. 

-

Wayne Carter glavni je arhitekt mobilnih uređaja u Couchbaseu, gdje je odgovoran za vodeću viziju, strategiju i razvoj mobilnih rješenja tvrtke. Prije Couchbasea Wayne je proveo sedam godina u Oracleu kao arhitekt odgovoran za poticanje mobilnih inovacija unutar linija proizvoda CRM i SaaS. Ima 11 patenata na čekanju od svog rada u Oracleu. Prije Oraclea, Wayne je obnašao tehničke vodeće pozicije u Siebelu, radeći na svojoj CRM liniji proizvoda.

New Tech Forum pruža mjesto za istraživanje i raspravu o novonastaloj tehnologiji poduzeća u neviđenoj dubini i širini. Izbor je subjektivan, zasnovan na našem odabiru tehnologija za koje vjerujemo da su važne i da najviše zanimaju čitatelje. ne prihvaća marketinške kolaterale za objavljivanje i zadržava pravo uređivanja cjelokupnog sadržaja. Pošaljite sve upite na [email protected]