database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Columns 528 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 528
시스템 성능 최적화는 DB 튜닝에서 출발
작성자
정재익(advance)
작성일
2002-08-29 17:06
조회수
5,680

시스템 성능 최적화는 DB 튜닝에서 출발

 

원본출처 : http://www.zdnet.co.kr/develop/backend/db/article.jsp?id=46578&forum=0

다양한 애플리케이션의 도입과 데이터 대용량화로 인해 갈수록 복잡화, 대형화되고 있는 정보 시스템 환경에서 관리의 효율성과 시스템 활용 극대화라는 두 마리 토끼를 잡기란 쉽지 않다. 효율적인 관리를 위해 단순성을 보장해야 하지만, 거대하고 복잡한 시스템 환경 구축 없이는 최고의 시스템 성능을 구현할 수 없기 때문이다. 하지만 데이터베이스에 대한 튜닝 툴의 보급과 튜닝 방법론의 대두로 이런 장벽이 허물어지고 있다. 데이터베이스 튜닝을 통한 시스템 성능 최적화 방안에 대해 총 6회에 걸쳐 자세히 설명한다.

김성록

2002/02/26

 

오늘날 기업의 컴퓨팅 환경과 정보 시스템은 끊임없는 변화를 거듭하며 발전하고 있다. 과거 메인프레임의 중앙 집중식 단말 환경이 네트워크 기반의 분산 시스템 환경으로 빠르게 변화했다. 다운사이징과 클라이언트/서버, 오픈 시스템 등으로 대변되는 분산 시스템 환경이 IT 인프라스트럭처의 주류로 자리매김하고 있다.

 

이 중에서도 유닉스 기반의 클라이언트/서버 시스템은 오라클, IBM, 사이베이스, 마이크로소프트 등을 중심으로 데이터베이스에 RDBMS (Relational DataBase Management System)를 적용시킨 정보 시스템의 기본으로 인식되고 있다.

 

성능 관리의 필요성

 

DBMS(DataBase Management System) 분야는 다양한 변화를 꾀하며 발전하고 있다. 초기에는 애플리케이션의 특화된 형태로 데이터를 저장하고, 조금이라도 다른 형태의 데이터를 필요로 하는 애플리케이션의 경우에는 중복된 데이터일지라도 다른 형식으로 다시 저장해야만 하는 파일 시스템(File System) 개념이었다.

 

그러나 점차 이를 탈피해 여러 명의 사용자가 통합된 데이터를 공유해 사용할 수 있는 소프트웨어로 빠르게 진화됐다. 이런 변화를 거듭하면서 많은 기업들이 정보 시스템의 핵심으로 DBMS를 인식, 적극적인 도입에 나서게 된 것이다.

 

현재 국내 대다수의 기업들은 이미 데이터베이스 구축을 완료한 상태이며, 추가 구매보다는 기존 데이터베이스의 활용을 극대화하는 방안에 높은 관심을 보이고 있다.

 

특히 ERP(Enterprise Resource Planning), CRM(Customer Relat ionship Management), EAI(Enterprise Application Integration), DW(Data Warehouse), EIP(Enterprise Information Portal) 등 다양한 애플리케이션의 도입과 데이터의 폭증 등으로 발생되는 시스템 성능 저하 문제를 직접 경험한 이들 기업은, 시스템 성능 최적화의 근본 해결 방안으로 데이터베이스 성능 관리(Database Performance Management)를 주목하고 있는 것이다.

 

최근 데이터베이스 성능 관리가 초미의 관심을 끌고 있는 데에는 여러 이유를 들 수 있겠지만, 비용 대비 탁월한 효과를 거둘 수 있는 혁신적인 시스템 성능 방안임을 입증하는데 성공했다는 것이 주효했다. 그동안 많은 기업들은 시스템 성능 향상을 위해 하드웨어 추가 구입에 주안점을 두어왔으나, 투자 비용에 비해 실제 효과는 미미하다는 사실을 뼈저리게 실감했던 것이다. 이에 비해 성능 관리 툴의 도입으로 효과를 본 기업들이 속속 등장하고 있어 관심이 높아지고 있다.

 

성능 관리는 크게 데이터베이스 튜닝(Database Tuning)과 애플리케이션 튜닝(Application Tuning)으로 구분된다. 데이터베이스 튜닝은 데이터베이스의 환경 패러미터를 조정, 시스템 자원을 가장 효율적으로 사용할 수 있도록 하는 성능 개선 작업을 의미한다.

 

