2017-05-08 7 views
-3

Es ist ein Sortiment von DBs verfügbar. Habe sie alle gestochen. Was ich brauche, ist eine kosteneffiziente, einzigartige Benutzer-ID, die in der Lage ist, offline zu synchronisieren, während kein WiFi vorhanden ist. Und Zugriff auf die Backend-Server-Datensätze (Elemente).Ist DynamoDB eine gute Wahl für eine Swift-Anwendung?

iCloud, Realm, mySQL, Firebase, DynamoDB usw. Ich bin ziemlich solide in den meisten, würde gerne DynamoDB verwenden, aber ich sehe keine Dokumente beim Synchronisieren, und frage mich, ob es so einfach ist, jeden Benutzer zu haben Sie erhalten eine eindeutige ID zusammen mit den zugehörigen AWS-Kosten.

Ich setze mich auf iCloud oder Firebase ein und frage mich, was die Swift-Profis aufgrund meiner Bedürfnisse denken.

danke für tipps. :-)

+1

Synchronisation offline, während kein WiFi? – FailedUnitTest

+0

Ja. Firebase scheint darin gut zu sein. Es ist eine Smart Cities-App, Sie können unterirdisch sein, offline, dann aus einer U-Bahn herauskommen und jetzt Wifi haben. –

+0

Das ist nicht wirklich ein Feature der Datenbank, das ist das Feature des Clients, mit dem Sie sich mit der Datenbank verbinden. Es speichert einfach die Daten auf der Festplatte, bis die Verbindung wieder verfügbar ist. Diese Funktion kann für jede von Ihnen erwähnte Datenbank erstellt werden. – FailedUnitTest

Antwort

1

Ich habe viel Firebase und ein bisschen DynamoDB verwendet. Beides sind respektable Entscheidungen.

Ich gebe Ihnen meine voreingenommene Meinung, warum ich über Firebase DynamoDB gewählt haben, und lassen Sie andere geben Ihnen die anderen Winkel:

  • DynamoDB toll ist, wenn alles, was Sie tun wollen, setzen und erhalten Werte basierend auf Schlüsseln. Es ist jedoch sehr begrenzt, wenn es um Abfragen und Suchen geht. Firebase zeichnet sich dabei durch Benutzerfreundlichkeit und Geschwindigkeit aus. Wenn Sie beispielsweise eine Datenbank mit Benutzern haben, können Sie basierend auf ihrem untergeordneten Wert (lastLoggedIn) Abfragen durchführen und die Benutzer auswählen, die sich gerade angemeldet haben. Wenn diese Abfrage häufig ausgeführt wird, können Sie diesen Schlüssel indexieren und diese Abfrage beschleunigen. Weitere Informationen finden Sie hier: https://firebase.google.com/docs/database/rest/retrieve-data

  • Firebase ermöglicht die einfache Definition von Sicherheitsregeln für jede Tabelle/Datenbank. Sie können IAM-Rollen in AWS auch für DynamoDB definieren, aber ich bezweifle, dass sie so viel Flexibilität wie Firebase bieten.

  • Firebase ermöglicht Transaktionen, die gleichzeitigen Änderungen unterstützt: https://firebase.google.com/docs/database/web/read-and-write#save_data_as_transactions

  • Wenn Sie ein Handy-App zu entwickeln, Push-Benachrichtigungen sind einfach einzurichten.

  • Offline-Funktionen sind nahtlos in Ihre Anwendung ohne vielen Setup integriert: https://firebase.google.com/docs/database/web/offline-capabilities

ich Zweifel an Firebase habe früher, aber seitdem Google übernommen Firebase im Jahr 2014 und darüber gesprochen, so inbrünstig im Jahr 2016 Bei Google I/O (https://www.youtube.com/watch?v=tb2GZ3Bh4p8&vl=en) habe ich darauf vertraut.

Oh, und habe ich gesagt, dass der Blaze-Plan auf Firebase ist billiger als DynamoDB für die Speicherung und Berechnung?

+0

hallo leonardloo, danke für die ausführliche Beschreibung. Firebase ist es. Haben Sie genügend DynamoDB-Funktionen, wenn Bedarf besteht, lassen Sie ein anderes AWS/Web-Projekt kochen. Für diesen funktioniert FB super. Mit diesem Tutorial enthält der Kommentar einige Korrekturen (mit der Pod-Datei), sonst einfach zu installieren und zu starten. https://www.raywenderlich.com/139322/firebase-tutorial-getting-started-2 –

Verwandte Themen