Programmering

Sådan vælger du en database til dine mobilapps

Dagens forbrugere er stærkt afhængige af deres mobilapplikationer. Hvis apps ikke fungerer, bruger brugerne dem ikke - det er så simpelt.

At kræve en internetforbindelse til mobilapplikationer er at leve i fortiden. Hvis apps stoler på en forbindelse, er oddsene store, at oplevelsen vil være træg og uforudsigelig.

For at undgå afhængighed af netværket har udbydere af databaser og cloudtjenester tilføjet synkronisering og offlinefunktioner til deres mobile tilbud. Løsninger som Couchbase's Couchbase Mobile, Microsofts Azure Mobile Services, Amazons Cognito og Googles Firebase tilbyder den vigtige synkronisering, der gør det muligt for apps at arbejde både online og offline.

Med så mange tilbud tilgængelige, hvordan vælger en mobiludvikler den rigtige teknologi til den rigtige applikation? Følgende seks nøglekriterier er vigtigst ved evaluering af mobile løsninger: platformssupport, sikkerhed, modelleringsfleksibilitet, konfliktløsning, synkroniseringsoptimering og topologisupport.

Støt de rigtige klientplatforme

Hvilke klientplatforme understøttes? Har du brug for at gå ud over iOS og Android? Ønsker du at støtte platforme, der ikke traditionelt betragtes som mobile, såsom indlejrede systemer, IoT-enheder og wearables? Ønsker du også at understøtte Windows og OS X desktops og laptops? Mange af nutidens applikationer starter på mobil, og tilføjer derefter en indbygget desktop- eller web-ledsagerapp. Det er vigtigt at evaluere database- og skyindstillinger baseret på platformstøtten, som du ikke kun har brug for i dag, men også i fremtiden.

Sikre data i hvile og i bevægelse

Når du bruger synkroniseret og decentral lagring, er det vigtigt at få adgang til, transmittere og gemme data sikkert. For at dække dette fuldstændigt skal du adressere godkendelse, data i hvile, data i bevægelse og læse- / skriveadgang.

Godkendelse skal være fleksibel og muliggøre brug af standard-, offentlige og tilpassede godkendelsesudbydere. Støtte til anonym adgang er også vigtig for mange apps. For data i hvile på serveren og klienten skal du have support til både filsystemkryptering og kryptering på dataniveau. For data i bevægelse skal kommunikation ske via en sikker kanal som SSL eller TLS. For datalæsnings- / skriveadgang skal databasen tilbyde detaljeret kontrol over, hvilke data der kan tilgås og ændres af brugere.

Brug en fleksibel datamodel

Datamodelleringsfleksibilitet vil diktere, om du kan formulere modelkravene til dine apps på en effektiv og passende måde. Endnu vigtigere vil det diktere, om du effektivt kan udvikle din model, når dine krav ændres fremad. Modelfleksibilitet er specielt vigtigt i mobil, fordi nutidens mobilapps udvikler sig i et meget hurtigt tempo.

Relationsdatabaser er stadig et godt valg, hvis en app kræver stærk datakonsistens, eller dens data er meget relationelle. Men når disse krav kan lempes, tilbyder NoSQL-databaser meget større fleksibilitet.

Løs datakonflikter yndefuldt

For mobile platforme eller enhver anden platform, der bruger decentraliserede dataskrivninger, kan de samme data ændres samtidigt på flere enheder, hvilket skaber en konflikt. Systemet skal understøtte en mekanisme til løsning af disse konflikter. Fleksibiliteten i konfliktløsningsmekanismen er vigtig og bør muliggøre løsning automatisk på enheden, i skyen, af et eksternt system og af et menneske.

Konflikthåndtering vil variere for hvert system. Couchbase Mobile bruger for eksempel revisionstræer med en standardopløsningsregel på "mest aktive filial vinder." Dette er den samme tilgang, der anvendes af revisionskontrolsystemer som Git og meget anderledes end urbaserede systemer, der bruger en "seneste ændring vinder" tilgang. Urbaserede opløsningssystemer er problematiske på grund af problemerne omkring urforskelle på tværs af enheder. Couchbase tillader også tilpasning (via kode på klienten eller på serveren) til at udføre mere sofistikerede konfliktløsninger som en trevejsfletning.

