标签: database-replication

数据库分发

有选择地分发数据有哪些可能性?

我用一个例子来解释我的问题.考虑一个包含所有数据的中央数据库.该数据库位于特定的地理位置.

应用程序A需要中央数据库中存在的信息的子集.此外,应用程序A可以位于与中央数据库所在的地理位置不同(并且可能远)的地理位置.

因此,我考虑在应用程序A的同一位置创建一个新数据库,该数据库将包含中央数据库的一部分信息.

哪种技术/产品允许我部署这样的配置?

谢谢

java database database-replication

6
推荐指数
1
解决办法
200
查看次数

ReplicaSet中的MongoDB多个主服务器

我有一个关于MongoDB副本集中多个主人的问题.我有以下布局:

服务器A - >使用MongoDB和几个应用程序

服务器B - >使用MongoDB和几个应用程序

MongoDB的两个实例都组织在同一副本集中(服务器A作为主服务器,服务器B作为辅助服务器).但现在有问题了.两个数据库都应包含服务器上应用程序的数据.

是否可以部署具有两个主服务器的副本集,以便服务器A的数据在服务器B的MongoDB中可用,反之亦然?

非常感谢你提前

replication master mongodb database-replication replicaset

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

如何为MongoDB服务器从属副本指定套接字超时

当Mongo数据库(版本3.0.5)从主数据库服务器复制到从服务器时,我得到套接字错误110(连接超时),更准确地说,在提交该数据库的复制时(从服务器的日志在下面).我想可能原因就是数据库很大并且发送操作提交需要花费太多时间.

如何为mongo服务器指定不同的套接字超时?如果不可能,有没有其他方法来修复复制?

我发现这样的选项只适用于mongo客户端(连接字符串选项socketTimeoutMS),但它对Mongo服务器没有帮助.

2016-04-26T13:36:34.693+0100 I INDEX    [rsSync]         done building bottom layer, going to commit     
2016-04-26T13:36:34.693+0100 I INDEX [rsSync] build index done.  scanned 30980334 total records. 4072 secs    
2016-04-26T13:36:34.772+0100 I REPL     [rsSync] initial sync cloning db: {skipped db name}    
2016-04-26T13:36:34.823+0100 I NETWORK  [rsSync] Socket say send() errno:110 Connection timed out {skipped ip}:27017    
2016-04-26T13:36:34.828+0100 E REPL     [rsSync] 9001 socket exception [SEND_ERROR] server [{skipped ip}:27017]     
2016-04-26T13:36:34.828+0100 E REPL     [rsSync] initial sync attempt failed, 9 attempts remaining
Run Code Online (Sandbox Code Playgroud)

更新.我在评论中被要求输出rs.status():

