[DB] OLTP (Online Transaction Processing)
OLTP (Online Transaction Processing)
네트워크 상의 여러 이용자가 실시간으로 db의 data를 갱신, 조회하는 등의 단위 작업을 처리하는 방식을 말한다.
ex)
과정 1 : 철수의 계좌에서 50,000원을 감소시킨다
과정 2 : 현금을 인출해 준다.
과정 3 : 명세표를 출력해준다
위와 같은 과정은 하나의 단위로 이루어져야 한다.
*트랜잭션 : db의 일관성을 보존하는 프로그램 실행단위
**트랜잭션의 속성:
- 원자성 : 하나의 트랜잭션을 구성하는 단위 작업들은 모두 수행되든지 아니면 모두 수행되지 않아야한다.
- 일관성 : 하나의 트랜잭션이 수행되었을 때, 그 트랜잭션은 db 일관성을 보전해주어야한다.
- 고립성 : DBMS가 여러 트랜잭션을 동ㅏ가 시에 수행시킬 때도 트랜잭션끼리는 서로 상호 간섭이 일어나서는 안된다.
- 지속성 : 트랜잭션이 완료 되었다면 설사 해당 변경 내용이 디스크상에 반영되기 전에 시스템 장애가 일어나도 트랜잭션의 완료 효과는 계속적으로 유지되어야 한다.
OLAP (OnLine Analytical Processing)
여러 차원으로 이루어진 데이터, 즉 여러 collection 으로부터 data를 받아서 통계적인 요약 정보를 제공할 수 있는 기술
ex)
과정 1 : 2018년 가장 판매가 많이 된 제품, 순이익이 높은 제품을 알고 싶다.
과정 2 : DBMS를 통해 판매 내역 collection을 접근하고 가장 많이 거래 된 품목을 도출해낸다.
과정 3 : DBMS를 통해 하나의 물건이 팔릴 때 마다 이익이 높은 물건들을 뽑아낸 후 그 데이터를 통해 판매 내역 collection에서 가장 많이 거래된 품목을 도출한다.
*데이터 웨어하우스(data warehouse) : 오랜 기간동안 수집된 데이터를 대규모의 통하 ㅂ데이터베이스로 구축해 놓은 것
**데이터 마이닝 : 대용량의 데이터 안에 숨어있는 패턴을 찾아내는 작업