标签: database-replication

Delphi的数据库同步解决方案

我正在寻找一些起点,将Win32 Delphi应用程序的数据与Web应用程序的远程数据库集成在一起.

该项目打算解决的问题:

1)桌面在vpns上表现不佳.远程办公室的用户可以使用Web应用程序.

2)一些公司更喜欢网络应用程序到桌面应用程序

3)移动设备可以将Web应用程序作为前端.

我发现的问题:

Web应用程序将在基于Unix的系统上运行,可能是Linux,而桌面应用程序使用NexusDB,而Web应用程序可能是Postgres.不同的平台和数据库.

使用Delphi,似乎Microsoft Sync Framework不适用于此项目.

我的第一个想法是为Web应用程序提供标准REST API,让桌面应用程序点击API,就像它是一个客户端,每隔n分钟从本地数据库服务器.我已经看到了很多问题!

delphi database-design database-replication

4
推荐指数
2
解决办法
4605
查看次数

Postgres 中的离线有限多主机

站点 A 将生成一组记录。他们每晚都会备份数据库并将其 ftp 到站点 B。站点 B 根本不会修改这些记录,但会添加更多记录,并且其他表将为站点 A 的记录创建 FK。

因此,本质上,我需要设置一个系统来从站点 A 的转储中获取所有增量更改(主要是插入和更新,但也可能进行一些删除)并将它们应用到站点 B。

此时,我们正在使用 Postgres 8.3,但如果有价值的话可以升级。

我相信我可以用Bucardo相对直接地做到这一点,但在我设置 Linux 盒子来测试它之前,我很想听到替代方案(或 Bucardo 的确认)。

postgresql replication database-replication

4
推荐指数
1
解决办法
1059
查看次数

如何确定表是否用于存储物化视图日志?

我在其上创建了物化视图日志表:

create table T1(A number primary key);
create materialized view log on T1 with primary key;
Run Code Online (Sandbox Code Playgroud)

Oracle还为物化视图日志创建了两个表:

select TABLE_NAME from USER_TABLES

|T1       |
|MLOG$_T1 |
|RUPD$_T1 |
Run Code Online (Sandbox Code Playgroud)

如何确定该RUPD$_T1表是一个包含mview日志的表T1

我可以确定这个MLOG$_T1:

select MASTER, LOG_TABLE from USER_MVIEW_LOGS

|T1       |MLOG$_T1 |
Run Code Online (Sandbox Code Playgroud)

但是在哪里可以找到对该表的引用RUPD$_T1

sql oracle materialized-views database-replication

4
推荐指数
1
解决办法
1万
查看次数

Mongoose:读取ReplicaSet

我有一个mongodb副本集,我想从中读取主数据库和辅助数据库中的数据.

我用这个命令连接到db:

mongoose.connect('mongodb://user:password@54.230.1.1,user:password@54.230.1.2,user:password@54.230.1.3/PanPanDB?replicaSet=rs0&readPreference=nearest');

它不起作用..我的申请继续从初级读取..有任何建议吗?

mongoose mongodb database-replication node.js

4
推荐指数
3
解决办法
8396
查看次数

脱机启动应用程序时的数据库复制

我使用PouchDB离线存储数据,并在应用程序上线时与远程CouchDB数据库同步.如果应用程序在线启动,它可以正常工作:PouchDB pause在连接中断时触发事件,并在连接恢复时继续.这是一个示例代码:

localDB.replicate.to(remoteDB, {
  live: true,
  retry: true
}).on('paused', function (info) {
  // replication was paused, usually because of a lost connection
}).on('change', function (change) {
  // yo, something changed!
}).on('active', function (info) {
  // replication was resumed
}).on('error', function (err) {
  console.log(err);
  // totally unhandled error (shouldn't happen)
})
Run Code Online (Sandbox Code Playgroud)

但是当脱机启动应用程序时,会遇到错误(Failed to load resource: net::ERR_ADDRESS_UNREACHABLE)