또한 애플리케이션 튜닝은 문제가 있는 프로그램 로직이나 SQL 문장 변경·객체에 인덱스를 추가·변경·삭제하는 등의 작업을 통해 성능을 최적화하는 것이다.

 

애플리케이션은 성능 저하 원인의 약 60%를 차지할 만큼 비중이 매우 높아 튜닝이 반드시 필요하다. 이처럼 데이터베이스의 성능을 좌우하는 가장 중요한 핵심적인 요소로 자리잡고 있는 애플리케이션에 대해 관리자들은 정확한 원인 분석에 따른 성능 향상의 최적화 방법을 이용해, 효과적이고 지속적인 애플리케이션 튜닝을 실시해야 한다.

 

최근 이런 튜닝 작업을 실시하기 위해 새로운 애플리케이션 튜닝법, 성능 관리 툴의 필요성에 대한 요구가 크게 제기되고 있다. 이제는 튜닝으로 한 단계 업그레이드하는 시대가 도래하고 있는 것이다.

 

데이터베이스 성능 관리에 대해 본격적으로 다루기에 앞서 데이터베이스 성능 관리의 핵심이라고 할 수 있는 DBMS에 대한 전반적인 이해가 전제돼야 할 것이다.

 

궁극적인 정보 활용 위한 DBMS의 등장

 

DBMS는 다수의 컴퓨터 사용자들이 데이터베이스 내에 데이터를 기록하거나 접근할 수 있도록 지원하는 프로그램으로, 데이터베이스 내의 정보를 검색하거나 저장하기 편리하고 효율적인 환경을 제공하는데 그 목적이 있다. 애플리케이션 별로 산재돼 있는 자료들을 통합하고 통합된 자료들을 각 애플리케이션 별로 공유해 정보의 체계적인 활용을 돕는 역할을 담당한다.

 

다시 말해, DBMS는 애플리케이션에서 데이터를 사용할 경우, 모든 애플리케이션들이 데이터를 공유할 수 있도록 관리해 주는 소프트웨어이며 데이터베이스, DC(Data Communication) 기능을 가진다.

 

이런 DBMS의 개념이 태동하기 시작한 것은 지금으로부터 40년 전으로 거슬러 올라간다. 1960년대에 처음 등장한 DBMS 개념은 70년대에 들면서 시장에 정착했다. 80년대에 접어들면서 DBMS는 단순 OLTP(On-Line Transaction Processing) 업무를 중심으로 본격적으로 사용되기 시작한다. 데이터웨어하우스와 같은 대용량 처리, 인터넷 전자상거래와 관련한 하이엔드 OLTP 업무에 적용되기 시작했던 것은 90년대 초반 무렵이었다.

 

변화와 발전을 거듭해 온 DBMS는 90년대 중반부터 현재에 이르기까지 ERP, CRM, EAI 등 솔루션 레벨의 소프트웨어를 주요 응용 분야로 삼아 성장하고 있다. 또한 DBMS는 계층형(Hierarchy) 구조, 네트워크형(Network) 구조, 네트워크형 구조와 관계형(Relational) 구조의 중간적인 형태를 취하는 인버티드 리스트(Inverted List) 구조, 그리고 관계형 구조 등 사용자의 환경과 요구 사항에 맞춰 형태를 달리하며 다양한 변화를 거듭해 왔다.

 

현재 가장 널리 사용되고 있는 DBMS는 오라클, 사이베이스, IBM 등의 RDBMS(Relational DataBase Management System)이다.

 

전산 시스템의 필수, 중앙 집중형 DB 관리

 

DBMS는 데이터를 통합·저장해 데이터베이스를 구축하고, DBMS를 통해 사용자와 데이터 간을 중앙 집중적으로 통제하도록 지원한다. 이런 기본적인 지원 사항으로 인해 DBMS는 전산 시스템의 필수적인 요소로 정착되며 발전을 거듭할 수 있게 됐다. 또한 데이터베이스를 중앙 집중적으로 관리함으로써 간단하고 쉽게, 그리고 효과적으로 데이터 보안을 유지할 수 있다.

 

