It depends a great deal on what you actually need from your database. DBM stores pretty much nothing more than a hash (actually, less--it stores a mapping from strings to other strings), so if you just need a data store, it may be your best way to go. But a real database offers a lot more ability, at the price of being more complex to deal with.