Προγραμματισμός

Πώς να επιλέξετε μια βάση δεδομένων για τις εφαρμογές σας για κινητά

Οι σημερινοί καταναλωτές εξαρτώνται σε μεγάλο βαθμό από τις εφαρμογές τους για κινητά. Εάν οι εφαρμογές δεν λειτουργούν, οι χρήστες δεν θα τις χρησιμοποιήσουν - είναι τόσο απλό.

Το να απαιτείται σύνδεση στο Διαδίκτυο για εφαρμογές για κινητά είναι να ζει στο παρελθόν. Εάν οι εφαρμογές βασίζονται σε μια σύνδεση, οι πιθανότητες είναι υψηλές ότι η εμπειρία θα είναι αργή και απρόβλεπτη.

Για να αποφευχθεί η εμπιστοσύνη στο δίκτυο, οι πάροχοι βάσεων δεδομένων και υπηρεσιών cloud έχουν προσθέσει δυνατότητες συγχρονισμού και εκτός σύνδεσης στις προσφορές τους για κινητά. Λύσεις όπως το Couchbase's Couchbase Mobile, οι Υπηρεσίες Azure Mobile της Microsoft, το Cognito του Amazon και το Firebase της Google προσφέρουν τον σημαντικότατο συγχρονισμό που επιτρέπει στις εφαρμογές να λειτουργούν τόσο στο διαδίκτυο όσο και εκτός σύνδεσης.

Με τόσες πολλές διαθέσιμες προσφορές, πώς ένας προγραμματιστής κινητής τηλεφωνίας επιλέγει τη σωστή τεχνολογία για τη σωστή εφαρμογή; Τα ακόλουθα έξι βασικά κριτήρια είναι πιο σημαντικά κατά την αξιολόγηση λύσεων για κινητά: υποστήριξη πλατφόρμας, ασφάλεια, ευελιξία μοντελοποίησης, επίλυση συγκρούσεων, βελτιστοποίηση συγχρονισμού και υποστήριξη τοπολογίας.

Υποστηρίξτε τις σωστές πλατφόρμες πελατών

Ποιες πλατφόρμες πελατών υποστηρίζονται; Πρέπει να ξεπεράσετε το iOS και το Android; Θέλετε να υποστηρίξετε πλατφόρμες που δεν θεωρούνται παραδοσιακά κινητές συσκευές, όπως ενσωματωμένα συστήματα, συσκευές IoT και φορητά; Θέλετε επίσης να υποστηρίξετε επιτραπέζιους και φορητούς υπολογιστές με Windows και OS X; Πολλές από τις σημερινές εφαρμογές ξεκινούν από κινητά και, στη συνέχεια, προσθέστε μια εγγενή εφαρμογή για επιτραπέζιους υπολογιστές ή ιστούς. Είναι σημαντικό να αξιολογήσετε τις επιλογές βάσης δεδομένων και cloud με βάση την υποστήριξη της πλατφόρμας που χρειάζεστε όχι μόνο σήμερα αλλά και στο μέλλον.

Ασφαλή δεδομένα σε κατάσταση ηρεμίας και κίνησης

Όταν χρησιμοποιείτε συγχρονισμένο και αποκεντρωμένο χώρο αποθήκευσης, είναι σημαντικό να έχετε πρόσβαση, να μεταδίδετε και να αποθηκεύετε δεδομένα με ασφάλεια. Για να το καλύψετε εντελώς, πρέπει να αντιμετωπίσετε τον έλεγχο ταυτότητας, τα δεδομένα σε κατάσταση ηρεμίας, τα δεδομένα σε κίνηση και την πρόσβαση ανάγνωσης / εγγραφής.

Ο έλεγχος ταυτότητας πρέπει να είναι ευέλικτος και να επιτρέπει τη χρήση τυπικών, δημόσιων και προσαρμοσμένων παρόχων ελέγχου ταυτότητας. Η υποστήριξη για ανώνυμη πρόσβαση είναι επίσης σημαντική για πολλές εφαρμογές. Για δεδομένα σε κατάσταση ηρεμίας στον διακομιστή και τον πελάτη, θα χρειαστείτε υποστήριξη τόσο για κρυπτογράφηση συστήματος αρχείων όσο και για κρυπτογράφηση σε επίπεδο δεδομένων. Για δεδομένα σε κίνηση, η επικοινωνία πρέπει να γίνεται μέσω ενός ασφαλούς καναλιού όπως SSL ή TLS. Για πρόσβαση ανάγνωσης / εγγραφής δεδομένων, η βάση δεδομένων θα πρέπει να παρέχει λεπτομερή έλεγχο σε ποια δεδομένα μπορούν να προσπελαστούν και να τροποποιηθούν από τους χρήστες.

Χρησιμοποιήστε ένα ευέλικτο μοντέλο δεδομένων

