Tem como sincronizar o banco de dados relacional com banco de dados não relacional?

Tenho feito alguns sistemas para pequenos comerciantes, porém alguns deles me solicitam para implementar também uma área administrativa do sistema, o sistemas para visualização dos produtos eu faço com Node Express com MongoDB, o único problema é que se for criar no site comercial um sistema com área administrativa, como módulos de estoque, contas a pagar e contas a recebe e outros módulos de um sistema ERP o mais recomendado é um banco relacional.

As coisas que sei fazer com Java e Mysql eu não sei fazer com Node Express e MongoDB e vice-versa, mas o que elas tem em comum é o retorno em JSON, todas as duas retorna os valores em JSON.

Será que existe uma maneira de sincronizar o banco de dados MongoDB com o banco de dados MySQL?
Se existe qual seria?

De uma procurada sobre ferramentas de ETL ou data integration. Sei que exite o pentaho data integration, mas deve ter de todos os tipos, peços e sabores

Realmente precisa dessa complicação toda? Somente MySQL não atende o cenário do seu cliente?

Vamos la

gerenciar um cluster de banco de dados ja tem desafios, imagine sincronizar duas engines completamente diferentes.

é o caso de citar ACID x BASE, de citar o CAP Theorem e de lembrar que o MongoDB é CP ( veja aqui ) então vc nem sempre tem o banco disponivel, portanto a sincronia entre os dois vai ser um bom desafio, com direito a uma parte do seu sistema talvez não funcionar 100% do tempo.

eu trabalho com diversos bancos de dados ( mysql, Riak, Couchbase. Elasticsearch - fora uns Redis perdidos por ai… ) porém existem razões de arquiteturais e de performance para isso. tenho os dados replicados entre diferentes buckets do couchbase e não posso confiar nisso de jeito algum (nem mencionei q funcionam em diversos datacenters ao redor do mundo).

se vc não tem uma excelente razão pra usar 2 bancos de dados, não use. Use uma tecnologia só. Vai ser menos uma coisa pra te dar problema.

2 bancos são 2 processos de backup para lidar, mais coisa para monitorar, mais cpu sendo utilizada, etc.

se vc quiser usar usar mongo para armazenar outras informações ( sei la, dados da sessão, cache ) e isso ser algo que vai trabalhar em conjunto com mysql, vc terá menos dores de cabeça.

pelo que vc descreveu eu fugiria de qualquer solução que exija que a mesma informação esteja presente em 2 ou mais bancos de dados diferentes com alto grau de confiabilidade.

2 curtidas