最近做项目的时候,前期调研发现源数据库是关系型数据库,而我们需要使用MongoDB这样的非关系型数据库作为计算库,因为MongoDB在一定数据范围内,效率比关系型数据库高的多。因此,我们需要将关系型数据库的数据增量同步到MongoDB中。
我们的源数据库有两个,一个是Oracle,另一个是sqlserver,在调研Oracle的时候,我们实验了OGG,发现OGG虽然可以帮我们同步到MongoDB中,但是无法对同步的数据进行字段过滤,并且由于Oracle和sqlserver里有些数据表里的数据意义一样,但是表名、字段名、字段类型都可能不一样。我们需要意义相同的数据都放在MongoDB中的一个集合内,而不是分开存放。
在以上的需求下,我们开发了数据库同步程序,实现的功能有以下几个:
- Oracle增量同步数据到MongoDB中
- Sqlserver增量同步数据到MongoDB中
- 合并Oracle和sqlserver意义相同的数据到MongoDB中
如果你需要用到以上的功能,可以参考我的博客。