Η ευελιξία μοντελοποίησης δεδομένων θα υπαγορεύσει εάν μπορείτε να διατυπώσετε τις απαιτήσεις μοντέλου για τις εφαρμογές σας με αποτελεσματικό και κατάλληλο τρόπο. Ακόμα πιο σημαντικό, θα υπαγορεύσει εάν μπορείτε να εξελίξετε αποτελεσματικά το μοντέλο σας καθώς οι απαιτήσεις σας αλλάζουν προχωρώντας. Η ευελιξία του μοντέλου είναι ιδιαίτερα σημαντική στα κινητά, επειδή οι σημερινές εφαρμογές για κινητά εξελίσσονται με πολύ γρήγορο ρυθμό.

Οι σχεσιακές βάσεις δεδομένων εξακολουθούν να είναι μια καλή επιλογή εάν μια εφαρμογή απαιτεί ισχυρή συνοχή δεδομένων ή τα δεδομένα της είναι εξαιρετικά σχεσιακά. Αλλά όταν αυτές οι απαιτήσεις μπορούν να χαλαρωθούν, οι βάσεις δεδομένων NoSQL προσφέρουν πολύ μεγαλύτερη ευελιξία.

Επίλυση των συγκρούσεων δεδομένων χαριτωμένα

Για κινητές πλατφόρμες ή οποιαδήποτε άλλη πλατφόρμα που χρησιμοποιεί αποκεντρωμένες εγγραφές δεδομένων, τα ίδια δεδομένα μπορούν ταυτόχρονα να τροποποιηθούν σε πολλές συσκευές, δημιουργώντας μια διένεξη. Το σύστημα πρέπει να υποστηρίξει έναν μηχανισμό για την επίλυση αυτών των συγκρούσεων. Η ευελιξία του μηχανισμού επίλυσης συγκρούσεων είναι σημαντική και πρέπει να επιτρέπει την επίλυση αυτόματα, στη συσκευή, στο σύννεφο, από ένα εξωτερικό σύστημα και από έναν άνθρωπο.

Ο χειρισμός των συγκρούσεων θα διαφέρει για κάθε σύστημα. Το Couchbase Mobile, για παράδειγμα, χρησιμοποιεί δέντρα αναθεωρήσεων με έναν προεπιλεγμένο κανόνα ανάλυσης των "πιο ενεργών κερδών κλάδου". Αυτή είναι η ίδια προσέγγιση που υιοθετήθηκε από τα συστήματα ελέγχου αναθεώρησης όπως το Git και πολύ διαφορετικό από τα συστήματα που βασίζονται σε ρολόι, τα οποία ακολουθούν μια προσέγγιση «νίκης της πιο πρόσφατης αλλαγής». Τα συστήματα ανάλυσης με βάση το ρολόι είναι προβληματικά λόγω των προβλημάτων που σχετίζονται με τις διαφορές του ρολογιού σε όλες τις συσκευές. Το Couchbase επιτρέπει επίσης την προσαρμογή (μέσω κώδικα στον πελάτη ή στον διακομιστή) για την εκτέλεση πιο εξελιγμένων επιλύσεων συγκρούσεων, όπως μια τριμερής συγχώνευση.

Συγχρονισμός στις σωστές ώρες

Εκτός από την ικανότητα επίλυσης διενέξεων, είναι σημαντικό να έχετε τη δυνατότητα να ελέγχετε τον τρόπο συγχρονισμού του συστήματος. Αυτό περιλαμβάνει στρατηγική αναπαραγωγής, αναπαραγωγή υπό όρους και φιλτράρισμα αναπαραγωγής. Για στρατηγική αναπαραγωγής, αναζητήστε υποστήριξη για ροή, δημοσκόπηση, εφάπαξ, συνεχή και ώθηση. Θα πρέπει επίσης να έχετε τη δυνατότητα να χρησιμοποιήσετε έναν συνδυασμό αυτών των στρατηγικών. Για αναπαραγωγή υπό όρους, ενδέχεται να χρειαστεί να αναπαράγετε δεδομένα μόνο υπό συγκεκριμένες συνθήκες, όπως όταν η συσκευή βρίσκεται σε Wi-Fi ή όταν έχει επαρκή ισχύ μπαταρίας. Για φιλτράρισμα αναπαραγωγής, θα πρέπει να έχετε τη δυνατότητα να αναπαράγετε ορισμένα δεδομένα αλλά όχι άλλα δεδομένα.

Συγχρονισμός με τα σωστά διαμερίσματα

