2016-04-27 15 views
-1

Ich mache ein Spiel, bei dem Kartendaten als Kacheln gespeichert sind. Diese Kacheln werden nicht öfter als einmal in der Version geändert, da die Daten, die sie generieren, versioniert sind und daher so statisch sind wie der Servercode.Speicherung großer, statischer Daten

Da sie statisch sind, dachte ich über die Verwendung einer SQLite-Datenbank im RAM-Speicher, um sie zu speichern. Mit der Anzahl der Kacheln im Spiel (könnte eine Karte bis zu 10.000x10.000 erhalten), könnte es jedoch leicht zu einer Speicherung von Gigabyte Ram führen, wenn es im Speicher gehalten wird (geschätzt bei 15 gb mit 10.000x10.000) Karte).

Ich dachte auch über die Erstellung einer SQLite db und nur Versionierung, dass zusammen mit dem Rest des Codes. Aber ich mache mir Sorgen wegen gleichzeitigen Lesens.

Allerdings fühle ich mich wie eine Postgres-Datenbank ist für diesen Zweck Overkill, da die Daten nicht geändert werden.

Was wäre der akzeptierte Weg, mit einem Datenproblem wie diesem umzugehen?

+0

Was passt nicht zum Dateisystem? –

Antwort

-1

Ich landete mit Redis als allgemeine Lösung für dieses Problem gehen, und speziell den Redis Cloud-App in Heroku, da sie den Einsatz am freien Tiere erlaubt .

0

Es klingt, als ob Sie es in etwas wie S3 speichern möchten (grundsätzlich Dateien verwenden, aber zu einem Dienst ausgelagert, damit Ihre App horizontal skalieren kann).

Sie können S3 verwalten direkt oder über ein Add-on wie https://elements.heroku.com/addons/filepicker

Verwandte Themen