I have a PC which runs a local desktop application that connects to a logic server with a database. additionally i need a small cache database in this PC so when the client goes offline for some reason i can still have some of the data to pull and still use

I read this article about local database. I can't use Microsoft Access because of it's access limitation of one process can access the mdb file (sound ironic :) ). On the other hand I want to avoid using SQL Server Express because it has quite an overhead per PC installation and maintenance.

I do want a SQL engine that will allow me triggers so I'll be able to cache or extract data from the PC to the server and vice versa automatically and not develop a service to cache the data

NoSQL like mongoDB can't be use in here because the data structure is mad of a lot of relationships

Any opinion or experience in this area will be helpful


Consider SQLite. It is lightweight, reliable, and well proven in production. In fact, the creators claim it is the most widely deployed database in the world.

It works well as a data interchange format as well as a database, using tools like sftp to sync files between servers. In addition, developers can easily work with SQLite files in just about any stack.

Not the answer you're looking for? Browse other questions tagged or ask your own question.