数据库复制软件

Database Replication Software

我看到了一些与在数据库上复制数据的软件相关的问题,但我还没有看到一个可能满足我需要的问题。我需要将许多奴隶复制到一个主人。 master 会将来自 slave 的所有数据合并到它的 table 中。下面的场景应该有助于解释我在寻找什么:

每台机器都有相同的 table/DB 使用 SQLite 的布局。对于这些示例,我将使用 1 table 和 Timestamp、MachineNumber、PointName、Value 列:

机器 1 上的数据库 table

00:00:00 1 Point1 1.0
00:00:00 1 Point2 2.1
00:00:01 1 Point1 1.5
00:00:01 1 Point2 2.1

机器 2 上的数据库 table

00:00:00 2 Point1 2.0
00:00:00 2 Point2 3.1
00:00:01 2 Point1 2.1
00:00:01 2 Point2 3.0

MASTER 上的数据库(由于连接丢失,需要从每个从属复制和增量添加)

00:00:00 1 Point1 1.0
00:00:00 1 Point2 2.1
00:00:00 2 Point1 2.0
00:00:00 2 Point2 3.1
00:00:01 1 Point1 1.5
00:00:01 1 Point2 2.1
00:00:01 2 Point1 2.1
00:00:01 2 Point2 3.0

尝试:

sqlite3 db-master
sqlite> attach 'db1' as db1;
sqlite> attach 'db2' as db2;
sqlite> insert or ignore into data select * from db1.data;
sqlite> insert or ignore into data select * from db2.data;

注意:如果从表中的数据不断累积,您可能需要为数据定义一个唯一的ID,这样每次与主数据库同步时就不会重新添加相同的信息。