mudcoders / guildmud

A SocketMUD-based Multi-User Dungeon built and managed by the members of The MUD Coders Guild.
MIT License
26 stars 12 forks source link

Add SQLite for data storage #3

Closed robotastronaut-zz closed 6 years ago

robotastronaut-zz commented 6 years ago

We are leaning towards using SQLite as our data storage solution. How we go about tying it into the other systems hasn't been discussed. The first steps would likely involve refactoring the existing data storage capabilities of SocketMUD to leverage SQLite. Should there be an option to duplicate data to flat files as well?

Trevoke commented 6 years ago

Sqlite is single-write isn't it? Will that lead to concurrency issues / bottlenecks?

On Fri, Jan 26, 2018, 14:48 Nick Molen notifications@github.com wrote:

We are leaning towards using SQLite as our data storage solution. How we go about tying it into the other systems hasn't been discussed. The first steps would likely involve refactoring the existing data storage capabilities of SocketMUD to leverage SQLite. Should there be an option to duplicate data to flat files as well?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mudcoders/guildmud/issues/3, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEJScGF7cPTq6pQWEyEz6i_pdc3SVlOks5tOiwAgaJpZM4RuyjW .

xenith commented 6 years ago

It's a question of whether you run off of everything in-memory and only use SQLite for persistence. (Many classic MUDs I'm aware of operate that way with flat files.)

Trevoke commented 6 years ago

Ah, gotcha. Right.

On Fri, Jan 26, 2018, 14:56 Justin Seabrook-Rocha notifications@github.com wrote:

It's a question of whether you run off of everything in-memory and only use SQLite for persistence. (Many classic MUDs I'm aware of operate that way with flat files.)

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/mudcoders/guildmud/issues/3#issuecomment-360888404, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEJSbI4ONpGOcXQSfd4aSnuiufCuZfCks5tOi3egaJpZM4RuyjW .

zachflower commented 6 years ago

Yeah, that's the Diku convention. Keeping everything in-memory is significantly faster (although in the current era of SSDs the benefits might not be as drastic as they once were).

xenith commented 6 years ago

Regarding duplicating, I don't think that's necessary. Just set up an administrative CLI (in game or out) to edit the data so you don't have to write raw SQL. And for backups, well, you can just copy the .sqlite file on a regular basis.