Same as Viaweb. Hash tables in memory. Updates to disk, but no reads from disk except at startup.
Does the Arc/Lisp process only handle one request at a time? If it handles multiple requests at once how do you keep the writes atomic?
I'm so curious about this subject. Is there something worth reading to learn more? Ultimately, I want to understand why you came to the decisions you did. Short term questions: Are disk updates performed immediately? Is there a separate thread that updates the disk? Are data stored in a flat file?