온라인 거래 처리

Online transaction processing

온라인 트랜잭션 처리(OLTP)에서 정보 시스템은 일반적으로 트랜잭션 지향 애플리케이션을 지원하고 관리합니다.이는 온라인 분석 처리와 대조됩니다.

"트랜잭션"이라는 용어는 두 가지 다른 의미를 가질 수 있으며, 두 가지 모두 적용될 수 있다. 컴퓨터 또는 데이터베이스 트랜잭션 영역에서는 원자적인 상태 변화를 나타내는 반면, 비즈니스 또는 금융 영역에서는 일반적으로 이 용어는 경제 실체의 교환을 나타낸다(예: 트랜잭션 처리 성능 위원회 또는 상업 위원회에서 사용됨).모든 트랜잭션)[1]: 50 OLTP는 첫 번째 유형의 트랜잭션을 사용하여 두 번째 유형의 트랜잭션을 기록할 수 있습니다.

OLTP는 시스템이 사용자 요구에 즉시 응답하는 처리를 참조하기 위해서도 사용되고 있습니다.은행용 현금자동입출금기(ATM)는 상거래 처리 어플리케이션의 한 예이다.온라인 트랜잭션 처리 애플리케이션은 높은 처리량을 가지고 있으며 데이터베이스 관리에 많은 삽입 또는 업데이트를 필요로 합니다.이러한 애플리케이션은 수백 명의 사용자가 동시에 사용합니다.OLTP 애플리케이션의 주요 목표는 가용성, 속도, 동시성 및 [2]복구입니다.문서 추적 감소와 수익 및 지출에 대한 보다 빠르고 정확한 예측은 모두 OLTP가 비즈니스에 얼마나 심플한지를 보여주는 예입니다.그러나 많은 현대 온라인 정보기술 솔루션과 마찬가지로 일부 시스템은 오프라인 유지보수가 필요하며, 이는 온라인 트랜잭션 처리 시스템의 비용 편익 분석에 더욱 영향을 미칩니다.

OLTP는 일반적으로 OLAP(온라인 분석 처리)와 대조됩니다. OLAP는 트랜잭션 처리보다는 비즈니스 인텔리전스 또는 보고 목적으로 훨씬 더 복잡한 쿼리로 구성된 것이 일반적입니다.OLTP 시스템은 모든 종류의 쿼리(읽기, 삽입, 업데이트 및 삭제)를 처리하는 데 반해 OLAP는 일반적으로 읽기 전용으로 최적화되어 있어 다른 종류의 쿼리는 지원하지 않을 수 있습니다.또한 OLTP는 배치 처리[1]: 15 그리드 컴퓨팅과는 다르게 작동합니다.

또한 OLTP는 분산 이벤트 로그를 기반으로 대규모 이기종 시스템에서 강력한 일관성을 제공하는 OLEP(온라인 이벤트 처리)[3]와 대조되는 경우가 많습니다.OLTP는 짧은 원자성 트랜잭션과 관련되어 있지만 OLEP는 보다 유연한 배포 패턴과 높은 확장성을 제공하지만 지연이 증가하여 처리 시간의 상한을 보장하지 않습니다.

개요

OLTP 시스템은 오늘날 기업에서 접근 가능한 데이터 처리 시스템입니다.OLTP 시스템의 예로는 주문 입력, 소매 판매 및 금융 거래 [4]시스템이 있습니다.온라인 트랜잭션 처리 시스템에서는 네트워크에 걸친 트랜잭션에 대한 지원이 점점 더 요구되고 있으며 여러 회사가 포함될 수 있습니다.이러한 이유로 최신 온라인 트랜잭션 처리 소프트웨어는 클라이언트 또는 서버 프로세싱 및 브로커링 소프트웨어를 사용하여 네트워크 내의 서로 다른 컴퓨터 플랫폼에서 트랜잭션을 실행할 수 있습니다.

대규모 애플리케이션에서는 효율적인 OLTP는 고도의 트랜잭션 관리 소프트웨어(CICS 등)나 데이터베이스 최적화 전술에 의존하여 OLTP 지향 데이터베이스에 대한 다수의 동시 업데이트를 처리할 수 있습니다.

더욱 까다로운 분산형 데이터베이스 시스템의 경우 OLTP 브로커링 프로그램은 네트워크상의 여러 컴퓨터 간에 트랜잭션 처리를 분산시킬 수 있습니다.OLTP는 많은 경우 SOA(서비스 지향 아키텍처) 및 웹 서비스에 통합됩니다.

