|
最初由 Kamus 发布
[B]
这是正解。
假设主中心一个库(MSITE)要采集下面10个库(PROD01-PROD10)的内容。
在MSITE上创建10个物化视图(MV_PROD01-MV_PROD10),然后按照物化视图站点刷新的搭建步骤,分别刷新下面10个库的相应表。
最后在MSITE上创建一个View,union all所有的MV,这个view可以命名为跟被复制表一样的名字。 [/B]
这样解决我认为存在一个问题,无法有完整的数据库备份,对于下面的子库,我想本身也是存的实表,可以直接备份;但是如果主中心崩溃,恢复后,主中心是否会自动检查所有子站点的数据同步性就会自动恢复,还是需要重新构建复制环境呢?
另外,为什么选择实体化视图复制而不选择多主复制呢?
对于这种在主中心只读,而子中心可写的情况,我考虑了两种方法:
我对库中三部分数据进行说明
1、子中心中都有,但是都只是总表中一部分数据(可以使用表中某一字段来识别特定子中心的数据)
2、特定子中心使用的表
3、主中心和子中心都有,且全部需要保持一致的表
一、主站点包括所有的表,为主体定义站点,子站点为物化视图站点
对于1数据,子站点使用限制从主站点表中取出部分数据,生成物化视图-可以减少冲突
对于2、3数据,子站点从主站点表中取出全部数据,生成物化视图
(一个疑惑,当某一子站点修改了3数据,push到主站点时,是否需要另一子站点也修改相同数据,Push到主站点,才会自动检测冲突,将后一次修改之前的修改全部在另一子站点应用后,在应用后一次的修改)
二、主站点包括所有的表,为主体定义站点,子站点为主站点和物化视图站点的结合
对于1数据,与一中介绍相同
对于2数据,使用主体复制,保持特定子站点与主站点之间的一致
对于3数据,使用主体复制,保持所有站点之间的一致
注:我认为要解决在主中心只读,可以赋予一个用户,对所有数据只读权限,然后只能用这个用户连接,即可,而且只需要在主站点进行备份,即所有数据都可以完整恢复。
希望能够与大家一起探讨! |
|