DBMS의 주요 기능을 살펴보면, ▲축적된 자료 구조의 정의 ▲자료 구조에 따른 축적 ▲데이터베이스 언어에 의한 자료 검색·갱신 ▲복수 사용자로부터 자료 처리의 동시 실행 제어 ▲갱신중에 이상이 발생했을 때 이전 상태로 복귀 ▲정보 보호 등을 들 수 있다.

 

앞서 언급한 것처럼 데이터베이스는 여러 사람이 공유해 사용할 목적으로 통합 관리되는 정보의 집합이다. 아래의 몇 가지 특징을 통해 그 뜻을 보다 명확하게 이해할 수 있을 것이다.

 

·데이터베이스는 똑같은 자료를 중복해 저장하지 않는 통합된 자료를 의미

·컴퓨터가 액세스해 처리할 수 있는 저장 장치에 수록된 자료

·어떤 조직이 기능을 수행하는데 있어 없어서는 안되는 존재 목적이 뚜렷하고 유용성 있는 운영 자료. 임시로 필요해서 모아 놓은 데이터나 단순한 입출력 자료가 아니다

·한 조직이 가지는 데이터베이스는 그 조직 내의 모든 사람들이 소유하고 유지하며 이용하는 공동 자료로, 각 사용자는 같은 데이터라 할지라도 각자의 응용 목적에 따라 다르게 사용할 수 있다

 

DBMS 발전 40년사

 

국내 DBMS의 발전 과정을 살펴보면, 초기 파일 시스템이 사용되던 시절을 제외하고는 국내 정보 시스템 역사의 전부라고 해도 좋을 만큼 보편적으로 널리 사용돼 왔다.

데이터 관리의 초기 단계인 파일 시스템 구조에서부터 출발했지만, 사용자의 업무가 복잡해지고 다양해짐에 따라 DBMS의 필요성이 대두됐다. 1960년대에 처음으로 계층형 데이터베이스 관리 시스템(Hierarchical DataBase Management System)이 개발됐다.

 

1970년대에 들어서는 기존의 계층형 DBMS에서 데이터 접근 방식을 보완한 네트워크형 DBMS가 개발, 사용되기 시작했다. 그리고 1970년대 후반에 접어들면서 사용의 효율성이 상대적으로 뛰어난 인버티드 리스트 구조의 DBMS가 출현하게 됐는데, 이는 일반적인 정보 시스템 업무 뿐 아니라 정보 검색의 용도로 일부 사용되기도 했다. 이는 네트워크형 DBMS와 RDBMS의 절충 형태로 ADABAS, DATACOM/DB, MINISIS 등이 여기에 속한다.

 

이런 DBMS들은 1980년대에 들어서 새로운 전기를 맞이하게 되는데, 기존의 DBMS보다 효율성이 뛰어난 DBMS라고 할 수 있는 RDBMS의 출현이 바로 그것이다.

현재 가장 범용적으로 사용되고 있는 RDBMS의 탄생은 1970년 IBM 연구소에 재직중이던 에드거 코드 박사가 한 저널에 발표한 ‘A Relational Model of Data for Large Shared Data Banks(대규모 공유 데이터뱅크를 위한 데이터의 관계형 모델)’이라는 논문에서 처음 소개됐다. 이 관계형 모델은 수학에 있어 집합과 관계의 개념을 이용해 데이터 구조를 사용자 입장에서 인식하고, 구성하며 조작하는 것에 초점을 둔 것으로 이 개념을 데이터베이스의 논리적 구조에 적용함으로써 탄생하게 됐다.

 

그러나 이 이론은 1978년 래리 앨리슨이란 사람에 의해 최초로 상용화된 RDBMS로 등장하게 된다. 래리 앨리슨은 System/R을 실제 업무에 적용하기 위해 오라클이라는 회사를 창업, 이를 제품화했다. 이 제품은 현재 오라클 9i로 발전돼 대표적인 DBMS 제품 중 하나로 공급되고 있다.

 

RDBMS의 특징 중 하나는 기존에 사용하던 순차적 접근 방식인 SA M(Sequential Access Method)이나 계층형, 네트워크형 DBMS와 달리, 별도의 프로그래밍 없이 최종 사용자가 손쉽게 데이터를 조작하며 볼 수 있게 하는 사용자 컴퓨팅 개념 하에 만들어졌다는 점이다.

 

여러 사용자가 공유할 수 있으며, 오류없이 정확한 데이터 사용에 대한 요구로 등장한 DBMS에 사용자의 편리성에 대한 요구가 수용돼 RDBMS로 새롭게 탄생한 것이다.

