Question

What are the differences between streams and materialized views when replicating data with Oracle database? Are there any advantages or disadvantages to either of these solutions?

Was it helpful?

Solution

Streams is the more recent, preferred architecture. Streams is more efficient than materialized views-- Streams reads data from the redo logs asynchonously while materialized views (assuming you want to replicate only changes) have to synchronously write to materialized view logs. It is more flexible. It is the solution that Oracle invests time and effort in improving (though Oracle is in the process of integrating Streams with Golden Gate now and Golden Gate will be the replication technology of choice going forward).

Materialized views are a less efficient approach but they can be easier to set up and to configure (particularly if the admins of the source database aren't interested in helping you). There are undoubted more people walking around that have experience using materialized views simply because they've been around quite some time. If you have relatively simplistic requirements-- say, you want to replicate data from a source database once a day at a fixed time-- materialized views may be sufficient. If you want real-time replication, you're much better served using Streams.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top