Programování

Jak si vybrat databázi pro vaše mobilní aplikace

Dnešní zákazníci jsou velmi závislí na svých mobilních aplikacích. Pokud aplikace nefungují, uživatelé je nebudou používat - je to tak jednoduché.

Vyžadovat připojení k internetu pro mobilní aplikace znamená žít v minulosti. Pokud aplikace spoléhají na připojení, jsou vysoké šance, že prostředí bude pomalé a nepředvídatelné.

Aby se zabránilo spoléhání se na síť, poskytovatelé databází a cloudových služeb přidali do svých mobilních nabídek možnosti synchronizace a offline. Řešení jako Couchbase Couchbase Mobile, Microsoft Azure Mobile Services, Amazon Cognito a Google Firebase nabízejí důležitou synchronizaci, která umožňuje aplikacím pracovat online i offline.

Jak mobilní vývojář s tolika dostupnými nabídkami vybere správnou technologii pro správnou aplikaci? Při hodnocení mobilních řešení je nejdůležitější následujících šest klíčových kritérií: podpora platformy, zabezpečení, flexibilita modelování, řešení konfliktů, optimalizace synchronizace a podpora topologie.

Podporujte správné klientské platformy

Jaké klientské platformy jsou podporovány? Potřebujete jít nad rámec iOS a Android? Hledáte podporu platforem, které se tradičně nepovažují za mobilní, jako jsou vestavěné systémy, zařízení IoT a nositelná zařízení? Hledáte podporu také pro stolní počítače a notebooky Windows a OS X? Mnoho dnešních aplikací začíná na mobilních zařízeních a poté přidá nativní počítačovou nebo webovou doprovodnou aplikaci. Je důležité vyhodnotit možnosti databáze a cloudu na základě podpory platformy, kterou potřebujete nejen dnes, ale i v budoucnu.

Zabezpečte data v klidu a v pohybu

Pokud používáte synchronizované a decentralizované úložiště, je důležité bezpečně přistupovat, přenášet a ukládat data. Chcete-li to úplně pokrýt, musíte adresovat ověřování, data v klidu, data v pohybu a přístup pro čtení / zápis.

Ověřování by mělo být flexibilní a mělo by umožňovat použití standardních, veřejných a vlastních poskytovatelů ověřování. U mnoha aplikací je také důležitá podpora anonymního přístupu. U dat v klidu na serveru a klientovi budete potřebovat podporu jak pro šifrování systému souborů, tak pro šifrování na úrovni dat. U dat v pohybu by komunikace měla probíhat přes zabezpečený kanál, jako je SSL nebo TLS. Pro přístup pro čtení a zápis dat by databáze měla poskytovat podrobnou kontrolu nad tím, k jakým datům mohou uživatelé přistupovat a upravovat je.

Použijte flexibilní datový model

Flexibilita datového modelování bude diktovat, zda můžete formulovat požadavky na model pro vaše aplikace efektivním a vhodným způsobem. Ještě důležitější je, že bude diktovat, zda můžete svůj model efektivně vyvíjet, jak se vaše požadavky mění vpřed. Flexibilita modelu je v mobilních zařízeních obzvláště důležitá, protože dnešní mobilní aplikace se vyvíjejí velmi rychlým tempem.

Relační databáze jsou stále dobrou volbou, pokud aplikace vyžaduje silnou konzistenci dat nebo její data jsou vysoce relační. Když však lze tyto požadavky uvolnit, nabízejí NoSQL databáze mnohem větší flexibilitu.

Řešte konflikty dat elegantně

U mobilních platforem nebo jakékoli jiné platformy, která využívá decentralizované zápisy dat, lze stejná data současně upravovat na více zařízeních, což vytváří konflikt. Systém musí podporovat mechanismus řešení těchto konfliktů. Flexibilita mechanismu řešení konfliktů je důležitá a měla by umožňovat řešení automaticky, na zařízení, v cloudu, externím systémem a člověkem.