RDBMS는 생산성 측면에서는 매우 뛰어난 반면, 하드웨어의 자원을 너무 많이 차지하고 수행 속도가 매우 느리다는 근본적인 단점을 가진다. 그러나 지속적인 하드웨어의 발전과 DBMS 아키텍처의 발전이 사용자의 기대와 욕구를 만족시킴에 따라 단점을 극복해 나가고 있다.

 

초기의 RDBMS 최적화 기술은 주로 정책 기반으로 다뤄져 왔으나, 적절하지 못한 SQL을 사용하는 개발자의 애플리케이션은 성능 상의 심각성을 그대로 반영한다는 한계점을 낳았다. 이런 한계점을 극복하기 위해 점차 RDBMS 최적화 기술은 비용 기반으로 옮겨가고 있으며, 현재 대다수의 RDBMS 업체들은 이 방법을 표준화시키고 있는 추세다.

그러나 정책 기반의 한계를 극복하기 위한 비용 기반의 방안도 성능상의 모든 문제를 해결할 수 있는 완벽한 해결책은 아니므로, 옵티마이저가 잘못 판단한 SQL은 지속적인 성능 분석에 의해 관리돼야 한다는 사실을 간과해서는 안 될 것이다.

 

객체형 DBMS, OODBMS·ORDBMS로 발전

 

1990년대에 들어서면서 가장 큰 이슈는 단연 인터넷이다. 인터넷은 DBMS의 발전 방향에도 지대한 영향력을 행사하고 있다. 웹 기반의 애플리케이션이 대중화되면서 애플리케이션, 멀티미디어 데이터를 객체화해 효율적으로 관리, 서비스하기 위해 ODBMS(Object DataBase Management System)가 상용화되기에 이르렀다. 그러나 대용량 데이터의 텍스트 검색에 대한 수행 속도에 문제가 있어 2가지 형태의 객체형 DBMS로 제공되고 있다.

 

하나는 순수 객체 지향 데이터베이스 관리 시스템인 OODBMS(Obje ct Oriented DataBase Management System). 이 제품의 활용 방안은 웹에서 관리되는 애플리케이션과 멀티미디어 데이터는 OODBMS로 관리하고, 정보 시스템의 대용량 텍스트 데이터는 기존의 RDBMS를 활용해 연계해 결과를 제공하는 것이다.

 

다른 하나는 관계형 객체 데이터베이스 관리 시스템인 ORDBMS(O riented Relational Database Management System)다. 이 제품의 활용 방안은 오브젝트를 관리하기 위해 RDBMS 바탕 위에 객체 관리를 위해 특수 모듈인 카트리지(Cartridge)를 통합시킨 형태로, 사용 효율성은 매우 뛰어난 반면 객체 처리를 위한 성능이 OODBMS에 비해 다소 저하되는 단점이 있다.

 

현재까지도 오브젝트 개념을 도입한 OODBMS, ORDBMS 등 RDBMS 개념을 적용한 제품이 등장하고 있으나, 대중화의 길을 걷는 데에는 번번히 실패했다. 앞으로도 상당 기간동안 RDBMS의 사용은 더욱 늘어날 것으로 보인다.

 

결국 RDBMS로의 발전은 최종 사용자의 변화와 일치한다. 과거 리포트 중심의 정보 시스템 관리인 배치 방식 작업에서 벗어나, 최근에는 시점별로 변화 가능한 데이터를 다양한 형태로 검색하기 위한 OLTP (On-Line Transaction Processing)성 업무로 무게 중심이 이동한 것이 DBMS 변화의 중요한 핵심으로 작용했던 것으로 보인다.

 

다양한 사용자 업무 맞춘 RDBMS

 

RDBMS는 데이터의 집합을 개체(entity)와 관계(relationship)로 구분 짓는다. RDBMS는 관계형 데이터베이스 모델을 지원하는 DBMS를 일컫는데, 관계형 데이터 모델은 테이블(Table)을 기본 구조로 가지며 관리하려는 모든 데이터를 서로 연관 관계를 가진 테이블 형식으로 저장한다.

 

