Programovanie

Ako si vybrať databázu pre svoje mobilné aplikácie

Dnešní zákazníci sú veľmi závislí od svojich mobilných aplikácií. Ak aplikácie nebudú fungovať, používatelia ich nebudú používať - ​​je to také jednoduché.

Vyžadovať pripojenie k internetu pre mobilné aplikácie znamená žiť v minulosti. Ak sa aplikácie spoliehajú na pripojenie, je veľká pravdepodobnosť, že táto skúsenosť bude pomalá a nepredvídateľná.

Aby sa zabránilo spoliehaniu sa na sieť, poskytovatelia databáz a cloudových služieb pridali do svojich mobilných ponúk možnosti synchronizácie a offline. Riešenia ako Couchbase Couchbase Mobile, Microsoft Azure Mobile Services, Amazon Cognito a Google Firebase ponúkajú najdôležitejšiu synchronizáciu, ktorá umožňuje aplikáciám pracovať online aj offline.

Ako vyberá mobilný vývojár toľko technológií, aby vybral správnu technológiu pre správnu aplikáciu? Nasledujúcich šesť kľúčových kritérií je najdôležitejších pri hodnotení mobilných riešení: podpora platforiem, bezpečnosť, flexibilita modelovania, riešenie konfliktov, optimalizácia synchronizácie a podpora topológie.

Podporujte správne klientske platformy

Aké klientske platformy sú podporované? Potrebujete ísť nad rámec iOS a Android? Hľadáte podporu platforiem, ktoré sa tradične nepovažujú za mobilné zariadenia, ako sú napríklad zabudované systémy, zariadenia IoT a nositeľné zariadenia? Hľadáte podporu aj pre stolné počítače a notebooky so systémom Windows a OS X? Mnoho dnešných aplikácií sa začína v mobilných zariadeniach a potom sa pridá natívna počítačová alebo webová sprievodná aplikácia. Je dôležité vyhodnotiť možnosti databázy a cloudu na základe podpory platformy, ktorú potrebujete nielen dnes, ale aj v budúcnosti.

Zabezpečte údaje v pokoji a v pohybe

Ak používate synchronizované a decentralizované úložisko, je dôležité bezpečne pristupovať, prenášať a ukladať údaje. Aby ste to úplne pokryli, musíte riešiť autentifikáciu, údaje v pokoji, údaje v pohybe a prístup na čítanie a zápis.

Autentifikácia by mala byť flexibilná a mala by umožňovať použitie štandardných, verejných a vlastných poskytovateľov autentifikácie. Podpora anonymného prístupu je tiež dôležitá pre mnoho aplikácií. Pre údaje v pokoji na serveri a klientovi budete potrebovať podporu šifrovania súborového systému aj šifrovania na úrovni údajov. Pokiaľ ide o údaje v pohybe, komunikácia by mala prebiehať cez zabezpečený kanál, ako je SSL alebo TLS. Pre prístup na čítanie a zápis údajov by mala databáza ponúkať podrobnú kontrolu nad tým, k akým údajom môžu používatelia pristupovať a upravovať ich.

Použite flexibilný dátový model

Flexibilita dátového modelovania bude určovať, či môžete efektívne a vhodným spôsobom formulovať požiadavky na model svojich aplikácií. A čo je ešte dôležitejšie, bude diktovať, či môžete svoj model efektívne vyvíjať, keď sa vaše požiadavky budú meniť. Flexibilita modelu je v mobilných zariadeniach obzvlášť dôležitá, pretože dnešné mobilné aplikácie sa vyvíjajú veľmi rýchlym tempom.

Relačné databázy sú stále dobrou voľbou, ak aplikácia vyžaduje silnú konzistenciu údajov alebo ak sú jej údaje vysoko relačné. Ale keď je možné tieto požiadavky zmierniť, databázy NoSQL ponúkajú oveľa väčšiu flexibilitu.

Elegantne vyriešte konflikty údajov

V prípade mobilných platforiem alebo iných platforiem využívajúcich decentralizované zápisy údajov je možné rovnaké údaje súčasne upravovať na viacerých zariadeniach, čo vytvára konflikt. Systém musí podporovať mechanizmus na riešenie týchto konfliktov. Flexibilita mechanizmu riešenia konfliktov je dôležitá a mala by umožňovať automatické riešenie na zariadení, v cloude, externom systéme a človeku.

