Introduction with Sample Code: Database PStore: the simplest OO database db = PStore.new("/tmp/foo") # open database db.transaction do # begin transaction p db.roots # dislay roots ary = db["root"] = [1,2,3,4] # add to root ary[0] = [1,1.5] # modify object end # end transaction db.transaction do # begin transaction again p db["root"] # get root information end We also have PostgreSQL,MySQL,Interbase interface, plus Ruby/DBI database abstraction layer