I think of updating the extern database asynchronously, not synchron with the running SimTask.
First the economic transaction is made inside the SGS and a GLO is constructed listening to Raw Socket Events ready to report the transaction to the database if the socket connection will be available. The last action on the SimTask is opening the socket connection registering the listening GLO; then the task ends.
As soon as the socket connection will be available, the GLO containing the transaction will be “started” by SGS and sends the economic transaction as an SQL command through the socket to the database, closes the socket and thats it so far - should be pretty fast, so no problem with timeout here. Hm, maybe I should use an XML document instead of a SQL command here in order to be able to transfer some meta data with it at the same time.
The only problem is how to get rid of this GLO again. It was started by an event, therefore it was accessed by GET and I cant kill it from inside the GLO because it would be written again when the task ends. Any ideas how to get rid of it safely after execution?-
Hm, maybe I should not kill those GLOs, because I could use them in the case I need to synchronize the external database again during a sheduled downtime for maintainance purposes. If they are still there, I could use them to redo all transactions from the last safe point of the database to the current state of the SGS and create a new safe point this way … much better, just need to name those GLOs properly.
Thank you for your question, abies, it spend me a new idea on this 
To answer your question. I dont think of separating the market from the SGS. I just wanted an instrument to analyse the market in a sophisticated way outside of the GLO pool. The external economic data in the database is 100% redundant, just for supplying sophisticated fast answers to complex questions without the need to investigate thousands of GLOs. The database is not just covering market information, but also logistics and other important economic informations.
Ragosch
Btw: the clients would contact the extern database directly, just querying it to get sophisticated answers. There is just a reporting connection planned from the game logic to the database, actually just updating it, never requesting data from there.