我将尝试描述我选择好技术的问题。
我有很多机器将数据存储在本地数据库中。并且有一台客户端机器有它自己的数据库。我需要的是从所有机器中提取数据并放入客户的数据库中。目前,我已经开始实现一些RPC,但我不知道这是不是一个好主意。因为我需要手动处理每一张桌子。数据库为SQLite。
哪一个更好。进行一些RPC调用,或者找到一些具有复制功能的轻量级数据库?也许像MonoDB那样的NoSQL db?
发布于 2012-05-13 18:38:08
我有一个类似的设置,其中有几个服务器收集各种统计数据并存储在一个sqlite3数据库中。组合它们真的很容易。我有一个连接到每个服务器的python脚本,将每个数据库文件下载到一个临时文件夹。然后打开第一个文件,对每个文件使用ATTACH,然后为每个表插入*,以便将所有其他数据库中的表合并到一个组合数据库中:
conn = connect('/tmp/database1.sl3');
curs = conn.cursor();
mergeDatabases(curs, 8);
def mergeDatabases(curs, j):
for i in range(2, j):
print "merge in database%d" %i
print "ATTACH '/tmp/database%d.sl3' AS foo%d;" %(i,i)
curs.execute("ATTACH '/tmp/database%d.sl3' AS foo%d;" %(i,i))
curs.execute("insert into db select * from foo%d.db;" %i)
curs.execute("insert into vars select * from foo%d.vars;" %i)
curs.execute("detach foo%d;" %i)https://stackoverflow.com/questions/10557323
复制相似问题