본문 바로가기

PRODUCT/OS

MS SQL on Linux가 뜨는 이유 3가지

MS SQL on Linux 뜨는 이유 3가지 

 

지난 포스팅에 이어 마이크로소프트 SQL 서버(이하 MS SQL Server)를 레드햇 엔터프라이즈 리눅스(이하 RHEL)에서 운영하는 것에 관해 이야기를 풀어가 보겠습니다. 이번 주제는 ‘왜’입니다. 윈도우 서버가 아닌 RHEL 상에서 MS SQL Server를 쓰는 이유는 무엇일까요? 3가지 측면에서 그 이점을 알아보겠습니다. 

 

클라우드 시대에 맞는 유연성

 

기업의 컴퓨팅 환경은 이제 온프레미스 하나만 있지 않습니다. 하이브리드, 퍼블릭 클라우드, 멀티 클라우드 등 다양한 위치에서 자원과 워크로드를 운영합니다. 배포 조건도 다양합니다. 베어메탈부터 시작해 가상 머신, 컨테이너 등 필요에 맞는 방식으로 데이터베이스를 배포합니다. 다양성 증가는 유연성 없이는 뒷받침하기 어렵습니다. MS SQL Server가 배포와 운영의 유연성을 확보하는 중요 방법의 하나가 리눅스 지원입니다. 운영체제 종류가 무엇이건, 배포 조건이 어떻게 되었건, 시스템 관리자나 데이터베이스 관리자가 익숙한 관리 도구와 언어가 무엇이건 자유롭게 배포하고 운영이 가능해야 클라우드 시대 데이터베이스 시스템에 대한 기업의 요구를 충족할 수 있습니다. 

 

참고로 MS SQL Server 2019의 경우 컨테이너 환경 지원이 대폭 개선되어 배포 유연성이 더욱 높아졌습니다. RHEL 8과 MS SQL Server 2019 조합을 이용하면 컨테이너 패키킹을 더 쉽고 효율적으로 할 수 있습니다. MS SQL Server 2019 레드햇 UBI(Red Hat Universal Base Image) 덕에 베이스 이미지 작업도 간편합니다. 

 

 

