데이터이야기

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

데이터베이스는 변하고 있다. - 1부

데이터 이야기
작성자
dataonair
작성일
2012-04-08 00:00
조회
4957


데이터베이스는 변하고 있다. - 1부



과거에는 대부분 사람들이 데이터베이스에 관심을 가지지 않은 것이 사실이였다. 하지만, 이제는 시대가 변하여 많은 사람들이 데이터베이스에 관심을 가지게 되었고 많은 곳에서는 데이터베이스에 많은 시간을 투자하고 있는 것이 현실이다.

많은 기업에서 프로젝트를 수행하게 되면 많은 하드웨어와 소프트웨어가 도입된다. 그 중에서도 데이터베이스의 도입은 많은 프로젝트에서 필수일 것이다. 시중에는 많은 데이터베이스 제품이 존재한다. 이처럼 많은 데이터베이스 중 과연 무엇을 기준으로 데이터베이스를 선정하는가 많은 프로젝트를 지원하면서 데이터베이스를 도입하는 과정을 보았으며 이러한 데이터베이스를 선정하는 과정에는 매우 일반적인 기준이 존재한다. 물론, 다른 소프트웨어도 상황은 비슷할 것이다. 데이터베이스는 한번 선정되면 추후 다른 제품으로 변경하기 쉽지 않다. 그렇기 때문에 데이터베이스를 구축하기 위해 데이터베이스를 도입하는 경우에는 반드시 선정 기준이 존재해야 하며 선정 기준에 따라 데이터베이스가 선택되어야 할 것이다. 또한, 중요한 것은 이러한 선정 기준이 매우 자세히 구분되어 있어야 한다는 것이다. 그렇다면 어떤 항목을 선정 기준으로 데이터베이스를 선택해야 할까 데이터베이스를 선정하기 위해서는 가용성, 성능, 상호 호환성, 지원 및 구축 비용 등을 고려해야 한다. 여기서는 이러한 일반적인 데이터베이스 선정 기준을 언급하고자 하는 것이 아니며 이와 같이 데이터베이스를 선정함에 있어 데이터베이스의 동향을 언급하고 싶은 것이다. 이러한 데이터베이스의 동향을 정확히 파악해야 우리는 올바른 데이터베이스를 선정하여 효과적으로 시스템을 구축할 수 있을 것이다.

데이터베이스는 안정성이 생명이다.

데이터베이스의 안정성은 데이터베이스의 동향은 아닐 것이다. 데이터베이스의 안정성이 지금에 와서 두각 된 것이 아니며 데이터베이스의 탄생과 함께 데이터베이스의 안정성은 중요시 되었고 지금도 데이터베이스의 안정성은 매우 중요한 요소 중 하나임에 틀림 없다. 물론, 앞으로도 데이터베이스 안정성은 가장 중요한 요소로 계속 자리 잡고 있을 것이다.

데이터베이스의 안정성은 데이터베이스를 만드는 벤더의 역사를 무시할 수는 없을 것이다. 데이터베이스를 만들어온 역사가 데이터베이스의 안정성을 더 보장하는 것이 과거에는 맞았기 때문이다. 하지만, 지금에 와서는 기술이 급속도로 발전하고 있기 때문에 대부분의 데이터베이스는 사용자가 요구하는 수준의 안정성을 제공하게 된 것 같다. 이와 같은 안정성에는 가용성이라는 부분이 새로운 동향으로 계속 발전해 가고 있다.

시스템의 모든 항목에 대해서 제품을 선정해본 사람이라면 가용성이라는 용어를 안 들어본 사람은 없을 것이다. 하지만 많은 프로젝트 및 많은 고객사와의 회의를 통해서 느꼈던 것은 데이터베이스에 대해서는 가용성의 개념을 모르는 것 같았다. 어느 회의에 참석했을 때 고객사에서 시스템이 모두 이중화되어 가용성에는 이상이 없는가에 대해 질문을 했다. 본인은 데이터에 대해서는 이중화가 되어 있지 않다고 언급했다. 하지만, 참석자 중 한명은 디스크가 미러(Mirror)로 되어 있으므로 이중화가 완벽하게 된 것이라고 했다. 과연 이러한 디스크 미러(Mirror)만 구성되어 있다면 데이터베이스는 이중화가 완벽하게 구현된 것인가 가용성은 이중화와 매우 밀접한 관계를 가진다. 이중화라는 것은 무엇인가 모든 항목에 대해 2개로 구성하는 것이 이중화이다. 이와 같이 구성하는 이유는 1개가 문제가 발생했을 경우 다른 하나로 서비스를 수행하기 위해서 이중화를 하는 것이다. 이중화가 가용성의 근간이 되는 것은 당연한 이야기이다. 이처럼 가용성은 이중화에 의해 구현이 되며 데이터베이스도 이와 같이 안정성 중 가용성에 대한 많은 발전을 거듭하고 있다.

