2017.01.12

이제는 리눅스 기반 SQL 서버를 준비할 시점

Mary Branscombe | CIO

리눅스 상에서 구동되는 SQL 서버를 검토해야 할 이유가 분명해지고 있다. 개별 프로젝트에 적합한 운영체제를 선택할 수 있게 됐다는 의미다.


Credit: Microsoft

SQL 서버를 리눅스에서 돌릴 수 있도록 한 마이크로소프트의 조치는 개발 플랫폼 종속성을 해소해줄 수 있다. 마이크로소프트 데이터베이스 시스템 그룹의 로한 쿠마르 제너럴 매니저는 리눅스 기반 SQL 서버가 윈도우 상품군의 일부로 제한되지 않을 것이라고 최근 진행한 CIO닷컴과의 인터뷰에서 강조했다.

그는 "동일한 SQL 서버 제품이다. SQL 서버 제품을 선택에 따라 윈도우와 리눅스로 적용하는 것일 뿐이다"라고 설명했다.

그의 발언이 의미하는 바는 리눅스에서 구동되는 SQL 서버도 가용성 그룹과 액티브 디렉토리 인증(Active Directory Authentication)에서 동적 데이터 마스킹, 행 수준 보안, 투명한 데이터 암호화까지 SQL 서버의 주요 기능을 고스란히 누릴 수 있다는 것이다. 여기에 스트레치 데이터베이스와 상시 암호화 옵션 같은 애저 통합 기능이 추가된다.

쿠마르는 첫 리눅스 기반 SQL 서버 릴리스에는 빠지는 기능이 있을 수 있다면서도, "장기적으로는 동일한 데이터베이스가 될 것이다. 스트레치 데이터베이스, 백업, 복제 등 무엇이든 지원한다"라고 말했다.

즉 리눅스 기반 SQL 서버와 윈도우 서버의 차이점은 운영 체제 자체와 관련된 일부 기능에 그친다. 이를테면 고 가용성과 DR(Disaster Recovery)에 클러스터링을 이용한다면 윈도우 서버 장애 조치 클러스티링에 의지하게 된다. 리눅스의 경우 고 가용성과 DR은 레드햇, 우분투, SuSE에서 각각 다르다. 리눅스 SQL 서버는 클러스터링에 페이스메이커(Pacemaker) 같은 오픈소스 도구를 이용하게 된다.

또 윈도와 밀접히 연결되어 있는 몇몇 데이터베이스 수준의 기능들이 있다. 애플리케이션이 SQL 서버에 저장된 파일과 문서를 파일 시스템처럼 액세스 할 수 있는 파일테이블(FileTable)을 예로 들 수 있다.

쿠마르는 "파일테이블의 경우 Win32 API를 통해 윈도우에 클라이언트 트랜젝션 액세스를 효과적으로 제공한다. 높은 성능과 확장성으로 Blob에 액세스가 가능한 방식이다. SQL 서버에 Blob을 저장한다면, 이는 파일테이블 기능이 아닌 리눅스에 기반을 두고 실행되게 된다"라고 설명했다.

쿠마르는 "하지만 이렇듯 서로 다른 기능은 극소수다. 개념적으로 동일한 SQL 서버이다. 열 스토어와 인메모리 OLTP 등에 투자한 모든 것을 두 제품 모두에서 이용할 수 있다"라고 말했다.

마이크로소프트 로드맵에 따르면 2017년 새 SQL 서버 버전은 윈도우와 리눅스용으로 출시될 예정이다. 윈도우 버전은 2016년 크게 개선됐던 바 있다. 따라서 이번에 업그레이드되는 요소가 그리 폭넓지 않을 전망이다. 쿠마르는 "R로 지능형 데이터베이스의 경계를 확대할 계획이다. 마이크로소프트는 얼굴 인식과 OCR 같은 머신 학습 기반 '지각(Cognitive)' 기능을 데이터베이스 자체에 구현하고 있고, PolyBase를 강화할 예정이다. 그러나 이번 릴리즈는 리눅스 버전의 등장에 초점이 맞춰져 있다"고 말했다.

-> MS 크로스 플랫폼을 'CIO도' 주목해야 하는 이유

OS가 아닌 데이터베이스를 선택
리눅스에서 SQL서버를 구동할 수 있게 되면 플랫폼에 상관 없이 데이터베이스를 선택할 수 있다. 쿠마르는 "선택의 여지가 생긴다. 혼합된 환경이 일반적이다. 대부분의 대기업이 윈도우 서버와 함께 리눅스를 보유하고 있다. CIO들에게 가장 자주 듣는 이야기 중 하나는 SQL 서버를 선택하면서 운영체제에도 투자해야 한다는 불만이다. 다른 데이터베이스에서는 없는 제한점이다"라고 말했다.

