Hello,

I'm using .NET C#, service for server side, windows form for client side

I wonder if I should use a database (microsoft's one for example) for my application. Describing :

I have a server that does stuff locally. The server has an history and his activity status stored on a file (in case of shutdown) and in memory.

I have clients that may connect from time to time to check how it's going (less than 10 at same time, and even maybe max)

Current structure :
A server's thread accept incoming clients (TCP), transmit cypher keys and feed them with history(about 10MB).
When the server has an internal update, it sends it (less than 1kb) to each client)
Clients have no persistant memory, meaning when they close they'll have to get the history again next time

Incoming structure :
Same for the server
Clients now drops their database when closing, import it again on load. When the client recives the history from server, it'll delete non provided entries, update existing ones provided and create new ones.

This second idea is to "speed up" the loading so my client can start working even is all list is not yet there (cannot work with a 1 per 1 push history from server, too much glitching while updating with the forms)

Question 1 :
Was wondering if it was interesting instead of the server to manage the clients to delegate it to a SQL server type. Server posts updates on the server. Clients fetches it. Is it a good idea ?

Question 2 :
If using a database, how to notify a client that an entry has updated ? No way ?