数据库复制软件
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,这样每次与主数据库同步时就不会重新添加相同的信息。
我看到了一些与在数据库上复制数据的软件相关的问题,但我还没有看到一个可能满足我需要的问题。我需要将许多奴隶复制到一个主人。 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,这样每次与主数据库同步时就不会重新添加相同的信息。