BerkeleyDB may be a good solution for you, in conjunction with
Storable for serialization. Assuming that your entities don't have to point to each other (you don't say whether there is advanced intra-object connection or not), this has several advantages:
- Can run using a remote RPC server if you wish
- Allows for arbitrarily large objects with diverse structure to be saved and retrieved
- Simple interface, without requiring RDBMS overhead, limitations, or complexity
- Good performance, locking, etc.