ALTIBASE HDB 5.3.3 기초강좌
ALTIBASE HDB 특징 1 0 42,265

by Altibase [2011.10.04]


엔진구조

  내부적으로 다중 쓰레드 구조를 갖고 있습니다. 클라이언트-서버 구조 하에서 한 개의 클라이언트는 한 개의 서버 쓰레드와 세션(session)을 구성합니다.

  클라이언트-서버 구조는 기존의 RDBMS가 제공하는 형태로서 응용 프로그램의 작성이 용이하고 데이터베이스 관리가 편리한 장점이 있습니다.

인터페이스

  데이터베이스 질의어로 ANSI SQL92 표준 사양의 Full Spec을 제공하고 있습니다. 프로그래밍 인터페이스로는 ODBC, JDBC, C/C++ Precompiler, LDAP 등을 지원하고 있기 때문에 기존에 작성된 데이터베이스 응용 프로그램을 변환을 최소화 할 수 있습니다.

동시성 제어

  다중버전 기법(이하 MVCC: Multi-Version Concurrency Control)을 이용한 동시성 제어를 수행합니다.

  다중 버전 기법은 하나의 데이터에 대해 여러 개의 버전을 유지하여 읽기와 쓰기 연산에 대한 충돌을 없앰으로써 최대의 성능을 발휘 할 수 있도록 하는 것입니다.

트랜잭션 관리

  Hybrid DBMS의 구조에 적합한 최고의 성능을 낼 수 있는 트랜잭션 구조와 그것과 관련 된 다양한 기능을 제공합니다.

  먼저 데이터베이스 내에서 동시에 수행될 수 있는 트랜잭션의 개수를 프로퍼티를 이용해서 조절할 수 있으며, 또한 효율적인 서버 운영을 위해 별도로 지원하는 autocommit 모드를 사용할 수 있습니다.

  ALTIBASE HDB가 제공하는 트랜잭션의 고립화 수준(isolation level)으로는 read committed(=0), repeatable read(=1), no phantom read(=2)로서 사용자의 필요에 맞추어 적절한 고립화 수준으로 선택, 사용할 수 있습니다.

퍼지&핑퐁 체크포인트

  최근의 데이터베이스 상태를 안전하게 백업 데이터베이스로 반영하기 위해 퍼지&핑퐁 체크포인트를 수행합니다.

  MMDBMS에서의 퍼지 체크포인트(fuzzy checkpoint)는 모든 변경된 데이터 페이지가 백업 데이터베이스로 내려가 현재 수행중인 트랜잭션의 수행에 영향을 미칠 수 있기 때문에 퍼지 체크포인트와 더불어 핑퐁 체크포인트(ping pong checkpoint)방식을 함께 수행합니다.

  즉, backup 데이터베이스를 두 개로 관리함으로써, 체크포인트 과정에서의 부하를 줄일 수 있도록 하여, 트랜잭션의 동작에 최대한의 성능을 발휘할 수 있게 합니다.

테이블 컴팩션

  데이터베이스 운용 시 실제로 특정 메모리 테이블이 필요한 메모리 공간 이상을 차지하는 경우가 발생합니다.

  주로 대량의 데이터가 삽입 된 후 변경 및 삭제가 이루어지는 경우인데, 이런 경우 해당 테이블에서 필요 없는 메모리를 재구동 시 시스템으로 반환할 수 있다면, 보다 효율적으로 메모리 사용이 가능합니다.

  이런 이유로 인해 ALTIBASE HDB는 메모리 테이블에 대해 테이블 단위의 compaction 기능을 제공하며, 이 기능을 이용하여 메모리 및 테이블의 효율적 관리가 가능합니다.

이중화

  시스템의 높은 가용성(high availability)과 무정지(fault tolerance)시스템을 위하여 로그 기반의 데이터베이스 이중화(replication)를 제공합니다.

  이 시스템 구조는 트랜잭션 로그를 기반으로 데이터베이스를 이중화시킴으로써, 효율성을 높이고 시스템 부하를 줄일 수 있습니다.

클라이언트 - 서버 프로토콜

  ALTIBASE HDB가 제공하는 통신 프로토콜로는 TCP/IP, IPC와 Unix Domain socket이 있습니다.

  TCP/IP(Transmission Control Protocol/Internet Protocol)프로토콜은 network 상에서 클라이언트-서버 간에 사용되는 사실상의 표준 통신 프로토콜입니다.

  IPC(Inter Process Communication)프로토콜은 ALTIBASE HDB가 제공하는 프로토콜로서, 공유메모리(shared memory)를 활용하여 클라이언트와 서버 간에 통신을 하도록 합니다.

  IPC 방법은 통신 패킷에 대하여 마샬링(marshaling)이 필요 없고 공유 메모리를 이용하기 때문에 다른 통신 프로토콜보다 빠른 통신 속도를 낼 수 있습니다.

참고사이트

- 강좌 URL : http://www.gurubee.net/lecture/2153

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입