또 저장된 데이터에서 필요로 하는 정보만을 검색할 수 있도록 하고, 테이블에 대한 정보를 수행하기 위해 SQL(Structured Query Language)이라는 표준화된 사용자·프로그램 인터페이스를 사용한다. 데이터의 무결성 처리를 위해서는 기본 키(primary key)와 외래 키(foreign key)를 사용한다.

 

RDBMS는 특히 대규모이면서 다양한 업무에 적합한 구조를 가지는데, 데이터베이스 설계 즉, 모델링을 제대로 하지 못할 경우 처리 성능이 저하된다는 단점을 가지고 있다.

 

·데이터 중복성 최소화

- 데이터가 통합된 형태로 구성돼 있어 중복 데이터없이 구현

- 테이블 간의 연관된 정보(Key)로 필요 시 정확한 정보 획득

 

·데이터의 무결성

- 중복된 정보를 사용해야 하는 구조는 잘못된 데이터 입력·수정에 의해 오류 정보가 나타날 가능성이 높다. 특별하게 성능 상의 문제로 데이터의 중복을 허용할 수밖에 없는 경우, 사용자 애플리케이션의 오류에 의한 문제 발생도 허용하지 않도록 스토어드 프로시저(Stored Procedure) 형태의 하나인 트리거(Trigger)를 활용, 데이터 변경 사항이 발생할 때마다 즉각적으로 반영

- 트리거 또는 각 데이터 컬럼(Data Column)에 특정 규칙을 정의하고, 이에 위배되는 사항이 발생되는 상황을 판단해 유효한 데이터만 허용

 

- 여러 사용자가 정확한 정보를 동시 사용 가능하도록 데이터 로킹(Locking) 구조를 가지며, 로킹 레벨은 테이블 레벨, 페이지 레벨, 로(Row) 레벨로 지원한다. RDBMS 업체들마다 지원하는 로킹 레벨은 다소 차이는 있으나 대다수 업체들의 경우, 로 레벨 혹은 페이지 레벨로 지원한다. 이 데이터 로킹 개념은 여러 사용자가 동시에 동일한 데이터를 사용하고자 할 때, 오류 없이 처리하기 위한 대기 상태를 유지

- 자신이 보관하는 데이터 이외에는 활용이 어려웠던 파일 시스템과는 달리, 통합 관리되므로 유용한 타 정보의 활용이 이전보다 훨씬 용이

 

·데이터의 보안성

- 여러 DBMS 사용자 별로 설정된 권한에 따라 알맞은 정보를 활용할 수 있도록 관리하는 기본 기능을 제공한다. 즉 특정 테이블에 대한 조회·수정·삭제 권한을 SQL 중에서 DCL(Data Control Language)을 활용해 분리할 수 있으며, 로지컬 테이블 형태인 뷰(View)를 활용해 데이터 구분을 정형화

- 사용자 작업 로깅 기능인 감사(Audit) 기능을 활용해 의도적인 문제 발생을 조기에 예방. 그러나 시스템 성능상의 문제를 고려해 잘 적용하지는 않는다

 

RDBMS의 구조와 특징

 

네트워크형과 계층형 구조를 모델로 채택하고 있는 제품들은 그 구조가 매우 복잡하며 사용자가 데이터를 저장, 검색하기 위해서는 복잡한 트리 구조의 정보를 검색하면서 사용해야 하기 때문에 애플리케이션의 작성이 복잡하고 고도의 기술을 필요로 했다.

 

이런 문제점을 극복하기 위해 1970년도에 IBM 연구소의 에드거 코드 박사가 테이블이라는 간단한 자료 구조와 5가지의 기본 연산만을 이용해 데이터의 표현, 저장, 검색을 모두 수행할 수 있는 관계형 데이터 모델을 제안했다.

 

이 관계형 데이터 모델의 가장 큰 특징은 원하는 데이터를 검색하기 위해, 절차적인 언어(procedural language) 대신에, 선언적인 언어(declarative language)를 사용하기 때문에 초보 사용자도 원하는 질의를 쉽게 작성할 수 있도록 지원한다는 점이다.

사용자는 자신이 원하는 조건의 데이터를 찾는 방법을 일일이 프로그래밍하지 않고, 자신이 원하는 데이터의 조건만 지정하면 DBMS에서 해당 조건에 맞는 데이터를 알아서 찾아준다.

 