Riešenie konfliktov sa bude pre každý systém líšiť. Napríklad Couchbase Mobile používa stromy revízií s predvoleným pravidlom rozlíšenia „najaktívnejšia výhra vetvy“. Ide o rovnaký prístup, aký uplatňujú systémy kontroly revízií, ako je Git, a oveľa odlišný od systémov založených na hodinách, ktoré využívajú prístup „vyhrávanie posledných zmien“. Systémy rozlíšenia založené na hodinách sú problematické z dôvodu problémov okolo rozdielov hodín medzi jednotlivými zariadeniami. Couchbase tiež umožňuje, aby prispôsobenie (prostredníctvom kódu na klientovi alebo na serveri) umožňovalo vykonávať sofistikovanejšie riešenia konfliktov, ako je napríklad trojnásobné zlúčenie.

Synchronizujte v správnom čase

Okrem schopnosti riešiť konflikty je dôležitá schopnosť ovládať synchronizáciu systému. Patria sem replikačná stratégia, podmienená replikácia a filtrovanie replikácie. Pokiaľ ide o stratégiu replikácie, hľadajte podporu pre streamovanie, polling, jednorazové, nepretržité a push. Mali by ste mať tiež možnosť používať kombináciu týchto stratégií. Pre podmienenú replikáciu bude možno potrebné replikovať údaje iba za určitých podmienok, napríklad keď je zariadenie pripojené k sieti Wi-Fi alebo má dostatočnú kapacitu batérie. Pri filtrovaní replikácií by ste mali mať schopnosť replikovať niektoré údaje, ale nie iné.

Synchronizujte so správnymi oddielmi

Na splnenie požiadaviek oddielu je potrebná konfigurovateľná podpora topológie synchronizácie. Inými slovami, potrebujete schopnosť nakonfigurovať systém tak, aby umožňoval fungovanie určitých častí offline. Najbežnejšia topológia je hviezda. V hviezdnej topológii je každé zariadenie pripojené k centrálnemu rozbočovaču pomocou spojenia typu point-to-point, ktoré umožňuje zariadeniam pracovať offline. Ďalšie bežné topológie, napríklad strom a sieť, umožňujú rôznym častiam systému (okrem zariadení) pracovať offline. Možno budete chcieť aj podporu bezoblačných topológií, ktoré umožňujú zariadeniam komunikovať peer-to-peer a priamo medzi sebou synchronizovať dáta.

Dobrým príkladom stromovej topológie je systém POS (miesto predaja). POS systémy vyžadujú, aby kamenný obchod pokračoval v činnosti, ak dôjde k odpojeniu od zvyšku systému. V tejto konfigurácii by sa POS zariadenia synchronizovali s databázou na úrovni obchodu, ktorá by sa synchronizovala s globálnym systémom. Takto by obchody mohli pokračovať v prevádzke a synchronizácii údajov so svojimi POS zariadeniami bez ohľadu na pripojenie k globálnemu systému.

Či už vytvoriť synchronizáciu alebo kúpiť

Pri hľadaní pridania synchronizácie do svojich aplikácií budete musieť zistiť, či by ste mali vytvoriť riešenie alebo ho získať od poskytovateľa. Správne zostavenie synchronizácie je notoricky náročné a nákladné, pretože musí zvládať všetky zložitosti distribuovaného výpočtu. Pre väčšinu aplikácií bude lepšie nechať synchronizáciu dát na špecializovaný zásobník a zamerať sa na funkcie svojej aplikácie. Kľúčom je výber flexibilného riešenia. Ak pôjdete po ceste zostavenia, buďte pripravení venovať značnú časť svojho času a prostriedkov na synchronizáciu stavieb a podporu všetkého vyššie uvedeného.

Pri výbere poskytovateľa mobilnej synchronizácie a ukladacieho priestoru bude pri budovaní bezpečných, flexibilných a spravovateľných mobilných aplikácií, ktoré vždy fungujú - s pripojením na internet alebo bez neho, rozhodujúce splnenie všetkých vyššie uvedených kritérií.

Wayne Carter je hlavným architektom mobilných telefónov v Couchbase, kde je zodpovedný za vedenie vízie, stratégie a vývoja mobilných riešení spoločnosti. Pred Couchbase strávil Wayne sedem rokov v spoločnosti Oracle ako architekt zodpovedný za podporu mobilných inovácií v rámci produktových radov CRM a SaaS. Na svoju prácu v spoločnosti Oracle má prihlásených 11 patentov. Pred Oracle pracoval Wayne na technických vedúcich pozíciách v spoločnosti Siebel a pracovala na svojej produktovej rade CRM.

Nové technologické fórum poskytuje miesto na preskúmanie a diskusiu o vznikajúcich podnikových technológiách v nebývalej hĺbke a šírke. Výber je subjektívny, založený na našom výbere technológií, ktoré považujeme za dôležité a pre čitateľov najväčší záujem. neprijíma marketingové záruky na zverejnenie a vyhradzuje si právo upravovať všetok prispievaný obsah. Všetky otázky posielajte na adresu [email protected].

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