Databases are easy to set up, and all of the major databases are either free or have a free version available. Therefore I would use an actual database in the demo environment. Advantages:
- Complete consistency with production environment (or at least very close).
- No need to write special handling for the different interface.
- Easy to generate sample data (some tables could be taken directly from production. If there is sensitive data in your production database, you could write a simple routine to anonymise it--replace with fake names and addresses, for example.)
If the size of your demo environment is not a big deal, I would even access the database via a local web server if that helps the environment stay similar to production. There are prebuilt packages (such as XAMPP, which includes Apache, MySQL, and other tools) that make this sort of thing easy. Setting up some extra programs is easy, while making changes to your original program is hard. Therefore, minimize the latter whenever possible.
If duplicating a production-like environment is too heavyweight for your demo purposes, you could use a lightweight database (such as SQLite), and still have an interface that is fairly similar.