In a nutshell I am developing a socket server in order to add multiplayer support to my Expensive game (Using Actionscript 3. Binary Socket around the Client-Finish).

I made the decision to choose Python since I am the only developer of the overall game/server and will also be my first non-obstructing socket server. I would use Twisted however i deiced which i would use Python's asyncore (Asynchronous socket handler).

If I am not mistaken hooking up to some traditional database is really a Obstructing process. Since I am attempting to make mtss is a non-obstructing server I am curious in regards to what solutions may be open to save permanent game related data?

It is best to use any DB you want (sqlite includes Python and can most likely be beneficial!): simply have a devoted thread that accesses stated DB, taking demands from the Queue (and taking advantage of another Queue, passed in included in the request, to come back results as needed). Threads aren't so bad for those who have a little number, plus they never share use of any structure or system that is not read-only, interacting only by queues (that are inherently thread-safe).

Obstructing (in traditional database terms, it's "securing") is inevitable if you would like any kind of consistency inside your data.

Consistency as with "it's impossible for 2 players with distinct scores to both be declared because the champion".

Lowering the securing low is strictly among individuals things in database design that transform it into an talent you (possibly alas) only reach master after getting messed up a lot of occasions.