流是一种队列技术,数据共享技术,复杂而丰富,灾难恢复,负载平衡。
流技术有一定的独创性,可能是高可用性领域的将来。
配置好流之后,会有一个后台进程,捕获进程。读取重做日志流并搜集发现的DML与DDL语句。然后将其转换成一种特定的格式,称为逻辑变更记录(logical change record,LCR).通过队列表传播到相同或不同的数据库的对列表中去,应用到新的地方。
传递的过程,DBA能过滤,操纵或者变更逻辑记录,更能符合个性化业务,很灵活。
流比高级复制有效,高级复制是基于触发器,某对象变更,启动触发器再把变更传递到别的数据库,代价高。
流将工作负载分为:捕获、传播和应用。
流的捕获可设定一定的规则,例如设定捕获哪些对象的变化。也分本地捕获与下游捕获,下游捕获就是将归档日志从源数据库传到另外的数据库,再捕获,这样就能较少地影响源数据库性能。
流传播:LCR放入一个队列表中,对列表中的LCR可能会被应用进程消费,也可能会被传播到远程的队列中。
应用进程:读取队列中的LCR,根据规则集,判断哪些LCR是需要被消费的。