다음과 같은 상황에서 트리거(Trigger)를 사용할 수 있습니다. 어떤 쇼핑몰에 하루에 수만 건의 주문이 들어옵니다. 주문데이터는 주문일자, 주문상품, 수량, 가격이 있으며, 수천명의 임직원이 일자별, 상품별 총 판매수량과 총 판매가격으로 구성된 주문 실적을 실시간으로 온라인상에 조회를 했을 때, 한사람의 임직원이 조회할 때마다 수만 건의 데이터를 읽고 계산해야합니다. 만약 임직원이 수만명이고, 데이터가 수백만건이라면, 또 거의 동시다발적으로 실시간 조회가 요청된다면 시스템 퍼포먼스가 떨어질 것입니다.
따라서! 트리거(Trigger)를 사용하여 주문한 건이 입력될 때마다, 일자별 상품별로 판매수량과 판매금액을 집계하여 집계자료를 보관하도록 만들어보겠습니다. 주문정보테이블에 실시간으로 데이터가 입력될 때마다 트리거가 발동되어 자동으로 일자별판매집계테이블에 일자별, 상품별 판매수량과 판매금액을 계산해 업데이트 하는 작업을 하도록 하고, 사용자들은 미리 계산된 일자별판매집계테이블을 조회하게 하여 실시간 조회를 지원하게 하는 것입니다.
출처 - https://limkydev.tistory.com/154
고객들이 이용하는 디비 서버에
특정 데이타 레코드 값의 변경에 대한 제한을 둬서
웹쉘이나 인젝션을 통해 얻은 관리자 정보로
디비 내의 자료를 변조하려 할 때
이용하면 유용합니다.
출처 - http://www.idcjp-t1.com/bbs/board.php?bo_table=board0207&wr_id=8
2-1. 웹 쉘(Web shell)이란?
업로드 취약점을 통하여 시스템에 명령을 내릴 수 있는 코드를 말한다. webshell은 간단한 서버 스크립트 (jsp,php,asp ..)로 만드는 방법이 널리 사용되며 이 스크립트들은 웹서버의 취약점을 통해 업로드 된다.
2-2. 쉘(shell)이란?
셸: 운영체제 상에서 다양한 운영체제 기능과 서비스를 구현하고 제공하는 프로그램.