Απαιτείται διαμορφώσιμη υποστήριξη τοπολογίας συγχρονισμού για να μπορείτε να πληροίτε τις απαιτήσεις διαμέρισής σας. Με άλλα λόγια, χρειάζεστε τη δυνατότητα διαμόρφωσης του συστήματος ώστε να επιτρέπεται σε ορισμένα μέρη να λειτουργούν εκτός σύνδεσης. Η πιο κοινή τοπολογία είναι το αστέρι. Σε μια τοπολογία αστεριών, κάθε συσκευή συνδέεται σε έναν κεντρικό κόμβο χρησιμοποιώντας μια σύνδεση από σημείο σε σημείο που επιτρέπει στις συσκευές να λειτουργούν εκτός σύνδεσης. Άλλες κοινές τοπολογίες όπως το δέντρο και το πλέγμα επιτρέπουν σε διαφορετικά μέρη του συστήματος (εκτός από τις συσκευές) να λειτουργούν εκτός σύνδεσης. Μπορεί επίσης να θέλετε υποστήριξη για τοπολογίες χωρίς σύννεφα που επιτρέπουν στις συσκευές να επικοινωνούν peer-to-peer και να συγχρονίζουν απευθείας τα δεδομένα μεταξύ τους.

Ένα σύστημα POS (σημείο πώλησης) είναι ένα καλό παράδειγμα μιας τοπολογίας δέντρων. Τα συστήματα POS απαιτούν να συνεχίσει να λειτουργεί ένα κατάστημα από τούβλα και κονίαμα εάν αποσυνδεθεί από το υπόλοιπο σύστημα. Σε αυτήν τη διαμόρφωση, οι συσκευές POS θα συγχρονίζονται με μια βάση δεδομένων σε επίπεδο καταστήματος, η οποία θα συγχρονίζεται με ένα παγκόσμιο σύστημα. Έτσι, τα καταστήματα θα μπορούσαν να συνεχίσουν να λειτουργούν και να συγχρονίζουν δεδομένα με τις συσκευές POS τους ανεξάρτητα από τη σύνδεση με το παγκόσμιο σύστημα.

Είτε πρόκειται να δημιουργήσετε συγχρονισμό είτε να αγοράσετε

Όταν θέλετε να προσθέσετε συγχρονισμό στις εφαρμογές σας, θα πρέπει να καθορίσετε εάν πρέπει να δημιουργήσετε μια λύση ή να τη λάβετε από έναν πάροχο. Η σωστή δημιουργία συγχρονισμού είναι εξαιρετικά δύσκολη και δαπανηρή, καθώς πρέπει να αντιμετωπίσει όλες τις πολυπλοκότητες των κατανεμημένων υπολογιστών. Για τις περισσότερες εφαρμογές, θα προτιμούσατε να αφήσετε το συγχρονισμό δεδομένων σε μια εξειδικευμένη στοίβα και να εστιάσετε στις λειτουργίες της εφαρμογής σας. Το κλειδί είναι η επιλογή μιας ευέλικτης λύσης. Εάν ακολουθήσετε τη διαδρομή κατασκευής, είστε έτοιμοι να ξοδέψετε ένα σημαντικό μέρος του χρόνου και των πόρων σας για τον συγχρονισμό κτιρίων και την υποστήριξη όλων των παραπάνω.

Όταν επιλέγετε έναν πάροχο συγχρονισμού και αποθήκευσης για κινητά, η πλήρης μέτρηση των παραπάνω κριτηρίων θα είναι κρίσιμη για τη δημιουργία ασφαλών, ευέλικτων και διαχειρίσιμων εφαρμογών για κινητά που λειτουργούν πάντα - με ή χωρίς σύνδεση στο Διαδίκτυο.

Ο Wayne Carter είναι ο επικεφαλής αρχιτέκτονας της κινητής τηλεφωνίας στο Couchbase, όπου είναι υπεύθυνος για το κορυφαίο όραμα, τη στρατηγική και την ανάπτυξη για τις φορητές λύσεις της εταιρείας. Πριν από το Couchbase, ο Wayne πέρασε επτά χρόνια στην Oracle ως αρχιτέκτονας υπεύθυνος για την προώθηση της καινοτομίας για κινητά στις σειρές προϊόντων CRM και SaaS. Έχει 11 διπλώματα ευρεσιτεχνίας σε εκκρεμότητα από το έργο του στο Oracle. Πριν από την Oracle, ο Wayne κατείχε τεχνικές ηγετικές θέσεις στη Siebel, εργαζόμενος στη σειρά προϊόντων CRM.

Το New Tech Forum παρέχει έναν χώρο για να εξερευνήσετε και να συζητήσετε την αναδυόμενη τεχνολογία σε πρωτοφανές βάθος και εύρος. Η επιλογή είναι υποκειμενική, με βάση την επιλογή των τεχνολογιών που πιστεύουμε ότι είναι σημαντικές και έχουν μεγάλο ενδιαφέρον για τους αναγνώστες. δεν αποδέχεται ασφάλεια μάρκετινγκ για δημοσίευση και διατηρεί το δικαίωμα να επεξεργαστεί όλο το περιεχόμενο. Στείλτε όλες τις ερωτήσεις στο [email protected]