无法访问远程数据库,PouchDB触发error事件("Database encountered an unknown error"状态500).即使连接回来,复制也行不通.

问题: 即使应用程序是脱机启动的,也有办法使复制工作(例如,pause即使没有访问远程数据库,事件也会先发生)?

更新: 感谢nlawson的回答!我只需要在函数中添加远程数据库创建以使其工作:

function retryReplication() {
  var remoteDB = new …
Run Code Online (Sandbox Code Playgroud)

couchdb database-replication pouchdb

4
推荐指数
1
解决办法
1316
查看次数

如何使用ansible设置mongo副本集?

我有两台机器,每台机器托管一个mongo实例.

我需要它们作为副本集一起工作.

我使用Ansible进行配置.

我怎样才能做到这一点?

mongodb database-replication ansible replicaset ansible-playbook

4
推荐指数
1
解决办法
5608
查看次数

cassandra分片和复制

我是Cassandra的新手,虽然这篇文章解释了分片和复制,但我陷入了困境 -

我有一个群集,在我的本地计算机上配置了6个Cassandra节点.我创建了一个新的键空间"TestKeySpace",复制因子为6,键空间为"employee",主键为自动增量号,命名为RID.我无法理解如何对这些数据进行分区和复制.我想知道的是,因为我将复制因子保持为6,并且数据将分布在多个节点上,那么每个节点是否将具有与其他节点完全相同的数据?

如果我的群集具有以下配置:

    Number of nodes - 6 (n1, n2 ,n3, n4, n5 and n6).
    replication_factor - 3. 
Run Code Online (Sandbox Code Playgroud)

如何确定任何一个节点(比如n1),其他两个节点复制数据以及哪些其他节点表现为不同的分片.

提前致谢.

此致,Vibhav

PS - 如果有人投票,这个问题请在评论中提到错误.

replication sharding database-replication cassandra

4
推荐指数
1
解决办法
1875
查看次数

4
推荐指数
1
解决办法
4404
查看次数

无法更新表临时表,因为它没有副本标识并在 Postgres 中发布更新

我将 Postgres 数据库与复制一起使用。
我在 postgres 函数中使用了临时表。我无法在通过加入更新临时表时更新它。

下面是 Postgres 查询(tempallergyupdates是临时表):

 drop table if exists tempallergyupdates;
 create temp table tempallergyupdates(patientallergyid int,updateid int, newupdateid int);
 update tempallergyupdates set patientallergyid = 1;
Run Code Online (Sandbox Code Playgroud)

上面的查询抛出以下异常:

无法更新表“tempallergyupdates”,因为它没有副本标识并发布更新

database postgresql database-replication

4
推荐指数
1
解决办法
3158
查看次数

使用重读从站管理热备中 Postgres 复制的冲突和滞后

要求:

避免terminating connection due to conflict with recovery错误,也有可接受的replication lag

Google Cloud PostgreSQL 9.6,复制开启(使用流式复制),PGPool-II 设置为只做负载均衡并且在从属设备上具有以下属性:

work_mem    3276800
commit_delay    100
max_wal_size    940
max_standby_archive_delay   -1
max_standby_streaming_delay -1
hot_standby_feedback    on
Run Code Online (Sandbox Code Playgroud)

机器配置

vCPU:8,内存:30 GB,SSD 存储:76 GB

工作量:

Master满载writesreads,slave也满载了很多reads。查询的最大长度可能约为8-10秒。

我们之前尝试过的:

  • 设置max_standby_archive_delaymax_standby_streaming_delay900000(900秒),但是我们看到了很多的conflict错误。

  • 设置max_standby_archive_delaymax_standby_streaming_delay-1,这使冲突错误消失,但是滞后增加了很多(在某处23mins

  • 设置max_standby_archive_delaymax_standby_streaming_delay-1hot_standby_feedbackon。这也使冲突错误消失了,但是我们仍然看到复制滞后(大约500 secs …

postgresql replication database-replication pgpool

4
推荐指数
1
解决办法
1580
查看次数