(출처: https://www.redhat.com/en/blog/microsoft-sql-server-meets-red-hat-universal-base-image)

 

여기에 Red Hat OpenShift를 더하면 MS SQL Server 배포와 운영을 매우 높은 수준으로 자동화할 수 있습니다. 또한, MS SQL Server 2019의 Big Data Clusters 기능과 Red Hat OpenShift의 긴밀한 연계 덕에 고가용성 구성 옵션도 더 풍성하게 누릴 수 있습니다. 

 

이외에 Red Hat OpenShift의 Big Data Clusters 지원이 갖는 의미는 더 있습니다. 인공 지능, 머신 러닝, 첨단 분석 등 최근 엔터프라이즈 환경에서 급증하고 있는 데이터 관련 워크로드를 더 유연하게 수용할 수 있다는 것입니다. 참고로 기업은 OpenShift 커뮤니티 버전이나 Red Hat OpenShift 또는 완전 관리형 클라우드 서비스인 Microsoft Azure Red Hat OpenShift  중 원하는 것을 선택해 이용할 수 있습니다. 

 

MS SQL Server 2019의 Big Data Clusters 기능은 MS SQL Server, 스파크,  HDFS(Hadoop Data File System) 인스턴스를 컨테이너화하여 클러스터에 간편히 배포할 수 있도록 돕습니다. 다음 그림과 같이 리눅스 기반 컨테이너를 배포하면 데이터베이스 서비스와 애플리케이션을 효과적으로 격리할 수 있고, 필요에 따라 신속하게 빌드와 배포 작업을 할 수 있습니다. 그리고 Red Hat OpenShift 덕에 DevOps 체계로 자연스러운 전환을 하는 것은 덤으로 따라서 옵니다. 

 

(출처: https://www.openshift.com/blog/announcing-microsoft-sql-server-2019-big-data-clusters-on-red-hat-openshift)

 

현대적인 워크로드 성능 최적화에 유리 

 

RHEL와 MS SQL Server 조합은 성능 이점도 큽니다. TPC-H 벤치마크 결과만 봐도 알 수 있습니다. 데이터베이스 서비스는 튜닝을 통한 최적화 정도에 따라 큰 결과의 차이를 보입니다. 따라서 객관적인 성능에 대해서는 본 포스팅에서는 다루지 않겠습니다. RHEL와 MS SQL Server 조합 측면에서 성능 관련해 주목할 점은 현대적인 워크로드 성능 최적화에 유리하다는 것입니다. 

 

인공 지능, 머신 러닝, 인메모리 기반 실시간 분석같이 요즘 그 수요가 늘고 있는 서비스를 위한 데이터베이스 기반으로 RHEL와 MS SQL Server는 확실한 성능 이점을 제공합니다. 빅 데이터부터 OLTP 처리까지 MS SQL Server는 성능 최적화를 위한 다양한 기능을 제공합니다. 여기에 RHEL는 검증된 성능과 안정성 그리고 보안성을 제공합니다. 

 

클라우드의 경제성 효과를 고스란히 누릴 있어 

 

앞서 데이터베이스 배포 환경이 다양해 지고 있다고 했습니다. 이는 기업에 비용 절감의 기회를 제공합니다. 데이터베이스 시스템의 경우 보통 높은 사양의 단독 서버로 운영합니다. 전통적인 방식이죠. 클라우드를 이용해 가상 머신이나 컨테이너를 운영 기반으로 삼으면 비용은 크게 줄어듭니다. 하드웨어 도입 비용과 유지보수 비용이 일단 빠지고, 인프라 운영 관련 인건비 절감도 가능합니다. 여기에 리눅스를 씀으로 인해 빠지는 윈도우 서버 라이선스 비용도 더하면 비용 효과는 더 커집니다. 

 

물론 아직 데이터베이스 서버를 가상 머신이나 컨테이너에 올리기에 성능 걱정이 크다고 보는 이들도 있습니다. 이는 기우에 불과합니다. IaaS 측면에서 많은 클라우드 사업자가 베어베탈부터 매우 높은 성능의 가상 머신 인스턴스를 상품화하였습니다. 더불어 마이크로서비스 아키텍처로의 전환 가속도 데이터베이스 시스템 구축과 운영 방식에 영향을 끼치고 있습니다. 이를 고려할 때 리눅스 기반 MS SQL Server 운영은 중장기적으로 비용 경쟁력이 향상될 것으로 보입니다. 

 

운영 관련 경제성에 있어서 내부 기술 역량도 빼놓을 수 없는 점검 포인트입니다. 오픈 소스 데이터베이스 이용 기업이 빠르게 늘고 있습니다. 이 과정에서 몇몇 기업은 시행착오를 겪습니다. 내부에 오픈 소스 데이터베이스 구축과 운영 역량 확보 없이 전환하면 비용 절감이나 특정 솔루션 종속 탈피 효과를 제대로 누리지 못합니다. 대안으로 요즘 관리형 오픈 소스 데이터베이스를 클라우드 사업자들이 줄지어 내놓고 있습니다. 문제는 내부 역량 없이 관리형 서비스를 쓰다 보면 나중에 비용 부담이 매우 커질 우려가 있다는 것입니다. 

 

MS SQL Server 운영 역량을 이미 확보하고 있다면? RHEL와 MS SQL Server 조합은 오히려 오픈 소스 데이터베이스로 준비 없이 넘어가는 것과 비교해 더 큰 경제적 효과를 줄 수 있습니다. 기반은 리눅스이지만 데이터베이스 관리자는 SQL Server Management Studio (SSMS), SQL Server Data Tools (SSDT), and PowerShell module (sqlps) 같이 평소 쓰던 도구 및 언어를 이용하면 됩니다. 

 

이상으로 RHEL 상에서 MS SQL Server를 쓰는 이유 3가지를 간단히 알아보았습니다. 더 자세한 내용은 락플레이스 웨비나를 참조 바랍니다. 

 

<웨비나 바로가기