Database synchronization

Recently, my clients asked me if they can use the application theyre remotely, disconnected from the local network and the company server.

One solution is to place the database in the cloud, but the connection to the database, as well as the cloud and the Internet connection should always be available. It is not always so.

So my question is: is there any database synchronization system or synchronization library so that I can work disconnected from the local database, and when I connect the synchronization of the changes that I made and receive the changes made by other users?

Update:

The application is under Windows (7 / xp) (for now)

In Delphi 2007 win32

All clients must have read / write access.

All clients have an Internet connection, but not always ON

Security is not critical, but the synchronization service must encrypt the message

When in the presence of a network of companies, the system should synchronize and use the server database, and not the local one.

+6
source share
5 answers

You have many problems thinking about such a solution. Firstly, there are many possible solutions, such as:

  • Using database replication in a database to simulate each update (for example, a hot backup)
  • Creating an application for a periodic copy of the database (every night)
  • Using a third-party tool (this is what you ask, I think)

When using replication services, the connection does not have to be inserted. Changes to the database are logged when the connection is unavailable, and then applied when they can be sent.

However, when you leave the corporate network, there are many other problems. What about data security and access rights? Do you have other options, for example, to simplify access to the database from the network? Do users only need read-access to the database or read and write access? Both options will be available at the same time. Were there updates for both at the same time?

You may have other options that are safer than just moving the database to the cloud.

+1
source

I believe RemObjects DataAbstract allows offline mode and synchronization using what they call Briefcases . All your other requirements (security, encrypted connections, etc.) are also covered.

This is not a replacement for replacement, I thought, and may require extensive rewriting / refactoring of your application. There are many sides to the thought; business rules can / should be applied on the server (true security), business rule scenarios, multi-platform architecture, etc.

+1
source

In the Java world there are some products (SymmetricDS lgpl license) - in addition to the actually working system, these are documents as it achieved synchronization. It connects to any db with jdbc support. There is a pro version, but the user manual (downloadable pdf) gives you a db scheme plus push pull synchronization rules. Useful if you want to create your own.

Btw has data replication, so a tag that will help.

+1
source

One free feature is the Microsoft Sync Framework: http://msdn.microsoft.com/en-us/sync/bb736753.aspx

You may be able to use it, but you will need to provide more detailed information about your application and operating environment.

0
source

Is it possible to use a database like .mdb and work fine? I try, but sometimes the file where the database changes from DB to DB1, I use delphi Xe4 and Google Drive. Thank's

0
source

Source: https://habr.com/ru/post/916780/


All Articles