Řešení konfliktů se bude u každého systému lišit. Couchbase Mobile například používá revizní stromy s výchozím pravidlem rozlišení „nejaktivnější výhra větve“. Jedná se o stejný přístup, jaký používají systémy kontroly revizí, jako je Git, a mnohem odlišnější než systémy založené na hodinách, které používají přístup „nejnovější změna vyhrává“. Systémy rozlišení založené na hodinách jsou problematické kvůli problémům s hodinovými rozdíly mezi zařízeními. Couchbase také umožňuje přizpůsobení (prostřednictvím kódu na klientovi nebo na serveru) provádět složitější řešení konfliktů, jako je třícestné sloučení.

Synchronizujte ve správný čas

Kromě schopnosti řešit konflikty je důležité mít schopnost řídit, jak se systém synchronizuje. To zahrnuje strategii replikace, podmíněnou replikaci a filtrování replikace. Pokud jde o strategii replikace, hledejte podporu pro streamování, dotazování, jednorázové, nepřetržité a nabízené. Měli byste také mít možnost použít kombinaci těchto strategií. U podmíněné replikace budete možná muset replikovat data pouze za určitých podmínek, například když je zařízení připojeno k síti Wi-Fi nebo když má dostatečnou kapacitu baterie. Pro filtrování replikace byste měli mít možnost replikovat některá data, ale ne jiná data.

Synchronizujte se správnými oddíly

Konfigurovatelná podpora topologie synchronizace je nutná, aby vám umožnila splnit požadavky na oddíl. Jinými slovy, potřebujete schopnost nakonfigurovat systém tak, aby umožňoval fungování určitých částí offline. Nejběžnější topologie je hvězda. V hvězdicové topologii je každé zařízení připojeno k centrálnímu rozbočovači pomocí připojení z bodu do bodu, které umožňuje zařízením pracovat offline. Jiné běžné topologie, jako je strom a síť, umožňují různým částem systému (kromě zařízení) pracovat offline. Můžete také chtít podporu bezoblačných topologií, které umožňují zařízením komunikovat peer-to-peer a přímo synchronizovat data mezi sebou.

Dobrým příkladem stromové topologie je systém POS (místo prodeje). POS systémy vyžadují, aby kamenný obchod pokračoval v provozu, pokud dojde k odpojení od zbytku systému. V této konfiguraci by se POS zařízení synchronizovala s databází na úrovni obchodu, která by se synchronizovala s globálním systémem. Obchody tak mohly i nadále pracovat a synchronizovat data se svými POS zařízeními bez ohledu na připojení k globálnímu systému.

Zda stavět synchronizaci nebo koupit

Při pohledu na přidání synchronizace do vašich aplikací budete muset určit, zda byste měli vytvořit řešení nebo ho získat od poskytovatele. Správné sestavení synchronizace je notoricky obtížné a nákladné, protože se musí vypořádat se všemi složitostmi distribuovaného výpočtu. U většiny aplikací bude lepší nechat synchronizaci dat na specializovaný zásobník a zaměřit se na funkce vaší aplikace. Klíčem je výběr flexibilního řešení. Pokud se vydáte cestou sestavení, buďte připraveni vynaložit značnou část svého času a prostředků na vytváření synchronizace a podporu všeho uvedeného výše.

Při výběru poskytovatele mobilní synchronizace a úložiště bude při vytváření zabezpečených, flexibilních a spravovatelných mobilních aplikací, které vždy fungují - s připojením k internetu nebo bez něj, zásadní zohlednění výše uvedených kritérií.

Wayne Carter je hlavním architektem mobilních zařízení v Couchbase, kde je zodpovědný za vedení vize, strategie a vývoje mobilních řešení společnosti. Před Couchbase strávil Wayne sedm let ve společnosti Oracle jako architekt odpovědný za podporu mobilních inovací v rámci produktových řad CRM a SaaS. Na svou práci ve společnosti Oracle má 11 patentů čekajících na vyřízení. Před Oracle držel Wayne technické vedoucí pozice ve společnosti Siebel a pracoval na své produktové řadě CRM.

Nové technologické fórum poskytuje místo, kde můžete prozkoumat a diskutovat o nově vznikajících podnikových technologiích v nebývalé hloubce a šíři. Výběr je subjektivní, založený na našem výběru technologií, které považujeme za důležité a pro čtenáře nejzajímavější. nepřijímá marketingové materiály ke zveřejnění a vyhrazuje si právo upravovat veškerý přispěný obsah. Všechny dotazy zasílejte na [email protected].

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