결국, 데이터베이스는 안정성을 뛰어넘어 이제는 가용성을 위한 여러 가지 방안을 만들어 내고 있다. 그에 중심에 있는 것은 데이터의 가용성이다. 예전에는 모든 부분은 이중화를 통해 가용성에 문제가 없게 구축이 가능했지만 문제는 데이터의 이중화를 통한 가용성을 구현하는 것 이였다. 동일한 데이터를 이중화로 구현하는 것은 결코 쉬운 일이 아니다. 그렇다면 과연 무엇이 힘든 것일까 지금도 계속 변하고 있는 데이터를 이중화되어 있는 데이터베이스에서 실시간으로 적용되어야 한다는 것이다. 이 부분이 결코 쉬운 일은 아닐 것이다. 계속 변하는 데이터를 감지하여 이중화되어 있는 데이터베이스에 해당 데이터를 정확히 적용해야 하기 때문에 발생하는 문제점은 크게 2가지가 존재할 수 있게 된다.

● 데이터 정합성의 위험
● 성능 저하 발생

데이터베이스 업체들은 이와 같은 부분을 연구하여 지금에 와서는 데이터 복제 솔루션 등을 이용하여 이를 구현하고 있다. 데이터베이스마다 구현 방법은 조금씩 다르더라도 추구하는 목표를 위한 동일한 기능을 제공하게 되었고 어느 데이터베이스가 더 탁월한 데이터 복제 솔루션을 가지고 있다고 이야기하기 힘들 정도로 안정화되어 가고 있는 것이 현실이다. 단지 데이터베이스 마다 다른 형태로 제공하기 때문에 이와 같은 데이터베이스 동향에 맞추어 어떻게 시스템에 구현하여 사용할 것인가가 가장 중요한 문제가 된 것이다.

데이터베이스는 기술 지원으로 성패가 나뉘어 진다.

데이터베이스에 대한 기술 지원이라는 것이 매우 간단한 문제일 수도 있다. 하지만 현실은 그렇게 쉽지만은 않다. 그것은 인력이 부족하기 때문은 아닐까 생각한다. 데이터베이스의 사용은 계속 증가해가고 있다. 또한, 데이터는 계속 증가하고 있으며 그 중요성은 매우 높아가고 있는 것이 현실이다. 하지만, 이에 따른 각각의 회사에서 데이터베이스 전문가를 확보하는 것이 쉽지만은 않다. 그렇기 때문에 데이터베이스 벤더에 의존하는 경향이 높아지고 있다. 하지만, 이와 같은 수요에 대부분의 데이터베이스 벤더들에서는 그에 맞는 데이터베이스 전문가를 지원해 주지 못하고 있다. 이런 면에서는 국내 몇 개 안되는 데이터베이스 벤더들이 많은 장점을 가지고 있는 것은 사실이다.

어떤 데이터베이스 벤더에서 데이터베이스 전문가가 소수이기 때문에 사업을 확장하지 못하는 경우가 발생하는 것을 보았다. 그 만큼 데이터베이스는 해당 데이터베이스를 정확히 이해하고 전문적인 기술을 가지고 있는 전문가를 확보하는 것이 중요하다. 그러기 위해서는 데이터베이스 제품 개발에만 열중하기 보다는 해당 제품을 최적으로 구현해 줄 수 있는 데이터베이스 전문가를 양성하는 것이 중요하다. 물론, 이와 같은 현상이 많은 곳에서 진행되고 있다.

데이터베이스는 살아 움직이는 인간과도 같다. 계속 변하는 데이터와 증가하는 데이터를 최적으로 다룰 수 있는 데이터베이스 전문가를 양성하기 위해 그리고 이와 같은 전문가를 통해 각각의 회사에 최적의 서비스를 제공하기 위해 노력하고 있다