가트너의 도널드 파인버그도 "대기업 CIO들로부터 비슷한 이야기를 들은 적이 있다”라고 전했다. 그는 이어 “리눅스 기반 SQL 서버가 등장하면 신규 고객과 기존 고객 모두의 관심을 끌 것이다. 윈도우 서버에서만 이용할 수 있다는 이유로 SQL 서버를 사용하지 않기로 결정한 고객들이 많았다. 지금 당장은 윈도우 서버를 선택하는 회사가 많겠지만, 리눅스에서도 SQL 서버를 운영할 수 있음을 인식해갈 것이다. 즉 지금 당장은 리눅스를 이용하지 않아도, 미래의 선택지가 될 수 있다는 의미이다"라고 말했다.

최근 2-3년 간 선택 가능성을 요구하는 목소리가 높아졌다. 쿠마르에 따르면, 운영 구조 측면의 문제인 경우가 많다. 그는 "통상 2개 팀이 운영 체제와 SQL 서버를 나눠 관리하는데, 이를 조율하면서 마찰이 발생한다. 우리는 유연하지 못한 것, 마찰을 일으키는 것을 원하지 않는다"라고 말했다.

파인버그는 리눅스 SQL 서버가 부서 수준보다는 엔터프라이즈 수준의 솔루션으로 관심을 끌 것으로 예상했다. 그는 "대기업들에게 개별 서버를 리눅스가 실행되는 더 큰 서버로 통합할 수 있는 선택지를 제공하게 될 것"이라고 말했다. SQL 서버가 클라우드 호스팅 데이터베이스 서비스로 더 많이 사용될 것이라는 의미이기도 하다. 그는 "클라우드 서비스 공급업체들에게 리눅스 기반 SQL 서버라는 대안이 마련된 것”이라고 말했다.

-> '2017년 넘어 이어질' 엔터프라이즈 기술 동향 9가지

개발자와 리눅스 관리자의 작업 흐름에 부합
리눅스 SQL 서버가 쉽게 도입되도록 만드는 '열쇠' 중 하나는 리눅스 환경 및 기존 SQL 서버와 효과적으로 통합되는 것이다. 즉 윈도우와 리눅스가 섞인 클러스터를 이용, 다운타임 없이 윈도우의 SQL 서버 데이터베이스를 리눅스로 마이그레이션 할 수 있다. 더 나아가 생산 환경에서 혼합된 클러스터를 운영할 수 있다. 마이크로소프트에 따르면 리눅스 SQL 서버 프리뷰를 미리 도입한 기업 중 일부가 이미 이런 방법을 이용하고 있다(포천 500대 기업의 절반 이상).

쿠마르는 "고객들은 윈도우에서 백업을 해, 리눅스에서 복구하고, 이를 데이터베이스에 추가시키기 원한다고 말한다. 이를 구현함으로써 리눅스 SQL 서버는 기존 환경에 포함될 수 있게 됐다"라고 말했다.

개발자들은 나아가 윈도우 비주얼 스튜디오용 SQL 서버 데이터 도구(Server Data Tool)이나 SQL 서버 관리 스튜디오(Server Management Studio)를 이용, 윈도우 SQL 서버와 동일한 방식으로 리눅스 SQL 서버를 이용할 수 있을 것이다. 다른 방법으로 일했던 개발자들은 리눅스나 맥 기반 비주얼 스튜디오 코드를 이용해 SQL 서버를 연결하고, 더 나아가 T-SQL을 수정할 수 있다. SQL 서버가 잘 부합하기 때문에 기존 윈도우 방식보다 SQL 서버 개발이 훨씬 폭넓어지게 된다.

쿠마르는 "개발자 환경의 경우, VS 코드는 마이크로소프트 스택 외 드라이버를 강조한다. 자바 개발자, 파이톤 개발자, R 개발자들은 ADO.NET뿐만 아니라 이들 스택을 중시한다. 우리는 윈도우로 제한되어 있어 SQL 서버를 거들떠보지 않았던 개발자들을 공략하기 원하며, 그 기회를 열었다. JDBC 라이브러리를 '오픈소스화' 했다. 덕분에 Maven 프레임워크를 이용할 수 있게 됐다. 자바 개발자들이 아주 쉽게 SQL 서버 스레드를 리눅스에 적용할 수 있게 된 것이다"고 설명했다.

