1

良い技術を選ぶという私の問題を説明しようと思います。

データベースにデータをローカルに保存する多くのマシンがあります。また、独自のデータベースを持つクライアント マシンが 1 台あります。私が必要としているのは、すべてのマシンからデータを取得し、クライアントのデータベースに入れることです。今のところ、いくつかの RPC の実装を開始しましたが、それが良いアイデアかどうかはわかりません。各テーブルを手動で処理する必要があるためです。データベースはSQLiteです。

何が良いですか。いくつかの RPC 呼び出しを行ったり、レプリケーションを使用して軽いデータベースを見つけたりしますか? 多分NoSQL dbはMonoDBのようなものですか?

4

1 に答える 1

0

さまざまな統計を収集して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)
于 2012-05-13T10:38:08.080 に答える