Synkroniser til de rigtige tidspunkter

Ud over at være i stand til at løse konflikter er det vigtigt at have evnen til at kontrollere, hvordan systemet synkroniseres. Dette inkluderer replikeringsstrategi, betinget replikering og replikeringsfiltrering. For replikeringsstrategi, se efter support til streaming, afstemning, engang, kontinuerlig og push. Du skal også have mulighed for at bruge en kombination af disse strategier. Til betinget replikering skal du muligvis kun replikere data under visse forhold, f.eks. Når enheden er på Wi-Fi, eller når den har tilstrækkelig batteristrøm. Til replikeringsfiltrering skal du have mulighed for at replikere nogle data, men ikke andre data.

Synkroniser med de rigtige partitioner

Konfigurerbar synkroniseringstopologisupport er nødvendig for at give dig mulighed for at opfylde dine partitionskrav. Med andre ord har du brug for evnen til at konfigurere systemet, så bestemte dele kan fungere offline. Den mest almindelige topologi er stjerne. I en stjernetopologi er hver enhed forbundet til en central hub ved hjælp af en punkt-til-punkt-forbindelse, der gør det muligt for enhederne at fungere offline. Andre almindelige topologier såsom træ og maske tillader, at forskellige dele af systemet (ud over enhederne) kan fungere offline. Du vil muligvis også have support til cloudless topologier, der gør det muligt for enheder at kommunikere peer-to-peer og direkte synkronisere data indbyrdes.

Et POS-system (salgssted) er et godt eksempel på en trætopologi. POS-systemer kræver, at en murstensbutik fortsætter med at fungere, hvis den afbrydes fra resten af ​​systemet. I denne konfiguration synkroniseres POS-enheder med en database på butiksniveau, som synkroniseres med et globalt system. Således kunne butikker fortsætte med at betjene og synkronisere data med deres POS-enheder uanset forbindelse til det globale system.

Uanset om der skal bygges synkronisering eller køb

Når du ønsker at tilføje synkronisering til dine apps, skal du afgøre, om du skal oprette en løsning eller få den fra en udbyder. At opbygge synkronisering korrekt er notorisk vanskeligt og dyrt, da det skal håndtere alle kompleksiteterne ved distribueret computing. For de fleste apps er det bedre for dig at overlade datasynkronisering til en specialiseret stak og fokusere på dine appfunktioner. Nøglen er at vælge en løsning, der er fleksibel. Hvis du går ned ad bygningsstien, skal du være klar til at bruge en betydelig del af din tid og ressourcer på at opbygge synkronisering og understøtte alt, der er anført ovenfor.

Når du vælger en mobilsynkroniserings- og lagerudbyder, vil det være afgørende at tage fuldt mål af ovenstående kriterier for at opbygge sikre, fleksible og håndterbare mobilapps, der altid fungerer - med eller uden en internetforbindelse.

Wayne Carter er chefarkitekt for mobil hos Couchbase, hvor han er ansvarlig for at lede vision, strategi og udvikling for virksomhedens mobile løsninger. Før Couchbase tilbragte Wayne syv år hos Oracle som arkitekt, der var ansvarlig for at drive mobil innovation inden for CRM og SaaS produktlinjer. Han har 11 patenter fra sit arbejde hos Oracle. Forud for Oracle havde Wayne tekniske ledende stillinger i Siebel og arbejdede på sin CRM-produktlinje.

New Tech Forum giver et sted at udforske og diskutere nye virksomhedsteknologier i hidtil uset dybde og bredde. Valget er subjektivt baseret på vores valg af de teknologier, som vi mener er vigtige og af største interesse for læserne. accepterer ikke markedsføringssikkerhed til offentliggørelse og forbeholder sig retten til at redigere alt bidraget indhold. Send alle forespørgsler til [email protected].

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