[DB] MS Sql Standard, Express, LocalDB, Compact

2015. 7. 23. 19:49Database

MS SQL은 다양한 Database Edition을 제공합니다. Enterprise, Standard, Express, Compact, Mobile 등. 여기에서는 SQL DB의 차이점을 요약합니다.

MS SQL Server Enterprise~Standard Edition

MS SQL Server의 유료 라인업으로써 가격에 따라 크기와 성능, 기능을 제한합니다. 이 제품 군에서 생성된 Database는 상호 호환되며 낮은 제품 군을 사용하다가도 제품 키만 입력하면 좀 더 높은 제품 군으로 쉽게 업그레이드할 수 있습니다.

SQL Server제품으로써 설치가 까다로우며, 설치가 완료된 후에는 항상 SQL Server엔진으로 sqlservr.exe가 실행되어 DB서버로서 동작하게 됩니다.

MS SQL Server Express Edition

MS SQL Server의 무료 라인업으로써 학생, 개발자 등 누구라도 설치하고 이용할 수 있습니다. MS SQL Standard에 비해 성능이나 크기, 기능에서 제한이 있지만  DBMS로서 핵심적인 기능들은 모두 포함하고 있습니다.

마찬가지로 SQL Server 제품 군이기에 Standard 이상의 제품처럼 설치가 까다롭고, 항상 SQL Server엔진이 상주하며 DB서버로서 동작하게 됩니다.

MS SQL Express LocalDB

지금까지 살펴봤던 SQL Server 제품들은 설치 및 환경설정이 까다롭고 시간이 걸리며, 설치 후에도 시스템에 SQL Server인스턴스를 상주시키기 때문에 시스템이 무거워지게 됩니다. 따라서 개발자가 이러한 복잡함 없이 로컬에서 즉시 Database 기능을 사용할 수 있도록 하기 위해 MS에서는 LocalDB를 제공하고 있습니다.

LocalDB는 MS SQL 2012 Express부터 제공되며 MS SQL Express의 실행모드 입니다.  따라서 다음과 같은 특징을 지니게 됩니다.

  • MS SQL Server Express와 호환됩니다.
  • 30MB내외로 경량화된 SqlLocalDB.msi 설치파일을 다운로드하여, 간단하게 설치 후에 사용할 수 있습니다.
  • sqlservr.exe가 항상 상주하는 것이 아니라, 필요할 때마다 인스턴스가 자동실행되고 사용 후 수분 내에 자동 종료됩니다. 즉, Embeded DB와 같이 In-process DLL 방식으로 동작하는 것이 아닙니다.
  • LocalDB는 MS SQL Server Express와 마찬가지로 SSMS로 접속할 수 있습니다. 또한, 동일하게 ADO.NET, LINQ To SQL을 통한 접속을 지원합니다.

LocalDB를 사용하기 위해서는 다음과 같은 제한사항을 고려해야 합니다.

  • LocalDB는 개발자의 개발 편의성을 목적으로 만들어진 기능입니다. 즉, 배포나 호스팅 목적으로 사용 시 제한이나 불편함이 따를 수 있습니다.
  • .NET 4.0부터 지원하며, Windows Vista SP2, Windows Server 2008 SP2 이상의 운영체제 부터 지원합니다.
  • 10GB의 크기제한이 있습니다.

SQL Server Compact Edition

MS SQL CE는 Embeded Database 버전입니다. 즉, 배포된 프로그램 내에서 In-Process 데이터베이스로써 동작하게 됩니다. SQL Server Compact는 Desktop 뿐만 아니라 Mobile제품 군을 지원하는 유일한 제품입니다.

SQL Servce CE는 .SDF 파일포멧을 이용하기 때문에 다른 MS SQL 제품과 호환되지 않습니다. DB크기(4GB 제한)나 컬럼타입 등 기능이 다소 제한적이긴 하나, T-SQL, LINQ to SQL, ADO.NET 등 개발에 유용한 기능들은 대부분 지원합니다.

SQL Server Compact를 사용한 Desktop 프로그램이나 Mobile 앱을 배포하려면, 대상 장치에 SQL Server Compact가 설치되어 있어야 합니다. 하지만, Windows Phone 7.1(망고)에는 기본적으로 SQL Server Compact가 설치되어 있습니다.

SQL CE는 작고 설치가 간편하고, 같은 Embeded Database인 SQLite에 비해 최대 1,000배 이상 빠르기 때문에(참고링크), MS계열의 App 또는 Desktop 프로그램에서 내장 DB로 주로 채택됩니다.

SQL CE는 여러 번의 re-branding을 통해, 다양한 이름으로 불리고 있습니다. (SQL CE, SQL Server CE, SQL Server Mobile, SQL Mobile)

References