Amazon S3 – Architekturentscheidungen zur Dateiorganisation im Voraus

Amazon S3 – Architekturentscheidungen zur Dateiorganisation im Voraus

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!

verwandte Informationen