등록하신 이메일과 암호를 입력하세요
아래항목을 모두입력해 주세요
데이터베이스가 필요한 배경처음에는 물론 데이터베이스라는 것이 없었습니다. 3-40년 전에는 파일에다 순서대로 쓰고, 원하는 자료를 찾아내는 것이 자료를 처리하는 방법의 전부였습니다.일련의 순서대로 쓰고, 읽을 때도 일련의 순서대로 읽어온다고 해서 SAM(Sequential Access Method) 파일이라고 불리던 방식입니다.
기업에서는 SAM 의 한계를 극복하기 위해서 색인(index) 의 필요성을 느끼게 되었습니다. 차례대로 읽을 때, 처음에 있는 자료를 가져오는 것은 좋지만, 맨 마지막의 자료를 가져오기 위해서는 처음부터 전체 자료를 검색해야만 했습니다.
그래서 좀더 빠른 방법을 찾기 시작하게 됩니다. 그 해결책이 색인이었습니다. 자주 사용하는 항목에 색인을 만들어두고 빠르게 찾을 수 있는 방법을 제공해 주었다. 예로 책에서 찾아보기를 붙인 방식입니다. 이것을 I-SAM(Indexed SAM)파일이라고 불렀습니다.
이러한 환경들이 점차 발전되어 I-SAM 라이브러리들이 대거 출연하고 PC 에서 사용하는 xBase 라고 불리는 dBASE가 출연해서 일반 사용자들에게 각광을 받았습니다.
호스트 환경에서는 네트워크 데이터베이스, 계층적 데이터베이스 등이 등장하게 됩니다.
또한 갑작스러운 작업의 중단(예로 정전 등)에도 데이터를 신뢰성 있게 보호해주는 방법들도 개발되기 시작하였습니다.다수 사용자를 위한 잠금(lock) 처리의 방법도 등장했습니다.
DBMS(Database Management System)는 여기서 더 발전해서 데이터베이스를 관리하는 시스템을 만든 것입니다. DBMS 안에는 데이터베이스를 사용하는 권한을 관리하고 데이터베이스의 안정성이나 성능을 유지하기 위한 도구들이 많이 들어 있습니다.SQL 서버는 DBMS 중에서도 관계 형 데이터베이스(RDBMS; Relational DBMS)입니다. 이 말은 관계 형 데이터베이스가 지니는 모든 속성이 SQL 서버에도 동일하게 영향을 미친다는 것입니다.
따라서 SQL 서버를 제대로 잘 사용하려면 관계 형 데이터베이스(데이터베이스 내에서 각각의 객체(예로 테이블)들은 서로 관계를 가질 수 있다)에 대해서 잘 알아야 합니다.
■ MS SQL Server의 역사
1970년에 IBM 은 데이터베이스 질의를 위한 언어를 만들었는데 이것을 SEQUEL 즉, 구조적 영어 질의 언어(Structured English Query Language)라고 불렀습니다.(그래서, 이것을 소리 나는 대로 에스큐엘(SQL)이라고 읽기도 하고 "씨퀄"이라고 읽기도 합니다). 그런데 이것이 시간이 흘러 그 언어 자체를 가리키는 의미와 함께 이를 처리하는 데이터베이스 엔진을 가리키는 말로 변모했습니다.
SQL 서버는 원래 Sybase(사이베이스)에 의해서 만든 데이터베이스 관리 시스템이었습니다.
이것을 Microsoft와 사이베이스가 협력 하여 버전 1.0을 OS/2 용으로 이식을 했고, 버전 4.2 부터 NT 서버로 이식했습니다.
초기엔 사이베이스의 32bit UNIX 버전을 16bit의 OS /2 버전으로 변화하는 것으로 시작되었습니다
이후 4.21, 4.21a 등으로 버전 업이 되었습니다. 이때는 3.5인치 디스켓 너 댓 장이 SQL 서버 제품의 전부였습니다. 지금이면 상상할 수 없는 매우 작은 크기의 데이터베이스였습니다.
그러던 것이 버전 6.0부터는 Microsoft가 Sybase로 부터 모든 라이센스를 사고 Microsoft 독자적으로 개발하게 됩니다.
이때 NT 용 SQL 서버가 최초로 등장하게 됩니다.
물론 그 이면에는 많은 갈등(?)이 있었음을 짐작할 수 있습니다. 그리고, 시간이 흘러 96년에는 제법 사용할만한 6.5 버전이 출시되었습니다. 6.0과 6.5 사이에 상당한 변화가 있었습니다.
그리고 1년 뒤부터 7.0 버전의 소식이 들려옵니다. 그러나 7.0 버전은 한없이 출시가 지연되었습니다. 내부적으로 97년 2월경 출시될 것이라고 했다가, 무기 연기로 바뀌었습니다. 그리고는 98년 12월에야 출시되었습니다.
필자의 기억으론 이때부터 쓸만한 DB 엔진이라고 생각됩니다.
장점으로 당시 DB 엔진은 Oracle 이 대세 이던 시대이고 또한 성능에서도 많은 차이가 있었으나
MS-SQL 7.0 은 직관적인 인터페이스와 개발상의 용의함으로 인해 초급 개발자가 접근하기에 매우 용의했으며 DB 개발이 소수 정애의 일부 한정된 사용자 층에 의한 한정된 영역을 다수의 사용자에게 어필할 수 있는 단초가 되었다고 생각됩니다.
SQL Server 7.0 버전이 늦게 출시된 이면에는, 많은 유능한 데이터베이스 전문가들이 Microsoft 로 스카우트 되었기 때문이라는 소문이 있습니다.
그로 해 데이터베이스 엔진 자체가 완전히 바뀌는 일대 변혁이 일어났습니다.
MS SQL Server 4.2 이전 버전은 사이베이스(Sybase) 사의 DBMS 엔진을 마이크로소프트와 사이베이스가 협력하여 Windows NT 에 탑재한 것이며, 6.0 과 6.5 버전은 마이크로소프트사가 사이베이스로부터 RDBMS에 대한 라이센스를 사서 독자적으로 개발한 제품이었습니다.
그래서 SQL 서버는 사이베이스 사와 여러 가지 측면에서 유사한 특성을 많이 가지고 있었으며, 유닉스 플랫폼에서 동작하는 사이베이스의 기능이나 장점들을 Windows NT 운영체제에 이식하는 과정에서 Windows NT 운영체제가 지원하지 못하는 부분의 기능은 제외되거나 변형되었고, 그로 인해 SQL 서버 6.0 과 6.5는 이전 버전보다는 월등히 기능이나 성능이 향상되었지만 오라클 또는 DB2 와 비교해서는 경쟁의 상대로는 빈약한 RDBMS였습니다.
하지만, SQL 서버 7.0 은 마이크로소프트가 심혈을 기울여 만든 RDBMS 이며, 이전 버전인 6.5 와 는 아키텍처부터 다르게 설계되었으며 엔터프라이즈 급 RDBMS 로 만들어졌습니다.
98년 12월에 SQL 서버 7.0이 발표되면서 마이크로 소프트의 SQL 서버도 엔터프라이즈 급 RDBMS 시장에 문을 두드리게 되었습니다.
SQL 서버 7.0부터는 성능과 확장 성, 관리의 용이성, 프로그래밍 가능성, 유용성 등으로 인해 수많은 고객 관계 관리, 비즈니스 인텔리전스, 전사적 자원 관리, 그 밖의 업무용 응용 프로그래밍 공급업체와 고객 등으로부터 선호되는 데이터베이스가 되었습니다.
뿐만 아니라, 인터넷 데이터베이스도 많이 사용되고 있습니다.
SQL 서버 2000 버전이 출시된 시점에서 그 의미는 또 다르다 할 수 있다. SQL 서버 2000은 이전 제품의 호환성이나 기능 을 볼 때 새로 추가되어 혁신적인 기술과 함께 기존 기능의 향상, 안정성을 위한 내부적인 알고리즘의 추가로 좀더 완성도 높은 제품으로 거듭났다고 볼 수 있습니다.
SQL 서버 2000은 확장 가능한 차세대 웹 응용 프로그램을 신속히 제공하기 위한 효율적인 데이터베이스와 분석 솔루션을 제공합니다.
또한 Windows DNA 의 핵심 구성요소로서, 요구가 다양한 환경에 필요한 확장 성을 제공함과 동시에 전자 상거래, 업무 및 데이터웨어 하우징 응용 프로그램을 상품화 하는데 필요한 시간을 줄일 수 있었습니다.
SQL 서버 2000에는 XML 과 HTTP에 대한 다양한 지원과 로드를 분할하고 실행 시간을 유지하기 위한 성능 및 가용성 향상과 일상적인 작업을 자동화하고 총 소유 비용을 절감하기 위한 고급 관리 및 튜닝 기능 등이 포함되어 있습니다. 또한 SQL 서버 2000은 엑티브 디렉토리 서비스와 Windows 2000 Datacenter Server위에서 32개까지의 프로세서 및 64GB RAM 에 대한 지원을 비롯하여 Windows 2000의 기능을 충분히 활용하게 될 것입니다.
SQL 서버 2000의 제품과 추가된 주요 기능에 대해 살펴 보기로 합시다.
SQL 서버 2000은 개인, 조직의 규모, 성능, 런타임, 가격에 대한 개별적인 요구사항에 맞추기 위해 여러 가지 다양한 Edition으로 제공됩니다.
제품으로는 SQL 2000 Server 2000 Enterprise Edition, SQL Server 2000 Standard Edition, SQL Server 2000 Personal Edition, SQL 2000 Developer Edition, SQL Server 2000 Windows CE Edition 등이 있으며, Enterprise Edition은 Windows 2000 Datacenter Server에서는 32개의 CPU 와 64GB의 램을 지원하며, Windows 2000 Advanced Server에서는 8개 CPU 와 8GB 의 RAM 을 지원하며, Standard Edition 은 4개의 CPU 와 2GB의 RAM 을 지원하고, CE Edition 은 Pocket-PC 와 같은 소용 량 처리를 위한 제품입니다.
전체적으로 확장성과 안정성 면에서 SQL 서버에서 추가된 주요한 기능으로는 URL로 쿼리를 실행하여 XML 문서로 조회하거나 수정할 수 있는 기능과 다중 인스턴스 지원으로 동일한 시스템에 독립된 SQL 서버를 여러 개 설치 할 수 있는 기능, 파티션 뷰(Partition View), 로그 쉬핑(Log Shipping), 향상된 클러스터링(Clustring)과 같은 기능으로 대부분 웹 애플리케이션 지원이나 대용량 처리를 위한 기능이 많이 보강되었습니다.
?Analysis 서비스에서는 데이터 마이닝(Data Mining) 기능의 추가와 분산된 큐브의 연결, 액션(Action)정의로 별도의 작업 수행, 여러 방법의 Write Back 기능, Dill Through 기능 등 초기 버전으로 미비했던 많은 부분이 보강되었습니다.
SQL 서버 2005 는 엔터프라이즈 데이터 관리 가 가능해졌습니다 기존의 쿼리 분석기와 엔터프라이즈 관리자가 통합되어 개발자가 더 편리하게 개발이 가능하도록 지원되었습니다 특히 개발언어 지원확대 및 개발도구의 향상 데이터 액세스 및 웹서비스 지원도 확대 되었습니다
추가 기능으로 데이터베이스 미러링으로 데이터의 안정성이 더욱 확대되었습니다.
XML 지원 향상 , 응용프레임 워크 , 비즈니스 인텔리전스 기능의 개선 등이 돋보이는 버전이기도 합니다.
MS-SQL 서버는 2008 과 2008 R2 에 이르러 오라클과 대등한 위치를 점하게 됩니다.
다중 서버에 대한 관리 기능과 병렬 데이터웨어하우스(Parallel Data-Warehouse) 구성 기능지원
사용자가 한 화면에서 여러 대의 서버 및 인스턴스를 관리할 수 있도록 된 것에 맞춰 여러 서버의 인스턴스가 공유하는 DB, Table을 만들어 낼 수 있게 되었습니다. (구성에 따라) 수백 TB의 DB, Table를 만들 수 있는데, 이를 MS에서는 massively parallel processing (MPP)이라고 합니다.
기존 상식대로라면 위와 같은 대용량 DB, Table을 생성, 처리하려면 고사양/고비용 서버를 이용해야 하지만, 이제는 고만고만한 사양(가격대 성능비가 뛰어난 서버)의 서버 여러 대를 엮어 적당한 리소스를 배분하여 대용량 DB, Table 객체를 만들어낼 수 있게 되었습니다.
MS SQL Azure(애저라고 발음) MS에서 개발한 Cloud[각주:3] 기반 RDBMS 환경으로 바로 위에서 병렬 처리기능이 가상화 기반에서도 지원하게 된다고 언급하였는데, 가상화 Cloud 환경이 지원됩니다 .
SQL 2012 의 가장 큰 차이점은 DAG 의 지원이다. Exchange 2010 에서 처음 도입된 DAG 는 기존의 CLUSTER 서비스와 단일 데이터의 소손(저장소 실패)에 대한 보완 기능이 추가되었습니다.
즉 각각의 서버가 따로 데이터를 보관함으로써 데이터 손상에도 유연하게 대처할 수 있게 되었습니다.
물론 저장 공간이 디스크의 가격하락과 고 용량 화로 가능한 일 입니다. 이를 AlwaysOn 기능이라 합니다. 또한 AlwaysOn 과 Azure 간의 연동으로 온 오프라인 연동이 가능하며 2중 3중의 장애 대처기능의 가지게 됩니다.
MS SQL서버 2014는 인메모리 기술을 사용하면서 기존에 짧게는 20분, 길게는 3박4일 걸렸던 데이터 처리를 1~2분 만에 할 수 있을 것입니다. .
인메모리 기술은 많은 DB 업체들이 앞다퉈 내세우는 기술로, 디스크가 아닌 메모리에 데이터를 보유해 처리 속도를 빠르게 만들어 줍니다.앞서 OS 만큼이나 자주 그리고 빨리 발전해왔다고 볼 수 있습니다. 이는 후발주자인 MS 가 인포믹스 나 DB2 ,오라클을 따라가기 위한 장시간의 수고와 노력의 결과라고 볼 수 있습니다.
현재 MS-SQL 서버는 엔터프라이즈부터 소규모 DB 까지 전체 플랫폼을 지원하고 있으며 MS 특유의 직관적이고 간편하며 추가 비용 없이 통합된 다양한 기능으로 시장을 넓히고 있습니다.
Copyright © INNOBIT, 2011. All Rights Reserved
facebook rss flickr youtube twitter linkedin mail