AdmSteck
AdmSteck

Reputation: 1751

Serverless database replication

TLDR: Are there any embedded db systems that support replication without a server? Preferably usable with .Net

Background: In the past I was asked to create several MS Access databases that are now being used across the network and performance is rather slow. I have now been asked to update these databases to add some new features and improve performance. Ideally I would like to have a server based backend like MS SQL Server, unfortunately it doesn't look like that will happen. I am looking for some form of database I can use where I have a master copy on a network share and client copies can replicate with this master without the master running on a server. Similar to MS Access replication. I am most comfortable working with .Net languages like C#. If all else fails I will probably have to try MS Access replication, but I was hoping for something a little more robust.

Added Information: I am not in the IT department at my company and therefore do not have access to a server system. We are trying to get a single database that we can have admin rights over on an existing SQL Server, but it is an uphill battle. I am looking for alternatives that provide peer to peer replication to overcome the performance issues I am experiencing with MS Access. I was also looking for something that would have more support in .Net since Access doesn't work with Linq or EF.

Upvotes: 1

Views: 895

Answers (3)

Spiky
Spiky

Reputation: 509

If you don't have a unique point of entry to your data (like a single database server) you automatically need to handle a lot of replication hassle : concurrency, just to name one.

It sounds like your problem is a performance one, and you tought about replication as an avenue, am I right? If you can achieve a good distributed performance without replication, does it fit?

There are No-SQL tools (like JoeBilly said) like Memcached or the Sterling framework. The idea behind is that you handle in-memory sets of objects, without persisting them to a regular SQL database. But you can also persist them anyway in different ways (the frameworks handle some scenarios for that).

If you are to revert to MS-Access, then even the free SQL Server Express would be better in my opinion. But this still requires a server (depending on volume, a regular desktop could do). Some other database engines handle replication (I think PostgreSQL (http://www.postgresql.org/) is one - and it's free).

Maybe you could elaborate on your scenario and constraints?

Upvotes: 0

JoeBilly
JoeBilly

Reputation: 3107

Most of solid replication architecture are based on Document-oriented databases.

In the .NET world, you can check NoSql databases : peformance & scalability. Check Masterless Replication in NoSQL solutions.

Also, maybe you'll not choose this architecture in 2011 but Lotus Notes/Domino provides strong replication accross servers and clients (with an offline mode).

However, the databases are not SQL-based even if you can somehow "synchronise" them with a SQL server.

Upvotes: 0

matt
matt

Reputation: 347

You could use SQL Server Compact. Earlier versions support synchronization from a central store but in 4.0 you could use something like this Snapshot Synchronization to synchronize the data.

Upvotes: 1

Related Questions