DynamoDB automatisch Inkrementierte ID & server-Zeit (iOS SDK)
Ist es eine option, in DynammoDB zu speichern, automatisch um eins erhöht, ID als primary key in der Tabellen? Ich muss auch zum speichern der server-Zeit, in den Tabellen als "erstellt am" - Felder (zB., Benutzer erstellen und an). Aber ich nicht finden, eine Weg, um die server-Zeit von DynamoDB oder andere AWS-services.
Könnt Ihr mir helfen mit,
- Arbeiten mit automatisch inkrementierten IDs in DyanmoDB Tabellen
- Speichern die server-Zeit in den Tabellen für "erstellt am", wie Felder.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tatsächlich gibt es sehr wenige Funktionen in DynamoDB und das ist genau seine Stärke. Einfachheit.
Für die "Datum" - problem, es sollte leicht sein, ihn zu erzeugen, die auf der client-Seite. Darf ich Ihnen empfehlen die Verwendung der ISO-8601 Datum-format ? Es ist sowohl für Programmierer und computer freundlich.
Meisten der Zeit, es gibt einen besseren Weg als die Verwendung von automatischen IDs für Elemente. Dies ist oft eine schlechte Angewohnheit stammt aus der SQL oder MongoDB Welt. Zum Beispiel, eine e-mail oder eine Anmeldung machen Sie eine perfekte ID für einen Benutzer. Aber ich weiß, es gibt bestimmte Fälle, in denen IDs nützlich sein könnten.
In diesen Fällen müssen Sie Ihr eigenes system zusammenstellen. In diesem SO beantworten und dieser Artikel von DynamoDB-Mapper Dokumentation erkläre ich, wie es zu tun. Ich hoffe, es hilft
Eher als Arbeit mit auto-increment-IDs, betrachten die Arbeit mit GUIDs. Sie erhalten höhere theoretische Durchsatz und bessere Fehlerbehandlung, und das einzige, was Sie verlieren, ist die Natürliche Zeit-Ordnung, die ist besser verarbeitet von Daten.
Höheren Durchsatz, da brauchen Sie nicht zu Fragen, Dynamo zum generieren der nächsten verfügbaren IDs (das würde erfordern, dass einige Ressource irgendwo die Einrichtung einer Sperre, bekommen einige zahlen, und machen Sie sicher nichts anderes bekommt diese zahlen). Bessere Fehlerbehandlung kommt, wenn Sie verlieren Ihre Verbindung zum Dynamo (Dynamo geht nach unten, oder Sie sind Burst-und die Anwendung ist mehr Arbeit als derzeit bereitgestellten Durchsatz). Eine nur-schreiben-Anwendung fortgesetzt werden kann "arbeiten" und die Generierung von Daten, komplett mit IDs, queueing es oben geschrieben werden, zum dynamo, und nie sorgen um ID-Konflikte.
Habe ich einen kleinen web-service nur für diesen Zweck. Sehen Sie dieses blog-post, erklärt, dass, wie ich bin mit stateful.co mit DynamoDB, um zu simulieren, auto-increment Funktionalität: http://www.yegor256.com/2014/05/18/cloud-autoincrement-counters.html
Grundsätzlich, registrieren Sie einen atomaren Zähler bei stateful.co und die Schrittweite jedes mal, wenn Sie benötigen einen neuen Wert, durch RESTful API.