DB - 데이터베이스에 얽힌 돈 이야기

데이터베이스 첫걸음 - 미크, 기무라 메이지

Posted by Yan on May 16, 2021

데이터베이스의 초기 비용

시스템의 전체 비용 내역

  • 초기비용 : 최초에 지급하는 돈 (하드웨어 구매비용, 엔지니어나 프로그래머의 급여 등)
    • DBMS를 도입할 때 초기비용이란, 소프트웨어의 라이센스 비용(subscription은 사용허가 기한이 정해진 것)
      1. Processor License : DBMS를 설치해서 동작하는 하드웨어(DB서버)의 CPU 성능에 따라 가격이 결정되는 라이센스 체계. 사용자 수가 많거나 불특정 다수가 사용해서 사용자 수를 셀 수 없는 경우에 적용. CPU License가 아니라 Processor License인 이유는 1개의 CPU에 복수의 프로세서 코어가 있는 멀티 코어 CPU를 탑재한 서버 머신이 주류이기 때문. 같은 CPU 1개라 해도 코어가 많은 쪽이 성능이 좋으므로, 과금 단위도 프로세서 코어 수를 기반으로 함.
      2. User License : DBMS를 이용하는 사용자 수에 따라 가격이 결정되는 라이센스 체계. 사용자 수가 적은 경우에 유리함.
    • 두 라이센스 모두 시스템의 규모가 커질수록 라이선스료가 올라감.
    • 실제로는 어느 정도 규모를 가진 상용 시스템에서 사용자 수를 파악하기 어려워서 프로세서 라이센스를 사용하는 경우가 대부분.
    • 아무래도 사용자 라이센스를 적용하기 쉬운 곳은 사용자 수를 파악할 수 있는 소규모 환경에 한정.
  • 운영비용 : 서비스를 이용하는 기간에 계속해서 지급하는 돈(시스템 가동 후 장애 대응비, 유지보수 비용 등)

초기 비용 산정

  • 초기비용 산정에 영향을 미치는 요소 : 에디션, 옵션 선택
  • 대부분 DBMS 제품은 2가지 에디션 사용 : Standard Edition, Enterprise Edition
  • 기본적으로 스텐다드 에디션 -> 중소규모 시스템용, 엔터프라이즈 에디션 -> 대규모 시스템용으로 구분됨
  • 추가적으로 Express Edition이 있음(Oracle, SQL Server, DB2) : 시험판을 의미
    • 벤더가 제시하는 이용 조건을 지키는 한 라이센스료는 무료
    • 기능 일부에 제한을 두어 사용할 수 없음

엔터프라이즈 에디션에만 탑재되는 주요 기능

  • 신뢰성(가용성) : 클러스터 구성, Replication
  • 성능 : 일정 수량 이상의 프로세서 기술지원, 테이블 파티셔닝, 성능 리포트 출력, 데이터 압축
  • 보안 : 데이터 암호화, 감사로그 기록

데이터베이스의 운영비용

  • 기술지원 비용을 의미
  • 기술지원 서비스란?
    • 기술 Q&A
    • 버그 수정을 위한 프로그램(패치) 배포
    • 최신 버전으로의 업데이트 관리
    • 새로운 OS나 하드웨어에 대응
    • 전문 기술자나 컨설턴트를 통한 문제 해결
    • 노하우나 버그 정보 같은 기술 데이터베이스로의 접근 권리
  • 기술지원이 없는 소프트웨어는 위험함. 사고가 났을 때 해결할 수 있는 보장이 없음. 기술지원 서비스를 받는 이유 중 하나에는 책임의 분산도 있음.
  • 소프트웨어에도 수명이 있기 때문에 기술지원 서비스는 제품 배포 시점을 기준으로 서비스의 수준이 매년 내려가서 최후에는 기술지원 종료를 맞는다.
  • 서비스가 종료하는 타이밍을 EOSL(End of Service Life)이라 부름. 시스템 개발의 초기단계에서 어떤 소프트웨어를 채택할지 검토할 때 자주 나오는 단어.
  • 소프트웨어의 수명이라는 것은 소프트웨어가 세상에 배포된 날을 기준으로 함.

초기비용과 운영비용 조합

  1. 초기비용 있음 + 운영비용 있음 = Oracle, SQL Server등 일반 벤더 제품의 데이터베이스를 사용하는 경우. 상용 시스템용에서 가장 일반적
  2. 초기비용 있음 + 운영비용 없음 = 유지보수 계약을 맺지 않아 기술 지원이 없는 것 의미 -> 현실적인 선택지가 아님
  3. 초기비용 없음 + 운영비용 있음 = 오픈소스 소프트웨어OSS : MySQL