sql server - How to reducing impact on OLTP when performing ETL Process -


i new in designing etl process. have 2 database, 1 live database application use every day transaction. other 1 data warehouse.

i have table in live database regularly have new data insert it. goal every night etl process transfer data in live database data warehouse, follow deleting data in live database.

due lack of knowledge, solution got implement call rolling table. on live database, have 2 tables have same structure. call them tbllive1 , tbllive2. has synonym call tbllive. insert done on synonym. synonym point @ 1 of table.

when run etl process, have stored procedure drop , create new synonym point tbllive2. allow etl process transform data tbllive1 without effecting application. assumption etl process takes hour run, , won't want etl process lock table preventing application insert new data it.

this solution should theoretically work, not elegant.

i sure problem common problem, there other solutions out there?

to add bob's answer (above), usual in dwh/bi applications, necessary tables copied "staging" database or "staging" schema on dwh database(depending on number of tables / size etc). these ordinarily on different server oltp system - dwh implementation of size is)

to answer question on performance impact, depends on server spec/io configuration.

is data being inserted oltp system 24hours/day? or there downtimes? or low traffic times?

it might worthwhile using database compression io going biggest enemy , considerably.


Comments

Popular posts from this blog

linux - Mailx and Gmail nss config dir -

c# - Is it possible to remove an existing registration from Autofac container builder? -

php - Mysql PK and FK char(36) vs int(10) -