RDBMS의 등장은 애플리케이션 개발 생산성, 유지보수의 효율성 면에서 획기적인 전기를 마련했다는 평가를 받고 있다. IBM이 System/R이라는 첫 상업용 프로토타입 DBMS를 만들었고, 버클리 대학의 스톤브레이커 박사팀이 잉그레스(Ingres)라는 최초의 연구용 DBMS를 완성했다. 이후 System/R은 IBM SQL/DS, DB2의 원형이 됐고, 잉그레스라는 제품도 상용 DBMS로 출시됐다. 그리고 System/R를 표본으로 한 첫 상용 관계형 DBMS인 오라클이 1978년에 출시됐다. System/R 개발에 포함된 중요한 내용 중 하나가 Sequel이라는 언어인데, 이 언어가 현재 데이터베이스의 대표적인 표준 언어인 SQL의 원형이라고 할 수 있다.

 

RDBMS의 핵심 기술 가운데 하나는 동시성 제어(concurrency control)라는 트랜잭션 관리 기능이다. DBMS는 여러 명의 사용자가 동시에 다수의 트랜잭션으로 동일한 데이터에 접근해 값을 읽고 변경할 때 발생할 수 있는 정확한 값을 처리하기 위한 무결성 문제를 해결하는 것이 중요한 과제 중 하나였다.

 

이와 같은 트랜잭션 관리 문제를 정의하고, 기술적으로 발전시켜 현재는 대부분의 RDBMS에서 2단계의 잠금(two-phase lock) 프로토콜, 복구를 위한 WAL(Write-Ahead-Log) 기법 등을 적용하고 있다.

 

이외에도 RDBMS와 관련한 기술로는 비용 기반의 질의 최적화 방법(cost-based query optimization), 정규화(normalization) 이론에 기반한 데이터베이스 설계 기법, 데이터 접근 패턴에 따라 한정된 크기의 버퍼를 활용하는 버퍼 관리 기술, 특정 조건을 만족하는 레코드를 빨리 검색 가능하게 해 주는 인덱스 기술 등을 들 수 있다.

 

특히 질의 최적화에 관한 연구는 최근까지도 끊임없이 연구가 진행되고 있는 핵심 분야로, 사용자는 원하는 데이터의 조건에 의해, 결과 데이터를 가장 빠르게 구할 수 있는 수행 플로우를 자동적으로 결정한다. 이런 최적화 기술에서 많은 발전이 있었으나, 사람이 판단할 수 있는 수준의 결과를 제공하기까지는 상당한 기간이 소요될 것으로 전망된다.

 

RDBMS 최적화 기술 관심 급증

 

RDBMS는 데이터 조작이 용이할 뿐만 아니라, 관련되는 애플리케이션들을 변경하지 않고도 새로운 데이터 항목을 쉽게 추가할 수 있는 뛰어난 확장성을 제공한다.

 

그러나 RDBMS의 기능이 복잡, 다양해지고 관리하는 데이터의 양이 급격하게 증가함에 따라, RDBMS를 관리하는 작업이 이전보다 훨씬 복잡해지고 있다. 현재 지원하는 응용 분야에 따라 DBMS에서 제공하는 수백 개 이상의 매개변수(parameter)를 제대로 지정하기가 쉽지 않을 뿐 만 아니라, 여러 개의 다중 데이터베이스가 연동하는 상황에서 어떤 RDBMS가 문제를 일으키는지 알아내기 어렵다. 또한 ERP, DW 등과 같은 환경처럼 미리 패키지화된 도구로 직접 SQL을 생성, 수행하는 환경에서 어떤 애플리케이션의 어떤 SQL문이 성능을 저하시켰는지 성능 문제에 대한 분석·조치가 단순한 수 작업으로 진행하는 것은 더더욱 어려운 일이다.

 

따라서 이를 위해 많은 상용 RDBMS가 RDBMS 최적화 기술의 업그레이드, 데이터베이스 관리 도구를 제공하게 됐고, 서드 파티 업체들을 중심으로 전문적인 데이터베이스 성능 모니터링, 분석, 튜닝하는 제품들을 제공하기에 이르렀다.

 

e-비즈니스로 확장되는 RDBMS의 활용

 

1990년대 중반 이후, 정보 시스템의 변화는 인터넷의 활성화와 변화를 같이 하고 있다. B2C를 중심으로 한 전자상거래, 기업이 보유한 데이터를 활용하기 위한 DW/OLAP(OnLine Analytical Processing), 기업 프로세스 혁신을 위한 ERP의 도입, 적용하는 사례들이 대기업을 중심으로 점차 확산되고 있다.

 