온라인 트랜잭션 처리(OLTP)는 입력 정보를 수집하고, 데이터를 처리하며, 수집 및 처리된 정보를 반영하도록 기존 데이터를 업데이트합니다.현재 대부분의 조직은 데이터베이스 관리 시스템을 사용하여 OLTP를 지원하고 있습니다.OLTP는 클라이언트-서버 시스템으로 전송됩니다.

온라인 트랜잭션 프로세스는 동시성과 원자성에 대해 우려합니다.동시성 제어는 데이터베이스 시스템에서 동일한 데이터에 액세스하는 두 사용자가 해당 데이터를 변경할 수 없도록 보장하거나 사용자가 다른 사용자가 처리를 완료할 때까지 기다린 후 해당 데이터를 변경해야 합니다.원자성 제어는 트랜잭션의 모든 단계를 그룹으로 성공적으로 완료하도록 보장합니다.즉, 트랜잭션 사이의 어떤 단계가 실패하면 다른 모든 [5]단계도 실패해야 합니다.

시스템 설계

OLTP 시스템을 구축하려면 설계자는 다수의 동시 사용자가 시스템의 성능을 방해하지 않음을 알아야 합니다.OLTP 시스템의 성능을 향상시키려면 설계자는 색인 및 클러스터의 과도한 사용을 피해야 합니다.

OLTP [2]시스템의 퍼포먼스에 중요한 요소는 다음과 같습니다.

  • 롤백 세그먼트
롤백 세그먼트는 트랜잭션이 롤백될 경우 트랜잭션의 액션을 기록하는 데이터베이스 부분입니다.롤백 세그먼트는 읽기 일관성, 롤백 트랜잭션 및 데이터베이스 [6]복구를 제공합니다.
  • 클러스터
클러스터는 하나 이상의 공통 열을 가진 하나 이상의 테이블을 포함하는 스키마입니다.데이터베이스의 테이블을 클러스터링하면 조인 [7]작업의 성능이 향상됩니다.
  • 개별 트랜잭션
이산 트랜잭션은 트랜잭션이 커밋될 때까지 데이터에 대한 모든 변경을 지연시킵니다.분산되지 않은 짧은 [8]트랜잭션의 성능을 개선할 수 있습니다.
불필요한 I/[9]O를 방지하기 위해 데이터 블록 크기는 운영 체제의 블록 크기의 배수를 최대 제한 범위 내에서 지정해야 합니다.
SQL 문은 불필요한 [10]리소스 소비를 방지하기 위해 데이터베이스 버퍼 캐시를 사용하도록 조정해야 합니다.
트랜잭션 처리 모니터는 서비스의 조정에 이용된다.이는 운영체제와 비슷하며 높은 수준의 정밀도로 조정을 수행하며 여러 컴퓨팅 디바이스에 [11]걸쳐 사용할 수 있습니다.
파티션을 사용하면 가용성과 보안을 유지하면서 정기적인 트랜잭션이 있는 사이트의 성능이 향상됩니다.
데이터베이스 조정을 통해 OLTP 시스템은 최대한 효율적이고 신속하게 성능을 극대화할 수 있습니다.

레퍼런스

  1. ^ a b Bog, Anja (2013). Benchmarking Transaction and Analytical Processing Systems: The Creation of a Mixed Workload Benchmark and its Application. Berlin: Springer Science & Business Media. ISBN 978-3642380709.
  2. ^ a b "Application and System Performance Characteristics". Oracle.com. Retrieved 2018-05-02.
  3. ^ "Online Event Processing - ACM Queue". queue.acm.org. Retrieved 2019-05-30.
  4. ^ "Database VLDB and Partitioning Guide". Oracle.com. Retrieved 2018-05-02.
  5. ^ "Online Transaction Processing vs. Decision Support". Microsoft.com. Retrieved 2018-05-07.
  6. ^ "Managing Rollback Segments". Oracle.com. Retrieved 2018-05-07.
  7. ^ "Archived copy". Archived from the original on 2014-05-14. Retrieved 2014-05-14.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  8. ^ "Transaction Modes". Oracle.com. Retrieved 2018-05-07.
  9. ^ "Data Blocks, Extents, and Segments". Oracle.com. Retrieved 2018-05-07.
  10. ^ "Tuning the Database Buffer Cache". Oracle.com. Retrieved 2018-05-07.
  11. ^ "Transaction processing monitor". C2.com. Retrieved 2018-05-07.

외부 링크