我们正在升级我们的基础架构,为此我们将从Oracle 10g迁移到11g.
我们使用Oracle GoldenGate进行数据复制,据我们所知,它不支持AQ消息的复制.
对于持久队列,我们有可用的导入/导出选项.但是有一些缓冲队列也需要复制.
任何人都可以指导我们如何在这种情况下避免数据丢失.
感谢任何帮助.
我正在开发一个项目,我们需要将实时更新从Oracle传输到一堆系统(Cassandra,Hadoop,实时处理等).我们计划使用Golden Gate从Oracle获取更改,将它们写入Kafka,然后让不同的目标系统从Kafka读取事件.需要做出很多设计决策:
在更新时写入Kafka的数据是什么?
GoldenGate以记录ID和更新字段的形式发布更新.这些变化可以通过以下三种方式之一写入Kafka:
在哪里进行数据转换和清理?
Oracle DB中的模式由第三方CRM工具生成,因此不易消费 - 有奇怪的字段名称,转换表等.这些数据可以在(a)源系统之一中清理,( b)Kafka使用流处理,(c)每个目标系统.
如何确保并行消费者的在线处理?
Kafka允许每个使用者读取不同的分区,其中每个分区都保证按顺序排列.需要以保证每个分区中的消息完全独立的方式选择主题和分区.如果我们根据record_id选择每个表的主题和散列记录到分区,那么这应该在大多数情况下都有效.但是,添加新的子对象时会发生什么?我们需要确保在父使用它的foreign_id之前处理它
根据本白皮书[1],Oracle GoldenGate for Big Data
...还包括Oracle GoldenGate for Java,它使客户能够轻松交付其他大数据系统并支持其环境所需的特定用例.
这些插件的功能签名是什么?
[1] http://www.oracle.com/us/products/middleware/data-integration/goldengate-for-big-data-ds-2415102.pdf
我想使用Oracle GoldenGate(它的orcale cdc工具)将oracle与Kafka集成.我找到了两个处理程序:
这个处理程序都不支持十进制类型(我的意思是它们不会将avro中的十进制视为逻辑类型,或者如何处理),此工具只是将十进制转换为double类型.在这种情况下,我们放松了精度.
有没有人知道处理小数的好方法,除了写自己的处理程序?