저자는 3장 전체를 할애해 데이터베이스 뿐아니라 소프트웨어를 구입하고 시스템을 운영하는데 드는 비용에 대해 이야기합니다. 데이터베이스 자체에대한 지식을 얻고자하신다면 이번 글은 건너뛰셔도 무방합니다.
개발자는 좋은 기술로 우수한 성능의 소프트웨어를 개발해야합니다. 하지만 동시에 개발자나 소프트웨어를 제공하는 입장에서는 제공하는 가치에 걸맞는 이익을 얻어야하기 때문에 돈을 아는 엔지니어가 되어야합니다.
초기비용은 곧 DBMS에 대한 라이선스 비용을 말합니다. 제품을 사용할 권한을 돈을 주고 사는 것이죠.
데이터베이스나 다른 소프트웨어들은 판매의 단위가 치킨 한 마리처럼 물리적이지 않습니다. 논리적인 단위이기 때문에 DBMS 벤더들은 보통 2가지, 프로세서와 사용자로 판매의 단위를 나눕니다. 그렇다면 왜 하필 프로세서와 사용자 수 일까요?
사실 둘은 시스템의 규모를 파악하기 위한 두 가지 방법입니다. 사용자를 파악하기 어려울 때 프로세서 라이선스를, 사용자가 적어 파악하기 용이할 때 사용자 라이선스를 사용합니다.
에디션과 옵션을 초기비용을 좌지우지하는 매우 중요한 부분입니다. 대부분의 데이터베이스나 소프트웨어에는 보통 두 가지 에디션이 있습니다.
이 중 높은 비용인 엔터프라이즈 에디션에만 탑재되는 기능들(제품에 따라 다름)이 있습니다. 이 기능은 유료 기능들이므로 예산을 조율해가며 판단해야합니다.
운영비용은 기간이 정해진 비용입니다. 오랜 기간 사용할 수록 비용이 많이 들게 되겠죠?
또한 운영비용은 곧 기술지원 비용을 의미합니다. 데이터베이스나 OS와 같은 소프트웨어는 매우 복잡하게 구현되어있기 때문에 버그나 사고 발생의 위험이 반드시 있습니다. 그렇기 때문에 기술지원없는 시스템 운영은 (저자의 말을 빌리면) '생명줄 없이 등산하는 것'과 같습니다. 유상 기술지원 서비스는 사고 발생시 (자력으로 해결해야하는)비용을 줄이기 위함도 있지만 책임을 분산시키기 위한 보험으로서의 의미도 있습니다.
제품을 배포한 직후에는 적극적이고 다양한 기술지원을 제공합니다. 그러나 시간이 갈수록 서비스의 수준은 낮아지고 결국 서포트를 종료(EOSL, 서포트 종료시점)하게 됩니다. 그렇기 때문에 구매 일자와 관계없이 배포된지 오래된 제품을 구입하는 것은 EOSL의 위험이 있습니다.
또 배포되지 얼마 되지 않은 제품을 구입한다면 기능도 좋고 기술지원의 기간이 길겠지만 버그가 많아 불안정하다는 단점이 있습니다.
이런 트레이트오프 상황에서 저자는 같은 제품의 버전이나 아키텍처의 선행사례가 있는지 살펴보는 것을 추천합니다.
휴대폰 약정을 잘못하면 휴대폰 기계값보다 월 휴대폰 요금이 훨씬 더 많이 나올 수 있다. (일부)휴대폰 대리점의 트릭에 넘어가면 안되는 것처럼 데이터베이스나 다른 SW들도 초기비용과 운영비용과 관련된 요금제를 상황에 맞게 합리적으로 선택해야한다.