1

Our client software is currently sending large amounts of xml to our SQL Server db, stored as NTEXT, and the db is getting huge and performance is suffering. This xml doesn't need to be indexed, just needs to be persisted somehow to disk. Is there an easy, robust way of storing this stuff to disk on a remote server? I looked into CouchDB, but I'm sure there is an easier way of doing this. I prefer unix solution, but anything goes.

Thanks!

voretaq7
  • 79,879
  • 17
  • 130
  • 214
Jacko
  • 163
  • 6

2 Answers2

1

I would use rsync and store it as flat files; if you don't need indexing there's no need for a database. That way when you need to add more data to what's there, you don't have to send the entire file over again.

It should be as simple as rsync -avz source/dir/ remote:/path/to/dest/dir, if the remote server has SSH running; the manpage can tell you more (be careful with the closing slash thing, I can help you more with that if I'm given more specific details if you like).

  • Thanks, Mickey. Sadly, the client is on windows, so rsync is not available by default. But flat files are a good idea. – Jacko Jul 09 '10 at 15:25
  • I've had a lot of success using rsync through Cygwin; see [this backup solution for Windows](http://justinsomnia.org/2007/02/how-to-regularly-backup-windows-xp-to-ubuntu-using-rsync/). – Michael Louis Thaler Jul 12 '10 at 15:37
0

Since there is no need to use SQL features (like XML type in Microsoft SQL Server), I would suggest storing the files directly to the hard disk.

Depending on the context, you can either create a shared directory with write-only access (it was possible in Windows XP, so it is probably possible with Unix solution).

Or if the client software is used outside local network, you can receive XML data through Web services and store it to the hard disk. Or if performance is a major concern, you can use HTTP protocol directly (POST/PUT), instead of using Web services.

Arseni Mourzenko
  • 2,275
  • 5
  • 28
  • 41
  • Thanks, MainMa. The client myst connect outside LAN, so web service is the way to go. Or just hit our FTP server. – Jacko Jul 09 '10 at 15:26