데이터베이스와 돈 - 데이터베이스 첫걸음(2)

뫄뫄(ahk)·2023년 3월 24일
0

저자는 3장 전체를 할애해 데이터베이스 뿐아니라 소프트웨어를 구입하고 시스템을 운영하는데 드는 비용에 대해 이야기합니다. 데이터베이스 자체에대한 지식을 얻고자하신다면 이번 글은 건너뛰셔도 무방합니다.

개발자는 좋은 기술로 우수한 성능의 소프트웨어를 개발해야합니다. 하지만 동시에 개발자나 소프트웨어를 제공하는 입장에서는 제공하는 가치에 걸맞는 이익을 얻어야하기 때문에 돈을 아는 엔지니어가 되어야합니다.

초기비용과 운영비용

초기비용

초기비용은 곧 DBMS에 대한 라이선스 비용을 말합니다. 제품을 사용할 권한을 돈을 주고 사는 것이죠.

판매 단위

데이터베이스나 다른 소프트웨어들은 판매의 단위가 치킨 한 마리처럼 물리적이지 않습니다. 논리적인 단위이기 때문에 DBMS 벤더들은 보통 2가지, 프로세서와 사용자로 판매의 단위를 나눕니다. 그렇다면 왜 하필 프로세서와 사용자 수 일까요?

  • 프로세서 라이선스
    DB 서버 하드웨어 내 CPU 프로세서의 수에 따른 판매 단위
  • 사용자 라이선스
    사용자의 수에 따른 판매단위

사실 둘은 시스템의 규모를 파악하기 위한 두 가지 방법입니다. 사용자를 파악하기 어려울 때 프로세서 라이선스를, 사용자가 적어 파악하기 용이할 때 사용자 라이선스를 사용합니다.

에디션과 옵션

에디션과 옵션을 초기비용을 좌지우지하는 매우 중요한 부분입니다. 대부분의 데이터베이스나 소프트웨어에는 보통 두 가지 에디션이 있습니다.

  • 스탠더드 에디션(중소규모 시스템)
  • 엔터프라이즈 에디션(대규모 시스템)
    (+익스프레스 에디션(시험판))

이 중 높은 비용인 엔터프라이즈 에디션에만 탑재되는 기능들(제품에 따라 다름)이 있습니다. 이 기능은 유료 기능들이므로 예산을 조율해가며 판단해야합니다.

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

운영비용

운영비용은 기간이 정해진 비용입니다. 오랜 기간 사용할 수록 비용이 많이 들게 되겠죠?

기술지원 비용

또한 운영비용은 곧 기술지원 비용을 의미합니다. 데이터베이스나 OS와 같은 소프트웨어는 매우 복잡하게 구현되어있기 때문에 버그나 사고 발생의 위험이 반드시 있습니다. 그렇기 때문에 기술지원없는 시스템 운영은 (저자의 말을 빌리면) '생명줄 없이 등산하는 것'과 같습니다. 유상 기술지원 서비스는 사고 발생시 (자력으로 해결해야하는)비용을 줄이기 위함도 있지만 책임을 분산시키기 위한 보험으로서의 의미도 있습니다.

트레이드오프는 항상 고민거리

제품을 배포한 직후에는 적극적이고 다양한 기술지원을 제공합니다. 그러나 시간이 갈수록 서비스의 수준은 낮아지고 결국 서포트를 종료(EOSL, 서포트 종료시점)하게 됩니다. 그렇기 때문에 구매 일자와 관계없이 배포된지 오래된 제품을 구입하는 것은 EOSL의 위험이 있습니다.

또 배포되지 얼마 되지 않은 제품을 구입한다면 기능도 좋고 기술지원의 기간이 길겠지만 버그가 많아 불안정하다는 단점이 있습니다.

이런 트레이트오프 상황에서 저자는 같은 제품의 버전이나 아키텍처의 선행사례가 있는지 살펴보는 것을 추천합니다.

초기비용과 운영비용의 조합

  • 초기비용 X, 운영비용 X
    상용시스템에서 사용하는 데이터베이스에서는 불가능한 조합
  • 초기비용 O, 운영비용 O
    가장 흔하게 사용되는 조합
  • 초기비용 O, 운영비용 X
    라이선스를 구입하여 사용하는 경우
    • 장점
      • 기술지원의 중단이 걱정되지만 제품은 반영구적으로 이용가능
      • 전체 비용의 변동이 적고, 장기적으로 활용할 수 있다
    • 단점
      • 초기비용이 많이 든다
      • 다른 데이터베이스로의 마이그레이션이 어렵다
      • 시범 도입이 불가
  • 초기비용 X, 운영비용 O
    OSS(Open Source Software)을 기반으로한 제품을 사용하는 경우. Red Hat이나 MySQL이 있다.
    • 장점
      • 초기비용이 없다.
      • 의사결정비용이 적기 때문에 마이그레이션이 쉽고, 불필요한 경우 바로 중단할 수 있다는 장점이 있다.
    • 단점
      • 장기 이용시 라이선스 구매보다 비용이 더 발생할 수 있다
      • 서비스 요금 인상등의 변동이 있을 수 있다
      • 회사 서비스 중지의 위험이 있다

휴대폰 약정을 잘못하면 휴대폰 기계값보다 월 휴대폰 요금이 훨씬 더 많이 나올 수 있다. (일부)휴대폰 대리점의 트릭에 넘어가면 안되는 것처럼 데이터베이스나 다른 SW들도 초기비용과 운영비용과 관련된 요금제를 상황에 맞게 합리적으로 선택해야한다.

profile
NONONONONONOYes!

0개의 댓글