2017.01.12

이제는 리눅스 기반 SQL 서버를 준비할 시점

Mary Branscombe | CIO

리눅스 상에서 구동되는 SQL 서버를 검토해야 할 이유가 분명해지고 있다. 개별 프로젝트에 적합한 운영체제를 선택할 수 있게 됐다는 의미다.


Credit: Microsoft

SQL 서버를 리눅스에서 돌릴 수 있도록 한 마이크로소프트의 조치는 개발 플랫폼 종속성을 해소해줄 수 있다. 마이크로소프트 데이터베이스 시스템 그룹의 로한 쿠마르 제너럴 매니저는 리눅스 기반 SQL 서버가 윈도우 상품군의 일부로 제한되지 않을 것이라고 최근 진행한 CIO닷컴과의 인터뷰에서 강조했다.

그는 "동일한 SQL 서버 제품이다. SQL 서버 제품을 선택에 따라 윈도우와 리눅스로 적용하는 것일 뿐이다"라고 설명했다.

그의 발언이 의미하는 바는 리눅스에서 구동되는 SQL 서버도 가용성 그룹과 액티브 디렉토리 인증(Active Directory Authentication)에서 동적 데이터 마스킹, 행 수준 보안, 투명한 데이터 암호화까지 SQL 서버의 주요 기능을 고스란히 누릴 수 있다는 것이다. 여기에 스트레치 데이터베이스와 상시 암호화 옵션 같은 애저 통합 기능이 추가된다.

쿠마르는 첫 리눅스 기반 SQL 서버 릴리스에는 빠지는 기능이 있을 수 있다면서도, "장기적으로는 동일한 데이터베이스가 될 것이다. 스트레치 데이터베이스, 백업, 복제 등 무엇이든 지원한다"라고 말했다.

즉 리눅스 기반 SQL 서버와 윈도우 서버의 차이점은 운영 체제 자체와 관련된 일부 기능에 그친다. 이를테면 고 가용성과 DR(Disaster Recovery)에 클러스터링을 이용한다면 윈도우 서버 장애 조치 클러스티링에 의지하게 된다. 리눅스의 경우 고 가용성과 DR은 레드햇, 우분투, SuSE에서 각각 다르다. 리눅스 SQL 서버는 클러스터링에 페이스메이커(Pacemaker) 같은 오픈소스 도구를 이용하게 된다.

또 윈도와 밀접히 연결되어 있는 몇몇 데이터베이스 수준의 기능들이 있다. 애플리케이션이 SQL 서버에 저장된 파일과 문서를 파일 시스템처럼 액세스 할 수 있는 파일테이블(FileTable)을 예로 들 수 있다.

쿠마르는 "파일테이블의 경우 Win32 API를 통해 윈도우에 클라이언트 트랜젝션 액세스를 효과적으로 제공한다. 높은 성능과 확장성으로 Blob에 액세스가 가능한 방식이다. SQL 서버에 Blob을 저장한다면, 이는 파일테이블 기능이 아닌 리눅스에 기반을 두고 실행되게 된다"라고 설명했다.

쿠마르는 "하지만 이렇듯 서로 다른 기능은 극소수다. 개념적으로 동일한 SQL 서버이다. 열 스토어와 인메모리 OLTP 등에 투자한 모든 것을 두 제품 모두에서 이용할 수 있다"라고 말했다.

마이크로소프트 로드맵에 따르면 2017년 새 SQL 서버 버전은 윈도우와 리눅스용으로 출시될 예정이다. 윈도우 버전은 2016년 크게 개선됐던 바 있다. 따라서 이번에 업그레이드되는 요소가 그리 폭넓지 않을 전망이다. 쿠마르는 "R로 지능형 데이터베이스의 경계를 확대할 계획이다. 마이크로소프트는 얼굴 인식과 OCR 같은 머신 학습 기반 '지각(Cognitive)' 기능을 데이터베이스 자체에 구현하고 있고, PolyBase를 강화할 예정이다. 그러나 이번 릴리즈는 리눅스 버전의 등장에 초점이 맞춰져 있다"고 말했다.

-> MS 크로스 플랫폼을 'CIO도' 주목해야 하는 이유

OS가 아닌 데이터베이스를 선택
리눅스에서 SQL서버를 구동할 수 있게 되면 플랫폼에 상관 없이 데이터베이스를 선택할 수 있다. 쿠마르는 "선택의 여지가 생긴다. 혼합된 환경이 일반적이다. 대부분의 대기업이 윈도우 서버와 함께 리눅스를 보유하고 있다. CIO들에게 가장 자주 듣는 이야기 중 하나는 SQL 서버를 선택하면서 운영체제에도 투자해야 한다는 불만이다. 다른 데이터베이스에서는 없는 제한점이다"라고 말했다.

