1. 메인프레임
인구조사, 공업/소비자 통계, ERP, 금융같은 중요하고 막대한 처리량을 필요로 하며 다수의 사용자가 동시에 작업할 수 있어야 하는 환경에 쓰이는 거대한 컴퓨터 (보통 은행에서 많이 사용)
많은 은행들이 유닉스 시스템으로 바꾸려고 시도하였지만(다운사이징) 메인프레임을 완전히 대체할 수는 없었다.
대규모의 데이터를 다루면서 다중 접속자의 요구를 동시에 처리하기에는 메인프레임만한 것이 없기 때문이다.
클라우드 컴퓨팅과 데이터 센터의 하드웨어 시스템 역시 메인프레임에 기반한 체계를 활용
2. 다운사이징
은행 또는 회사 등과 같은 대기업에서 대형 컴퓨터로 수행했던 작업을 PC 또는 중소형 서버 등의 소규모 컴퓨터 여러 대를 근거리통신망과 같은 네트웍으로 연결하여 사용함으로써 작업을 수행할 수 있게 환경을 변경하는 작업
(메인프레임->유닉스도 다운사이징에 해당한다)
메인프레임과 같은 고가의 장비를 구입하지 않아도 되고, 장비 유지보수료나 전산기계실 운영비용 등이 절감될 뿐 아니라, 업무의 크기나 환경 변화에 정보시스템이 유연하게 대처할 수 있다는 장점은 있으나, 완전히 대체될 수 없는 부분이 존재함.
여기서 down은 흔히 아는 '하위'의 개념은 아니고 더 효율적임을 추구한 것이었음.
3. 트랜잭션(Transaction)
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산(쪼개질 수 없음)
* 트랜잭션의 성질
Atomicity(원자성)
1. 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
2. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.
ex) 은행에서 내가 A에게 1만원 송금하는데, 내 계좌에선 돈이 빠져나가고, A의 계좌에 1만원이 들어오지 않는 경우는 없어야 한다.
Consistency(일관성)
1. 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
2. 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
ex) A에게 송금 후에 송금하는 방식이 변경되었거나 하면 안된다.
Isolation(독립성,격리성)
1. 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.
2. 수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
Durablility(영속성,지속성)
1. 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
* 트랜잭션 처리를 위한 데이터베이스의 기술 (명령어 사용)
- 롤백(Rollback): 부분 작업이 실패하면 트랜잭션 실행 전으로 되돌린다.
- 커밋(Commit): 모든 부분작업이 정상적으로 완료하면 이 변경사항을 한꺼번에 DB에 반영한다.
4. OLTP(Online Transaction Processing)
말 그대로 온라인 트랜잭션이다. 실시간으로 트랜잭션을 처리.
여러 이용자가 온라인, 실시간으로 데이터베이스의 데이터를 갱신하거나 조회하는 등의 단위 작업을 처리하는 방식
주로 신용카드·뱅킹 등 금융 전산 관련 부문에서 많이 발생하기 때문에 '온라인 거래처리'라고도 한다.
트랜잭션 지향 애플리케이션을 손쉽게 관리할 수 있도록 도와주는 정보 시스템의 한 계열
터미널에서 받은 메시지를 따라 호스트가 처리를 하고, 그 결과를 다시 터미널에 되돌려주는 방식
++
트랜잭션은 확실히 국비 수업 들으면서 들었던 기억이 난다. 설명을 읽어보면 당연한 거 같지만 개념을 정확하게 아는 건 다르니까 정리하게 되니 쏙쏙 박히는 느낌이다.
7일차. 코딩, 프로그래밍언어, 프레임워크 (0) | 2020.09.02 |
---|---|
6일차. OSI 7 계층(Layer) (0) | 2020.08.31 |
4일차. C, C++, C#의 차이점 (0) | 2020.08.29 |
3일차. 웹 크롤링 (파이썬) (0) | 2020.08.29 |
2일차. 객체 지향, 절차 지향 프로그래밍 (0) | 2020.08.28 |
댓글 영역