Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我可以设置一个经过筛选的星形模式数据库复制吗?_Mysql_Database_Replication_Rdbms_Database Replication - Fatal编程技术网

Mysql 我可以设置一个经过筛选的星形模式数据库复制吗?

Mysql 我可以设置一个经过筛选的星形模式数据库复制吗?,mysql,database,replication,rdbms,database-replication,Mysql,Database,Replication,Rdbms,Database Replication,我们有一个客户端,它需要设置N个本地数据库,每个数据库包含一个站点的数据,然后有一个主公司数据库包含所有N个数据库的联合。单个站点数据库中的更改需要传播到主数据库,而主数据库中的更改需要传播到相应的单个站点数据库 我们一直在为需要两个数据库同时保持最新的客户机使用MySQL复制。这是一种双向复制。如果我们在这里尝试完全相同的方法,我们将得到所有N个本地数据库,相当于主数据库,而这不是我们想要的。不仅每个站点不能看到来自其他站点的数据,而且从主站点发送数据N次而不是一次可能是巨大的浪费 用MySQ

我们有一个客户端,它需要设置N个本地数据库,每个数据库包含一个站点的数据,然后有一个主公司数据库包含所有N个数据库的联合。单个站点数据库中的更改需要传播到主数据库,而主数据库中的更改需要传播到相应的单个站点数据库

我们一直在为需要两个数据库同时保持最新的客户机使用MySQL复制。这是一种双向复制。如果我们在这里尝试完全相同的方法,我们将得到所有N个本地数据库,相当于主数据库,而这不是我们想要的。不仅每个站点不能看到来自其他站点的数据,而且从主站点发送数据N次而不是一次可能是巨大的浪费

用MySQL实现这个新的星形模式,我有哪些选择?我知道我们只能复制某些表,但有没有办法按记录过滤复制


是否有任何工具可以帮助或与之竞争的RDBMS更好地查看?

简短回答否,您应该重新设计

很长的答案是肯定的,但这是相当疯狂的,设置和管理将是一个真正的痛苦

一种方法是在站点之间循环主数据库的复制。使用一个脚本从一个站点复制30秒,记录它走了多远,然后转到下一个站点。您可能希望查看以限制复制的内容


我不确定的另一个选择是在主办公室中有N个mysqls,从每个站点办公室复制,然后使用提供从主数据库到每个站点从属服务器的公共视图。站点从属服务器可以从主数据库进行复制,并获取所需的任何更改。

简短回答否,您应该重新设计

很长的答案是肯定的,但这是相当疯狂的,设置和管理将是一个真正的痛苦

一种方法是在站点之间循环主数据库的复制。使用一个脚本从一个站点复制30秒,记录它走了多远,然后转到下一个站点。您可能希望查看以限制复制的内容


我不确定的另一个选择是在主办公室中有N个mysqls,从每个站点办公室复制,然后使用提供从主数据库到每个站点从属服务器的公共视图。站点从属服务器可以从主数据库进行复制,并选择他们需要的任何更改。

听起来你需要一些专家帮助,而我可能不需要

此复制需要多“实时”? 某种类型的ETL过程可能是一种选择。我们在内部使用MS SSIS和Oracle;SSIS对于ETL类型的工作似乎相当好,但我不在那个特定的采煤工作面上工作,所以我真的不能说

数据的波动性如何?您认为数据主要是操作性/事务性的吗? 你在说什么样的数据量


中央主机是否也用作其所在办公室的本地数据库?如果是的话,你可能想改变这种状况——让总部像远程办公室一样工作——这样你就可以对所有办公室一视同仁;如果不同的网站受到不同的对待,你经常会遇到问题/异常情况。

听起来你需要一些专家帮助,而我可能不是

此复制需要多“实时”? 某种类型的ETL过程可能是一种选择。我们在内部使用MS SSIS和Oracle;SSIS对于ETL类型的工作似乎相当好,但我不在那个特定的采煤工作面上工作,所以我真的不能说

数据的波动性如何?您认为数据主要是操作性/事务性的吗? 你在说什么样的数据量