{       "set" : "<skippedsetname>",
        "date" …
Run Code Online (Sandbox Code Playgroud)

sockets mongodb database-replication replicaset

6
推荐指数
1
解决办法
1908
查看次数

如何设置一个不隐藏的mongodb延迟从站?

出于测试目的,我试图通过设置 slaveDelay=n 的从站来模拟 mongodb 集群中的复制延迟。事实证明,这神奇地导致奴隶被隐藏,所以我的测试无法访问它。

MongoDB的文档状态“一般来说,我们不希望被用于slaveOkay延迟成员读取因此,设置slaveDelay还隐藏应用程序中的成员,就好像您还可以设置隐藏:。真正的”

有没有办法为我的“非典型”用例进行配置?或者有没有更好的方法来模拟从具有不同时间延迟的不同从站读取?

我尝试使用 TaggedReadPreference 强制测试代码连接到延迟的从站,但这导致

com.mongodb.MongoException: Could not find any valid secondaries with the supplied tags ('{ "delayed" : "true"}'
Run Code Online (Sandbox Code Playgroud)

显然,Java 驱动程序看不到辅助驱动程序。当我删除“slaveDelay”设置时,它连接正常。

这是我的集群配置:

rs.reconfig({
"_id" : "rs0",
"version" : 4,
"members" : [
    {   "_id" : 0,
        "host" : "localhost:27017",
        "priority" : 0,
        slaveDelay: 10,
        tags: { delayed: "true" }
    },
    {   "_id" : 1,
        "host" : "localhost:27018"
    },
    {   "_id" : 2,
        "host" : "localhost:27019",
        "arbiterOnly" : true
    }
]
})
Run Code Online (Sandbox Code Playgroud)

mongodb database-replication

5
推荐指数
1
解决办法
1758
查看次数

从具有多个数据库的实例复制单个 Redis 数据库

我有一个包含两个数据库的 Redis 实例。现在我想设置第二个实例并复制第一个实例,但第二个实例应该只有一个数据库并且只从第一个实例复制 db 0。当我尝试这样做(slaveof ...为第二个实例设置)时,我在 Redis 日志文件中收到以下错误消息:

FATAL: Data file was created with a Redis server configured to handle more than 1 databases. Exiting
Run Code Online (Sandbox Code Playgroud)

我尝试使用redis-dump,但是当我尝试将生成的转储导入新实例时出现错误。(我认为与 2 dbs 和 1 db 无关,而是 redis-dump 中的一个错误,它仍处于 alpha 阶段。

该怎么办?

database-replication redis

5
推荐指数
1
解决办法
6327
查看次数

为什么在数据库复制中,奴隶机器的读取速度比主机快

在主/从数据库复制中,所有写入都将转到主计算机.所有读取都转到从机.主机将数据复制到从机.当主设备将数据复制到从设备时,从设备必须执行写操作以锁定该行.从奴隶机器读取速度更快,但为什么呢?

database replication database-replication

5
推荐指数
2
解决办法
872
查看次数

Amazon RDS 只读副本——跳过复制错误

我有一个 amazon rds 实例数据库,我正在使用只读副本进行分析。但是,每周左右,只读副本都会因复制错误而崩溃。

我已经尝试根据此帮助文章查看从属状态并跳过复制错误,但是,我只能通过摆弄并创建新的只读副本来恢复它。

由于外部服务依赖于初始只读副本,这有多种原因。

主数据库没问题,但似乎某些完整性错误会导致只读副本崩溃且无法恢复。

目前,我的只读副本具有以下参数:

Replication State: Error
Replication Error: Error 'Cannot add or update a child row: a foreign key constraint fails.....
Run Code Online (Sandbox Code Playgroud)

有没有办法配置这个只读副本来跳过所有错误?我只是想弄清楚如何使它更稳定。谢谢!

mysql database-replication amazon-web-services amazon-rds

5
推荐指数
1
解决办法
4401
查看次数

PostgreSQL 复制:多个 Master 到单个 Slave

我在不同的地理位置(本地站点)有几个 PostgreSQL 数据库。

  • 每个本地站点 DB 都具有相同的架构,但具有唯一的数据。例如,以包含以下列的表为例:Site_ID、Department_ID、Department_Name。Site_ID 对于每个站点都是唯一的。
  • 我想将本地站点数据库中的所有数据收集到充当数据仓库的集中式数据库(再次是 PostgreSQL)中。
  • 集中式数据库上的相应示例表将具有与上述相同的列。所有本地站点数据都将进入此表。当然,每个站点数据由 Site_ID 指定。

问题:如何使用 PostgreSQL 复制方法实现这一点?(流媒体/多主 UDR/BDR/等)

限制:本地站点只能进行传出网络连接(即由于防火墙限制不能进行入站连接)

postgresql replication database-replication transactional-replication

5
推荐指数
0
解决办法
621
查看次数

MonogoDB 副本集状态未从启动更改为辅助

我已经设置了一个带有 3 个节点(虚拟机运行 CentOS)的 MongoDB 副本集。一个节点成为主节点,其他 2 个节点卡在启动中。当这 2 个节点将其状态从启动更改为辅助时。

aryabhata:PRIMARY> rs.status()
{
    "set" : "aryabhata",
    "date" : ISODate("2016-04-30T08:10:45.173Z"),
    "myState" : 1,
    "members" : [
            {
                    "_id" : 0,
                    "name" : "localhost.localdomain:27017",
                    "health" : 1,
                    "state" : 1,
                    "stateStr" : "PRIMARY",
                    "uptime" : 69091,
                    "optime" : Timestamp(1461935462, 1),
                    "optimeDate" : ISODate("2016-04-29T13:11:02Z"),
                    "electionTime" : Timestamp(1461934754, 1),
                    "electionDate" : ISODate("2016-04-29T12:59:14Z"),
                    "configVersion" : 459192,
                    "self" : true
            },
            {
                    "_id" : 1,
                    "name" : "repset1.com:27017",
                    "health" : 1,
                    "state" : 0,
                    "stateStr" : …
Run Code Online (Sandbox Code Playgroud)

mongodb database-replication replicaset

5
推荐指数
2
解决办法
8206
查看次数

为什么在 MongoDB 中找不到文档,但读取重试有帮助?

有时我们会观察到下一种情况:

  • 我们w: 1通过mongos写入分片primaryA 副本的路由器向 MongoDB 插入一个带有写入问题的文档。
  • 我们local通过mongos应该从分片primaryA 的副本读取的路由器使用默认读取关注从 MongoDB 读取此文档。
  • 这就像未找到文档一样findOne返回null
  • (实际上它是 Python 驱动程序pymongo - find_one(),它返回None)。
  • 我们休眠 0.1 秒并重试读取。
  • 在步骤 2-5 中,文档最终被成功读取。

我们发现:

  • 当大量文档快速插入到此集合中时,会更频繁地观察到这种情况。
  • 我们怀疑这样​​的插入会导致块从分片 A 到分片 B 的分块和迁移。
  • 文档在迁移时,是否会在短时间内无法读取?
  • 但是只有一个插入到只有一个分片db.oplog.rs,没有fromMigrate标志。

为什么会发生?如何正确处理?

这些误报“未找到”-s 可能会导致错误的原子查找或创建通过$setOnInsert?

sharding database-migration mongodb database-replication pymongo

5
推荐指数
0
解决办法
394
查看次数