데이터베이스란, 커다란 수영장을 생각하면 이해가 쉽습니다. 물을 집어넣기도 하고, 빼기도 하는데 여기서 오고 가는 물의 양이 곧 데이터의 흐름이라고 보면 됩니다. 많은 사람들이 이용하려면 더 많은 양의 물이 필요하고, 필요 없는 물을 빼는 배수구가 클수록 효과가 좋습니다. 데이터베이스도 마찬가지입니다. 사용자가 많을수록 데이터가 오가는 양이 더 많아야 할 것이고, 그만큼 더 많은 비용과 설비에 투자를 해야 합니다. 그렇기에 일반적인 소규모 서비스용 DB와 대기업용 DB는 규모에서 엄청난 차이가 나는 것이죠.
데이터베이스란, 커다란 수영장을 생각하면 이해가 쉽습니다. 물을 집어넣기도 하고, 빼기도 하는데 여기서 오고 가는 물의 양이 곧 데이터의 흐름이라고 보면 됩니다. 많은 사람들이 이용하려면 더 많은 양의 물이 필요하고, 필요 없는 물을 빼는 배수구가 클수록 효과가 좋습니다. 데이터베이스도 마찬가지입니다. 사용자가 많을수록 데이터가 오가는 양이 더 많아야 할 것이고, 그만큼 더 많은 비용과 설비에 투자를 해야 합니다. 그렇기에 일반적인 소규모 서비스용 DB와 대기업용 DB는 규모에서 엄청난 차이가 나는 것이죠.
데이터를 저장하는 데이터베이스(DB)에도 여러 가지 방식이 있습니다. 그중 RDB(Relational Database)란, 마치 엑셀 시트처럼 빈칸에 내용을 차곡차곡 쌓아가는 데이터베이스 방식입니다. A-1, B-2처럼 각각의 칸에 번호가 매겨져 있고, 이 번호를 통해 각각의 데이터를 확인하는 방식이죠. 실제로 데이터베이스(DB)는 데이터들을 쌓아 올리는 창고 역할을 하기 때문에 여러 데이터들이 어디에, 어떻게 놓여있는지를 확인하는 것이 매우 중요합니다.
이런 관계형 데이터베이스는 일반적인 서비스에서 가장 많이 사용되는 DB 타입입니다. 회원정보나 서비스 이용 기록 등 정해진 정보 타입에 따라 정보가 입력되거나, 기록이 추가되는 방식이기 때문에 복잡한 계산 없이, 각각의 데이터가 어디로 들어가야 할지 미리 정해져 있는 경우가 대부분입니다. 그러니 입력되는 정보가 숫자인지, 텍스트인지를 미리 정해 둘 수 있고 효율적인 DB 설계가 가능한 것이죠.
관계형 데이터베이스(RDB)는 과거부터 오랫동안 사용된 DB 타입입니다. 수백만 건의 데이터들 중에서 원하는 내용을 찾고, 정렬하기에도 좋고 미리 예상되는 데이터의 흐름에 맞게 설계해두기 때문에, 안정성도 높습니다. 또한 작은 규모의 서비스나, 기업 규모의 커다란 서비스를 만들 때에도 확장 설계를 적용하기 편리하다는 장점이 있습니다. 그렇다면 관계형 데이터베이스(RDB)에서 어떤 서비스들이 있을까요?
대기업을 위한 오라클 RDB
오라클은 데이터베이스와 서버 관리, 하드웨어까지 오랜 시간 업계를 지배해온 기업입니다. 대부분의 서버를 다루는 개발 언어인 자바 역시 오라클이 소유하고 있죠. 실제로 오라클의 서버는 전문가들이 평가하기에 규모가 크고, 대용량 설비에 적합하다는 평가를 받습니다. 또한 UNIX나 Linux, 윈도우 같은 여러 OS에서 호환성이 좋은 편이기 때문에 오프라인에 규모가 큰 서버를 구축해야 할 때 좋은 선택이 될 수 있습니다.
오픈소스에 저렴한 비용의 My SQL
My SQL은 오라클이 배포하는 오픈소스 기반의 RDB입니다. 오픈소스를 기반으로 만들어서 다른 DB에 비해 비용이 저렴한 편입니다. 무료 사용도 가능하지만 오픈소스를 기반으로 하기 때문에, 기본 소스를 수정할 경우 코드를 공개해야 합니다. 그래서 소스코드 공개가 필요 없는 기업용 라이센스도 판매하는데 다른 RDB에 비해 가격대가 많이 낮은 편입니다. 오라클이 지원하는 서비스기에 UNIX나 Linux, 윈도우 같은 여러 OS에서 호환성이 좋은 편입니다.
윈도우 OS 기반의 MS SQL
MS SQL은 마이크로소프트가 만든 RDB입니다. 세계 RDB 순위 1위인 오라클 RDB와 2위인 My SQL에 이어 3위를 기록하고 있습니다. MS SQL은 윈도우를 기반으로 하고 있는데, 실제 오프라인 서버를 구축할 경우 Linux, Unix 기반 서버에 비해 가격 대비 성능이 떨어지는 편입니다. 또한 Linux, Unix 서버에서 호환성이 그리 좋지 않은 편이라, 여러 환경에서 안정적인 유지보수가 어려운 편입니다. 그래서 한국의 실무 서비스에서는 주로 MySQL 등의 대체 서비스를 사용하는 경우가 많습니다.
IBM의 DB2
DB2는 하드웨어 시장의 강자였던 IBM이 만든 RDB입니다. 오라클과 마찬가지로 대기업에서 사용할 만큼, 규모가 큰 서비스에 어울립니다. 그러나 오프라인 서버 구축 시 운영체제가 제한되는 편이고, 서버의 통신 및 탐색 속도가 다른 상용 서비스들에 비해 아쉽다는 평가를 듣고 있습니다. 대부분의 서버가 Unix, Linux 등 3사의 제품이나 하드웨어, 소프트웨어와 연결해야 하는 상황인데 이런 확장 원도 많이 부족하다는 평가가 있습니다.
RDB의 미래는?
최근 관계형 데이터베이스(RDB)의 시대가 지나고, No SQL이라는 새로운 방식의 DB가 등장하고 있습니다. 하지만 이런 새로운 방식이 장점만 가진 것은 아닙니다. 기존의 단순한 탐색, 입출력이 필요한 서비스에서 사용하기엔 속도나 효율성의 문제가 있다는 것이 전문가들의 평가입니다. 그렇기에 새로운 DB 타입이 나온다 하더라도, 기존의 RDB 방식은 계속해서 이용될 가능성이 높습니다. 실제로 많은 서비스들이 정해진 규격에 제한된 입력 값을 받는 경우가 많고, 이런 정보들을 담아내는 데에도 복잡한 DB 타입을 사용하기엔 효율성이 떨어지기 때문입니다.
지금까지 알아본 관계형 데이터베이스에 대해서 정리해보면, 다음과 같습니다.
데이터베이스(DB)에서 가장 많이 사용되는 방식이 관계형 데이터베이스(RDB) 방식이다.
관계형 데이터베이스(RDB)는 엑셀 시트처럼 정해진 번호의 칸 안에 내용을 차곡차곡 쌓아 나가는 방식이다.