中央主机是否也用作其所在办公室的本地数据库?如果是的话,你可能想改变这种状况——让总部像远程办公室一样工作——这样你就可以对所有办公室一视同仁;如果对不同的站点进行不同的处理,您经常会遇到问题/异常情况。

我以前做过这件事,相信这是最简单的方法。您应该注意使用Microsoft SQL Server合并复制和行筛选。您的行筛选将设置为有一个列,该列说明它应该转到哪个单独的站点目标

例如,您的表可能如下所示:

ID|U列|列2 |目的地

列中的数据可能如下所示: 12345 |“数据”|“站点1”

然后,将合并复制订阅服务器site1设置为筛选列“destination”和值“site1”

本文可能有助于:

还有一篇关于msdn的文章叫做增强合并复制性能,这可能会有所帮助,而且您还需要学习设置发布服务器的基础知识 SQL Server合并复制中的和订阅服务器


祝你好运

我以前做过,而且这是最简单的方法。您应该注意使用Microsoft SQL Server合并复制和行筛选。您的行筛选将设置为有一个列,该列说明它应该转到哪个单独的站点目标

例如,您的表可能如下所示:

ID|U列|列2 |目的地

列中的数据可能如下所示: 12345 |“数据”|“站点1”

然后,将合并复制订阅服务器site1设置为筛选列“destination”和值“site1”

本文可能有助于:

还有一篇关于msdn的文章,名为增强合并复制性能,这可能会有所帮助,您还需要学习在SQL Server合并复制中设置发布服务器和订阅服务器的基础知识


祝你好运

听起来,如果您不使用直接数据库结构,您会得到更好的服务

我没有一个详细的答案给你,但这是我要做的最高水平:

我将从每个数据库中选择过去合理时间范围内的更改列表,构造insert和delete语句,将“大”数据库中的所有数据统一起来,然后为每个特定数据库分离较小的insert和delete语句集

然后我会运行这些

如果与进出的数据有任何重叠,则此设置可能会出现“合并”问题


还有一个问题是数据丢失或重复,因为您的时间框架没有正确构建。

听起来,如果您不使用直接数据库结构,您会得到更好的服务

我没有一个详细的答案给你,但这是我要做的最高水平:

我将从每个数据库中选择过去合理时间范围内的更改列表,构造insert和delete语句,将“大”数据库中的所有数据统一起来,然后为每个特定数据库分离较小的insert和delete语句集

然后我会运行这些

如果与进出的数据有任何重叠,则此设置可能会出现“合并”问题


还存在数据丢失或复制的问题,因为您的时间框架构造不正确。

如果您需要单向复制,请使用在star center和自定义桥接应用程序中复制的多个数据库副本,将数据进一步移动到最后一个副本。

如果您需要单向复制,然后使用在center of star和自定义桥接应用程序中复制的数据库的多个副本将数据进一步移动到最后一个副本

只是一个随机指针:Oracle lite支持这一点。我曾经为类似的任务对它进行过一次评估,但是它需要在所有客户端上安装一些东西,这不是一个选项。
可以找到大致的体系结构概述

只是一个随机指针:Oracle lite支持这一点。我曾经为类似的任务对它进行过一次评估,但是它需要在所有客户端上安装一些东西,这不是一个选项。 可以找到一个粗略的体系结构概述。

可能值得一看,它可以让您使用可选的-where子句同步表。

可能值得一看,它可以让您使用可选的-where子句同步表。

适用于此。它是支持web、独立于数据库的数据同步/复制软件。它使用web和数据库技术在关系数据库之间近乎实时地复制表。该软件设计用于扩展大量数据库,跨低带宽连接工作,并能承受网络中断

我们已经使用它将1000多个MySQL零售商店数据库同步到Oracle公司数据库。

将适用于此。它是支持web、独立于数据库的数据同步/复制软件。它使用web和数据库技术在关系数据库之间近乎实时地复制表。该软件设计用于扩展大量数据库,跨低带宽连接工作,并能承受网络中断


我们已经使用它将1000多个MySQL零售商店数据库同步到Oracle公司数据库。

我们很有可能做到这一点。我们一定会查出来的。非常感谢。这对我们来说是个好机会。我们一定会查出来的。非常感谢。