2010-12-17 11 views
0

So Simpledb hat eine Art Tabellenkalkulation Datenmodell.Wie diese Struktur auf amazon am besten zu kartieren SimpleDB

Ich habe eine App, die einfach Schlüssel gegen Werte speichern muss. Außer dass ein einzelner Schlüssel mehrere Werte haben kann.

Es wird mehrere Clients geben. Jeder Client hat eine ID mit eigenen Schlüsseln. Ich würde gerne bei einer einzigen Domain bleiben, wenn ich in diesem Stadium kann.

Wie kann ich dies auf simpleDB abbilden?

Ich dachte domain = mydomain item = clientid attribute.n.name = Taster_1 ... key_n attribute.n.value = val1 ... valn

, die die Fähigkeit befriedigen würde zu speichern mehrere Werte für denselben Schlüssel. Aber dann habe ich festgestellt, dass ich entweder alle Attribute in meinem auswählen oder wissen muss wie viele Attribute ich habe. Ich werde das nicht voraus wissen. Ich erlaube auch das Löschen eines bestimmten Wertes von einem Schlüssel (oder Attribut). Ich werde zuerst danach suchen müssen. Es scheint, dass in der Auswahl gibt es keine attributeName() -Funktion, nur die Funktion itemName().

Wäre es vielleicht besser, den Elementnamen eine Kombination aus ID + Schlüssel + _n zu machen? z.B. Wenn die ID 'myid' ist und der Schlüssel 'boots' ist, dann wäre der Artikelname 'myidboots_1'

Und dann haben Sie ein einzelnes Attribut pro Element namens 'Keyval'.

und ich kann eine wählen 'keyval' wo itemName wie 'myidboots_%'?

Immer noch etwas umständlich im Vergleich zu einer normalen SQL-Datenbank.

Vielleicht sollte ich versuchen, die Werte wie eine Komma getrennte Liste zu kodieren? Außer, dass es wahrscheinlich umständlicher ist und ich habe auch gelesen, dass es eine Grenze von 1000 Zeichen gibt.

Haben Sie noch weitere Vorschläge?

Antwort

0

Ich bin mir nicht sicher, ob ich Ihre Frage ganz folgen, aber ich denke, dass es hilfreich sein könnte darauf hinweisen, dass SimpleDB können Sie klassische SQL-Abfragen Stil tun:

select * from foo where bar = '1' 

Dadurch werden alle Attribute zurückgeben/Werte für die resultierenden Datensätze.

Verwandte Themen