
Ich erstelle gerade eine Webanwendung für eine Publishing-Plattform und verwende S3 zur Inhaltsspeicherung. S3 ist super einfach zu verwenden, aber ich möchte versuchen, von vornherein die bestmögliche Dateiorganisation zu erreichen.
Hier ist eine Vorstellung von der Form meiner Daten:
Publikationen
- Veröffentlichungen haben Beschreibungen (Text)
- Einleitung (Text + Bilder)
- Diskussion (Text + Bilder)
- viele Experimente
Experimente
- Experimente haben Beschreibungen (Text)
- Ergebnisse (Text + Bilder)
- Methoden (Text + Bilder)
- Diskussion (Text + Bilder)
Organisationsmodelle
Modell Nr. 1: Flache Eimer
Dieses Modell scheint offensichtlich schlecht zu sein, aber ich füge es der Vollständigkeit halber hinzu.
Eimer mit Veröffentlichungsbildern:
publication_images/[publication-id]-[name].png
Veröffentlichungstext-Bucket:
publication_text/[publication-id]-[name].txt
Experimentiereimer wie oben
Modell Nr. 2: Veröffentlichungs-/Experimentobjekte
Publikations-Bucket:
[publication-id]/text/[name].txt
[publication-id]/images/[name].png
Experimente Eimer ist analog
Modell Nr. 3: Experimente innerhalb von Veröffentlichungen
Publikations-Bucket:
[publication-id]/text/[name].txt
[publication-id]/images/[name].png
[publication-id]/experiments/[experiment_id]/images/[name].png
[publication-id]/experiments/[experiment_id]/text/[name].txt
Modell Nr. 4/5: Veröffentlichungen/Experimente erhalten ihre eigenen Buckets
Dies ist im Wesentlichen dasselbe wie Nr. 2 und 3 oben, außer dass jede Veröffentlichung oder jedes Experiment kein Objekt in einem Veröffentlichungs- oder Experiment-Bucket ist, sondern einen eigenen Bucket erhält. Das scheint nicht wirklich die Vorgehensweise zu sein, aber ich bin ein Anfänger bei S3, also könnte ich mich irren.
Es gibt definitiv andere Möglichkeiten, dies zu organisieren, aber dies sind die wichtigsten, die mir eingefallen sind. Ich tendiere zu Modell Nr. 2 oder Nr. 3, je nachdem, ob ich alle meine Experimentinhalte mit der Veröffentlichung abrufen möchte oder nicht. Abgesehen davon, erscheint eines dieser Modelle jemandem mit mehr Erfahrung offensichtlich überlegen oder unterlegen? Gibt es Kompromisse, die ich kennen und jetzt bei der Planung für die Zukunft berücksichtigen sollte? Gibt es andere Modelle, die in Bezug auf Leistung und/oder Übersichtlichkeit besser wären und die ich übersehen habe?
Danke!