Ich hab das ganze bisher per Linq2XMl gemacht, das ganze wird aber leider langsam zu unperformant. Was ich brauche ist, dass die Datren in einer oder mehreren Datein geschrieben werden welche sich auch z.B. auf Band sichern lassen.
Ich speichere einfache Werte Tupel wie <ID>,<Value>,<Timestamp>,<User-ID>,<Host-IP> was zu langsam wird ist die auswertung nach bestimmten benutzern, hosts oder Zeiträumen.
Einträge gibt es bis zu 50.000 pro Tag (Wobei es bisher je User 1 File gibt was ab 1 GB rolliert wird und dann Multithreaded abgefragt wird), vorgehalten werden die Daten auf 5 Jahre also ca. insgesammt 100 Millionen Einträge.
SQL Server fände übertrieben am besten wäre etwas was einfach als DLL mit gegeben werden kann.
Warum ist ein ordentlicher Datenbankserver (mit richtigem Transaktionssupport, Log und Backup-Funktion) übertrieben, wenn du die Daten 5 Jahre vorhalten willst?
Was würde gegen Microsoft SQL Server Compact 4.0 sprechen? Das wird in Dein Projekt eingebetet, muss nicht extra installiert werden. Unterstützt allerdings max. 4GB Datenbanken (sollte aber bei Dir ausreichen, da Du max 1GB hast) Alternative: SQLite , repektive System.Data.SQLite.
[url=http://www.codeproject.com/Articles/9445/Embedded-Firebird-Full-Featured-Embedded-Database]Embedded Firebird[/url] und [url=http://www.vistadb.net/]VistaDB[/url] wären weitere Möglichkeiten.