생계/Oracle

트리거 안쓰는 이유

돌고래트레이너 2022. 8. 30. 14:40
반응형

1. 트리거란 

트리거는 특정이벤트가 발생시, 그것을 기점으로 동작하는 object 이다.  

 

2. 트리거의 단점 

 - 업무 누락 가능성 : 트랜잭션의 흐름에 대해서는 대부분 인지하고 있지만,

 트리거에 대해서는 따로 신경쓰지 않으면 인지하기 어려워 누락되기 쉽고 장애 또는 로직의 누수로 이어질수 있다. 

 - 관리 포인트의 부담 : DBA 입장에서는 관리포인트가 증가하는 것도 달갑지 않다. 

비슷한 이유로 (+보안적 이유) 디비링크도 사용을 제한 할 것을 권고해왔는데, 요즘은 서비스에서는 거의 사용 안하는 편이다.

대신, EAI 등을 통해서 조회를 하라고 권고한다. 

 

3. 트렌드

요즘은 프로시저나 함수도 다 걷어내고 AP에서 부하를 많이 가져가는 추세인데,  

덕분에 DB 의 사양을 낮출수 있어 클라우드 환경이라면 비용의 감소로 이어질수 있다. 

결국 DB 는 트랜잭션을 보장하고, 단순하게 데이터를 담는 테이블, 조회를 도와주는 인덱스, 이 두가지만 사용하는 추세이다.  

 

 

 

 

반응형