가트너의 도널드 파인버그도 "대기업 CIO들로부터 비슷한 이야기를 들은 적이 있다”라고 전했다. 그는 이어 “리눅스 기반 SQL 서버가 등장하면 신규 고객과 기존 고객 모두의 관심을 끌 것이다. 윈도우 서버에서만 이용할 수 있다는 이유로 SQL 서버를 사용하지 않기로 결정한 고객들이 많았다. 지금 당장은 윈도우 서버를 선택하는 회사가 많겠지만, 리눅스에서도 SQL 서버를 운영할 수 있음을 인식해갈 것이다. 즉 지금 당장은 리눅스를 이용하지 않아도, 미래의 선택지가 될 수 있다는 의미이다"라고 말했다.

최근 2-3년 간 선택 가능성을 요구하는 목소리가 높아졌다. 쿠마르에 따르면, 운영 구조 측면의 문제인 경우가 많다. 그는 "통상 2개 팀이 운영 체제와 SQL 서버를 나눠 관리하는데, 이를 조율하면서 마찰이 발생한다. 우리는 유연하지 못한 것, 마찰을 일으키는 것을 원하지 않는다"라고 말했다.

파인버그는 리눅스 SQL 서버가 부서 수준보다는 엔터프라이즈 수준의 솔루션으로 관심을 끌 것으로 예상했다. 그는 "대기업들에게 개별 서버를 리눅스가 실행되는 더 큰 서버로 통합할 수 있는 선택지를 제공하게 될 것"이라고 말했다. SQL 서버가 클라우드 호스팅 데이터베이스 서비스로 더 많이 사용될 것이라는 의미이기도 하다. 그는 "클라우드 서비스 공급업체들에게 리눅스 기반 SQL 서버라는 대안이 마련된 것”이라고 말했다.

-> '2017년 넘어 이어질' 엔터프라이즈 기술 동향 9가지

개발자와 리눅스 관리자의 작업 흐름에 부합
리눅스 SQL 서버가 쉽게 도입되도록 만드는 '열쇠' 중 하나는 리눅스 환경 및 기존 SQL 서버와 효과적으로 통합되는 것이다. 즉 윈도우와 리눅스가 섞인 클러스터를 이용, 다운타임 없이 윈도우의 SQL 서버 데이터베이스를 리눅스로 마이그레이션 할 수 있다. 더 나아가 생산 환경에서 혼합된 클러스터를 운영할 수 있다. 마이크로소프트에 따르면 리눅스 SQL 서버 프리뷰를 미리 도입한 기업 중 일부가 이미 이런 방법을 이용하고 있다(포천 500대 기업의 절반 이상).

쿠마르는 "고객들은 윈도우에서 백업을 해, 리눅스에서 복구하고, 이를 데이터베이스에 추가시키기 원한다고 말한다. 이를 구현함으로써 리눅스 SQL 서버는 기존 환경에 포함될 수 있게 됐다"라고 말했다.

개발자들은 나아가 윈도우 비주얼 스튜디오용 SQL 서버 데이터 도구(Server Data Tool)이나 SQL 서버 관리 스튜디오(Server Management Studio)를 이용, 윈도우 SQL 서버와 동일한 방식으로 리눅스 SQL 서버를 이용할 수 있을 것이다. 다른 방법으로 일했던 개발자들은 리눅스나 맥 기반 비주얼 스튜디오 코드를 이용해 SQL 서버를 연결하고, 더 나아가 T-SQL을 수정할 수 있다. SQL 서버가 잘 부합하기 때문에 기존 윈도우 방식보다 SQL 서버 개발이 훨씬 폭넓어지게 된다.

쿠마르는 "개발자 환경의 경우, VS 코드는 마이크로소프트 스택 외 드라이버를 강조한다. 자바 개발자, 파이톤 개발자, R 개발자들은 ADO.NET뿐만 아니라 이들 스택을 중시한다. 우리는 윈도우로 제한되어 있어 SQL 서버를 거들떠보지 않았던 개발자들을 공략하기 원하며, 그 기회를 열었다. JDBC 라이브러리를 '오픈소스화' 했다. 덕분에 Maven 프레임워크를 이용할 수 있게 됐다. 자바 개발자들이 아주 쉽게 SQL 서버 스레드를 리눅스에 적용할 수 있게 된 것이다"고 설명했다.

X