현재 정보 시스템의 추세는 B2C, ERP를 B2B로 확장하고 데이터 웨어하우스 개념을 e-비즈니스로 확장하며, 이들 영역을 결합한 CRM 등의 분야로 범위를 넓혀가고 있는 단계를 밟고 있다.

 

특히 이 중에서도 RDBMS 수요를 가장 많이 창출한 분야가 다름 아닌 ERP 분야이다. 대표적인 ERP 제품으로는 SAP의 SAP/R3, 오라클의 오라클 애플리케이션 등이 있고, 시장 활성화로 인해 삼성SDS, 한국하이네트, 영림원 등의 국내 업체들도 앞다퉈 시장에 진출하고 있다. 국내 환경에 최적화했다는 장점을 앞세워 시장을 선점하고 있는 외산 제품들과 치열한 경쟁을 펼치고 있다.

 

RDBMS 활용시 주의점

 

DBMS는 기업 내에서 변화하는 업무 형태와 요구에 신속하게 대응하기 위해 고안됐다. 데이터베이스에서 가장 중요한 것은 데이터베이스 설계(Database Design)다. 보통 데이터베이스를 설계하는 부분은 전체 개발 기간의 70% 이상을 소요하며, 특히 성능 부분과도 밀접한 관련이 있다. 특히 RDBMS 설계에서 가장 중요한 것은 데이터의 중복성을 제거하는 것으로, 이를 위한 방법으로는 정규화/비정규화 방법이 있다.

 

RDBMS는 다양한 방면으로 확대, 적용되면서 다양한 기술을 포함한 소프트웨어로 성장했다. 기업 핵심 IT 기술로 거의 모든 정보 시스템을 구현할 때 RDBMS를 도입, 적용하는 것은 이제 업계의 표준으로 자리잡고 있다고 해도 과언이 아니다.

 

초기 텍스트 데이터 위주의 처리 기술을 기반으로 나타난 제품들이 이런 한계성을 극복하고 멀티미디어 데이터 처리를 포함하는 새로운 형태의 제품으로 화려하게 재탄생하고 있다. 이는 RDBMS 관련 연구자들과 DBMS 업체들의 적극적인 노력의 결과로 DBMS가 다양한 분야를 효과적으로 지원할 수 있게 됐음을 의미한다.

 

전세계 데이터베이스 시장의 60% 이상 비중을 차지하고 있는 미국의 경우, GDP 대비 데이터베이스 산업이 차지하고 있는 비중이 2.5%대에 이른다고 한다. 일본의 경우도 GDP 대비 데이터베이스 산업의 비중이 비슷한 실정이다. 이에 비해 한국의 경우는 GDP 대비 데이터베이스 산업이 0.7% 정도에 머무르고 있다.

 

그러나 90년도 후반부터 국내에 일기 시작했던 데이터 웨어하우스, 전자상거래, ERP, CRM 등의 초기 구축 경험을 바탕으로 기업내 e-비즈니스가 본격적으로 자리를 잡아가고 있다. 따라서 향후 몇 년 이내에 국내에서도 데이터베이스 산업의 비중이 선진국 수준에 이를 수 있을 것으로 기대된다.

 

지금까지 데이터베이스 성능 관리의 핵심 부분에 해당하는 데이터베이스의 등장에서부터 발전 방향, 그리고 앞으로 나아갈 방향 등에 대해 살펴보았다. 다음 호에서는 RDBMS를 이용한 애플리케이션 구축에 대해 살펴보도록 하겠다. @

[Top]
No.
제목
작성자
작성일
조회
567정보처리기술의 페러다임 - Data WareHousing 과 OLAP (2)
정재익
2002-09-22
5251
566정보처리기술의 페러다임 - Data WareHousing 과 OLAP (1)
정재익
2002-09-22
4931
559데이터베이스 모델링과 디자인의 기초
정재익
2002-09-17
6691
528시스템 성능 최적화는 DB 튜닝에서 출발
정재익
2002-08-29
5680
527분석 목적과 대상 설정에 따른 튜닝 방법론
정재익
2002-08-29
4611
526데이터베이스 연결문자열을 웹에서 분리하자
정재익
2002-08-29
4068
525애플리케이션 중심의 튜닝 최적화 유도
정재익
2002-08-29
4267
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다