yes, a database, because of the whole mess with opening/writing/locking files.
But the real trouble for someone new to databases is creating a good enough database schema. Make sure it is normalized (
http://en.wikipedia.org/wiki/Database_normalization), meaning that you do not have redundant data lying around.