http://qs1969.pair.com?node_id=225797

ph0enix has asked for the wisdom of the Perl Monks concerning the following question:

Hi monks,
In one project of mine I need to share huge data structure (hash of arrays of objects). I use client / server model in my application. I expected to use threads for serving clinets and data on the server will be shared via threads::shared. My problem is that threads::shared can't share complex data structures and objects. How can this be solved? All threads need to be able to modify this shared data...

I see one solution, but this will rapidly decrease performance - save shared data to the some kind of database - BerkeleyDB, PostgreSQL, etc. BerkeleyDB can be good solution, but are the existing packages designed for using with tie interface prepared for concurrent acces? Is there sample perl code?

Comments, suggestions?