Silverlight를 설치하려면 여기를 클릭합니다.*
Korea 대한민국변경|Microsoft 전체 사이트
Microsoft
|프로필 관리|문의처|사이트 맵

MS Access 2000 데이터 엔진 옵션

Bill Demas

목 차

  1. 개요
  2. Microsoft Access란?
  3. Jet
  4. Microsoft Data Engine (MSDE)
  5. Jet와 MSDE 비교
  6. 엔터프라이즈 요구 사항
  7. Jet 및 MSDE 사용 분석
  8. Jet 및 MSDE의 기능 분석
  9. Microsoft Access Upsizing 마법사
  10. 결론

개요Up

Microsoft® Access 2000이 출시됨에 따라, 사용자와 개발자들에게 두 가지 데이터 엔진이 제공됩니다. 즉, 기존 Access 엔진의 업그레이드된 버전(Jet라고도 함)과 Microsoft SQL Server™ 7.0과 호환되는 MSDE(Microsoft Data Engine)를 선택할 수 있게 되었습니다.

MSDE는 로컬 데이터 저장 및 SQL Server와의 호환성이 제공되는 강력한 기술로서, 현재 Microsoft Access에 있는 데이터 엔진인 Microsoft Jet와 비슷합니다. Access 2000에서 Jet 엔진을 기본으로 사용하고 있지만, Microsoft SQL Server™ 과 호환되는 단일 프로그램을 개발하려는 개발자들에게는 MSDE가 필요할 수도 있습니다.

이 설명서의 목적은 Access 2000을 사용함에 있어, Jet와 MSDE 중 어떤 데이터 엔진을 선택할지를 판단하도록 도와주는 데에 있습니다. 데이터 엔진은 3가지 방식 즉, 엔터프라이즈에서의 필요 사항, 사용 분석, 기능 분석을 기준으로 비교할 수 있습니다. 간단히 말해, Jet는 Access 97이나 이전 버전과의 높은 호환성이 필요한 경우에 적합하며, MSDE는 단일 사용자부터 수천 명의 사용자까지 단일 코드로 개발하려는 경우나 앞으로 확장이 예상되는 경우에 적합합니다. 이 문서를 끝까지 읽고 나면, 어떤 데이터 엔진이 여러분에게 적합한지를 판단할 수 있을 것입니다.

Microsoft Access란?Up

Microsoft Access 2000은 강력한 관계형 데이터베이스 응용 프로그램으로서, 사용자들은 이를 사용하여 데이터베이스 시스템을 효과적으로 만들고 운영할 수 있습니다. Access는 데스크톱 범주(category)에 목표를 두며, 메가 바이트의 데이터를 관리하는 개인 또는 작업 그룹에 가장 적합합니다. 같은 데이터베이스에 여러 사용자가 액세스 하는 경우에, Access에서는 클라이언트/서버 아키텍처보다 파일/서버 아키텍처를 사용합니다. Access는 Microsoft Office의 Professional 및 Developer Editions에 포함되어 있습니다.

Microsoft® Access는 데스크톱 데이터베이스 분야에서 선두 역할을 하고 있는 솔루션으로, 사용자는 비즈니스를 위한 판단을 내리기 위해 쉽게 데이터를 찾고 관리할 수 있습니다. 또한, Access는 Microsoft Office와 강력하게 통합되어 있으며, Microsoft Word 및 Excel에서 사용되는 것들과 비슷한 기능과 모양을 제공합니다. 일반 기업 환경에서의 사용자를 위해서, Access는 시작 및 실행을 도와주는 Database 마법사, 데이터에서 쉽게 정보 탐색을 도와주는 Simple Query 마법사와 같은 사용하기 편리한 마법사들을 제공하여 줍니다. 좀더 고급 수준의 기능을 원하는 사용자들은 응용 프로그래밍 언어를 위한 Microsoft Visual Basic®, 프로그램이 가능한 도구 모음, Office Developer Edition에서 구할 수 있는 무료 Access 런타임 버전 등을 사용할 수 있습니다. Access는 사용의 편리함과 기능의 강력함이 조화된 솔루션으로, 클라이언트/서버 아키텍처에서 SQL Server에 대한 프론트 엔드(front-end)로서 Access를 자주 사용하는 개발자들에게 최선의 선택이 되고 있습니다.

Access에는 두 가지 주요 구성 요소가 있습니다. 첫 번째 요소에는 Visual Basic for Applications 프로그래머를 응용 프로그램 개발 환경이 포함되어 있으며, 여기에는 폼(form) 기술, 보고서 및 데이터베이스 관리 등이 포함되어 있습니다. 또한, 앞에서 언급했듯이 Access 및 다른 Office 프로그램에서 일반적으로 사용되는 UI도 있습니다.

이 문서의 주제이기도 한 Access의 두 번째 요소는 데이터 엔진입니다. Access 2000 이전의 사용자와 개발자들은 Jet 데이터 엔진을 사용하였는데, 다음

버전부터는 데이터 엔진을 선택할 수가 있습니다. 즉, Access에 기본으로 장착되어 있는 Jet 4.0과 Access 2000에서의 새로운 데이터 엔진 옵션인 MSDE 중에서 선택할 수가 있습니다.

JetUp

Jet 4.0은 Access 2000의 기본 데이터 엔진으로, Access 97 데이터 엔진인 Jet 3.51에서 향상된 새로운 버전입니다. Jet 4.0에서 향상된 기능은 다음과 같습니다.

  • 완전한 UNICODE 지원
  • Windows® 95, 98, Windows NT 상에서 Windows NT®와 호환 가능한 정렬(Sorting)
  • 행 수준(Row-level)의 잠금
  • ANSI SQL92에 대한 향상된 지원 및 SQL Server와의 호환(예: GRANT/REVOKE, DECIMAL 형식의 데이터 유형, 선언 참조 무결성(Declarative Referential Integrity)
  • Jet/SQL Server 7 양방향 복제
  • 복제 충돌 해결을 위한 향상된 기능
  • 원시 OLE DB 공급자

Access의 많은 사용자들은 개별적이라도 사용 범위가 광범위한데, 대부분의 사용자들은 50MB 이하의 데이터베이스를 가집니다.

Microsoft Data Engine (MSDE) Up

MSDE는 마이크로소프트가 전략적으로 개발한 새로운 데이터 엔진으로, SQL Server 7.0 코드 기반과 완전히 호환되며, 고객들은 Windows 95의 PC로부터 Windows NT Server, Enterprise Edition을 사용하는 멀티프로세서 클러스터까지 확장되는 하나의 응용 프로그램을 기록할 수가 있습니다.

MSDE에 포함된 기술로는 다음과 같은 것들이 있습니다.

  • 동적 잠금(Dynamic Locking) - 데이터베이스의 모든 운영에 있어, 최적의 잠금 수준(행, 주요 범위 페이지, 테이블)을 자동으로 선택해 줍니다. 또한, 동시 처리(concurrency)와 성능 사이의 균형을 극대화 시켜주어 최적의 사용 상태를 제공해 주며, 조정 또한 필요하지 않습니다.
  • Unicode - 다중 언어 지원 성능을 향상시켜 줍니다.
  • 동적 자체 관리 - 서버에 대한 자체 모니터링 및 관리 기능으로 인해, 옆에 지켜서 있지 않고도 표준 운영을 유지할 수 있습니다.
  • 복제 병합 - 사용자는 별도의 시간, 온라인 또는 오프라인에서 작업한 데이터베이스의 분산된 복사본을 수정할 수도 있습니다. 작업한 내용은 나중에 하나의 일정한 결과로 병합됩니다.

MSDE는 SQL Server 7에서의 기술을 포함하고 있습니다. 즉, MSDE를 사용하면, 개발자들은 수천 명의 사용자들에게 다음과 같은 SQL Server 7.0 기능을 나중에 사용하도록 할 수 있습니다.

  • 데이터 변환 서비스(Data transformation Services) - 다른 자원(예: OLE 데이터베이스, Windows NT Directory Services, 스프레드 시트)에서 데이터 가져오기와 다른 데이터 자원으로 내보내기 및 변환을 쉽게 해 줍니다.
  • 마이크로소프트 SQL Server OLAP 서비스 - 데이터 액세스를 최적화해 줌으로써 복잡한 정보의 분석을 쉽고 효율적으로 해 주기 때문에, 필요한 데이터를 빨리 찾을 수 있습니다. Pivot-table® 서비스는 클라이언트 워크스테이션에서 실행되며, Pivot table의 모습이 즉시 알아보기 쉬울 뿐 아니라, Pivot table의 모든 옵션을 하나의 스크린에서 제공해 줍니다. 최초로 Excel 사용자들은 Microsoft SQL Server 7.0을 사용함으로써 기가바이트 및 테라바이트의 데이터를 분석할 수 있게 되었습니다.
  • 영어 쿼리 - 복잡한 SQL 문장 대신 영어로 질문을 할 수 있습니다.
  • 병렬 쿼리 - 단일 쿼리에서의 여러 단계를 병렬 쿼리에서 실행될 수 있도록 해 주기 때문에, 응답 시간을 최적으로 유지시켜 줍니다.
Jet와 MSDE 비교 Up

이 절에서는 이 두 가지 데이터 엔진을 엔터프라이즈 요구 사항, 사용(usage), 기능 세트의 세 가지 방식을 기준으로 비교하였습니다. 이 절을 다 읽고 나면, 어떤 데이터 엔진이 여러분 자신의 환경에 적합한지, 잘 이해할 수 있을 것입니다.

엔터프라이즈 요구 사항Up

엔터프라이즈 환경에서 Access를 사용하고 개발하는 경우라면, 데이터 엔진으로 MSDE를 사용할 것을 권장합니다. 비록, 현재 환경이 엔터프라이즈 수준이 아니더라도, Access의 프론트 엔드(front-end)와 MSDE 백 엔드(back-end)를 사용하면 사업이 확장될 경우를 감안한 데이터베이스를 구축할 수 있습니다.

엔터프라이즈 응용 프로그램에서는 확장성, 보안, 안정성이 필수적인데, 이러한 것들은 Jet가 아닌 MSDE나 SQL Server에서 구현될 수 있습니다. 예를 들어, 여러분의 프로그램이 네트워크, 서버, 클라이언트 컴퓨터 등의 이벤트에서 트랜잭션 지원이 필요하다면, MSDE이나 SQL Server가 적합합니다. 반대로, Jet 엔진에서는 아토믹(atomic) 트랜잭션을 지원하지 않습니다. 즉, 트랜잭션 경계 내에서의 모든 변경이 완결되거나 회복되는 것이 보증되지 않습니다. 기업 환경에서 중요한 또 다른 문제는 보안입니다. MSDE와 SQL Server는 Windows NT의 보안과 통합되어 있지만, Jet의 경우는 그렇지가 않습니다. 이 점으로 인해 MSDE나 SQL Server 7.0을 관리하는 것보다 Jet를 관리하는 것이 비용이 더 많이 들 수 있습니다.

아래의 차트는 엔터프라이즈에 있어 필요한 사항과 각각의 데이터 엔진이 어떻게 비교되는지를 보여주고 있습니다. 여러분의 사업이 왼쪽 열에 열거된 것에 포함되는 경우라면 MSDE를 권장하며, 그렇지 않은 경우에는 다음 절을 참고하여 자신에게 맞는 엔진을 결정해야 합니다.

필요 사항
SQL Server (MSDE)
Microsoft Access (Jet)
확장성
· SMP 지원
· 거의 무제한 수의 동시 사용자들
· 거의 무제한 수의 동시 사용자들
· 트랜잭션 로깅
· SMP 지원하지 않음
· 최대 255명의 사용자
· 2GB의 데이터
· 트랜잭션 로깅 없음
중요한 환경에서의 비즈니스
· 7X24 지원 및 QFE
· 포인트-인-타임(Point-in-time) 회복
· 완전한 트랜잭션
· 결함 허용(fault tolerance)이 내장됨
· Windows NT와 통합된 보안 T
· 7X24 지원 없음
· Recoverable to last backup
· 마지막 백업으로 회복 가능
· Windows NT와 통합된 보안 기능 없음
Windows NT와 통합된 보안 기능 없음
· Access는 두 가지 엔진 모두를 위한 UI이며, WYSIWIG 데이터베이스 툴과 내장된 폼 생성(forms generation)을 제공하여 줍니다.
Jet 및 MSDE 사용 분석Up

데이터 엔진을 선택할 때 고려해야 할 네 가지 주요 사용 기준이 있는데, 이들에 대해 중요한 순서대로 살펴 보겠습니다.

  1. 단순성 - Jet 4.0은 Access 97 및 이전 버전과 이상적으로 호환됩니다. Access를 위해 개발한 기존 프로그램이 있는 경우에, Jet는 Access 97 및 이전 버전과의 호환을 제공해 주며, 사용하기 쉬운 선택이 될 것입니다.

    Jet는 MSDE보다 사용하고 관리하기가 쉽기 때문에, SQL Server와의 호환성이 중요하지 않은 비교적 간단한 데이터베이스 프로그램에서 좋은 선택이 될 수 있습니다. 또한, 메모리 및 디스크를 위한 리소스가 거의 없으며, 관리 또한 거의 필요하지 않습니다. Jet는 Access 2000을 위한 기본 데이터베이스 옵션이기도 합니다. Jet 엔진을 사용하여 만들어진 데이터베이스는 나중에 Upsizing 마법사를 사용하여 SQL Server로 업그레이드할 수 있습니다. (이 경우에, 추가 변경이 필요할 수 있습니다.)

  2. 장점 - Jet

  3. 데이터 무결성 - MSDE는 SQL Server 7의 기술을 포함합니다. SQL Server는 Windows 95 기반의 PC에서부터 Windows NT Server, Enterprise Edition 기반의 멀티프로세서 클러스터까지 지원하는 단일 코드 기반을 제공하기 때문에, 100%의 응용 프로그램 호환성이 제공됩니다. 하지만, Jet의 경우에는 Access 제품에 제한되기 때문에 MSDE와 같은 확장성이 제공되지 않습니다.
  4. MSDE는 클라이언트/서버 데이터 엔진인 반면, Jet는 파일/서버 데이터 엔진입니다. Jet에 비해 MSDE가 가지는 가장 큰 장점 중 하나는 MSDE가 쿼리 및 로그 트랜잭션을 실행하는 프로세스라는 점입니다. 데이터베이스에 기록 중 디스크 오류, 네트워크 오류, 전원 오류 등과 같은 것들이 발생하면, MSDE는 트랜잭션이 로그됨에 따라 회복 가능합니다. 즉, 시스템이 다시 회복되면 MSDE는 마지막 상태로 돌아갑니다. 이렇게 함으로써 MSDE의 안정성이 Jet의 안정성보다 더 우수해 집니다. Jet의 경우 시스템이 다운되면, 데이터베이스가 파괴되는 경우가 있고, 마지막 백업 복사로 돌아가야 하는 경우도 있습니다.

    MSDE는 재무와 관련된 프로그램이나 인터넷 같이 24시간 오류가 있어서는 안 되는 매우 중요한 프로그램 등 중요한 트랜잭션을 포함하는 시스템을 위해 이상적인 엔진입니다. 데이터베이스가 중요할수록 MSDE를 선택하는 것이 좋습니다.

    장점 - MSDE

  5. 동시 사용자의 수(성능) - MSDE 기술의 기반인 SQL Server 7.0은 상당히 많은 수의 동시 사용자들을 처리할 수 있습니다. Jet와 MSDE 모두 개별적인 또는 작은 작업 그룹을 위해 최적화된 솔루션입니다.
  6. 데이터 세트가 크고 동시 사용자가 많은 경우에는 MSDE의 성능이 Jet보다 뛰어 납니다. 그 이유는 Jet는 파일/서버 시스템이기 때문에 쿼리 작업이 클라이언트에서 수행되기 때문입니다. 이러한 이유 때문에 큰 데이터베이스의 경우에는 네트워크 상에서 많은 데이터가 이동되는 반면, MSDE의 경우에는 쿼리가 서버에서 실행됩니다. 이렇게 하면 서버에서의 부담이 커지지만 네트워크 트래픽은 감소되며, 사용자가 데이터의 서브셋을 조금만 선택하는 경우에는 트랙픽 양이 더욱 감소됩니다.

    작은 규모의 그룹을 위해 프로그램을 새로 개발하는 경우에도, MSDE나 SQL Server를 선택하면 앞으로의 확장성을 쉽게 대비할 수 있습니다.

    장점 - MSDE 및 SQL Server의 확장성

  7. 데이터 양 - Jet의 경우 MDB 파일 당 최대 2GB의 데이터를 처리할 수 있으며, MSDE 또한 2GB의 데이터를 지원합니다.
Jet 및 MSDE의 기능 분석Up

어떤 엔진이 가장 적합한지 결정하기 위한 마지막 세 번째 방법은 두 엔진의 기능을 분석하는 것입니다. 아래 열거한 일부 기능은 Microsoft Access 사용자들이 Jet 엔진과 MSDB 엔진 중 적합한 엔진을 선택하는 데 도움을 주기 위한 것들입니다.

기능
Jet
MSDE
이기종의 결합 X X
Top n 및 top n% 쿼리
X
X
유효성 검사 규칙
X
X
기본값
X
X
트리거 및 저장 프로시저

X
트리거 상에서의 참조 무결성

X
선언 참조 무결성
X
X
엔진 수준의 종속(cascading) 업데이트 및 삭제
X

기본 잠금 유닛


삽입 시 행 잠금
X
X
필드 수준의 복제
X
X
복제 충돌 해결을 위한 사용자 코드
X
X
복제 예약
X (Microsoft Office 97, Developer Edition이 필요함) X
보안 내장
X (파일 수준의 읽기/쓰기 암호 또는 OS를 통한 권한)
X
암호화 내장
X
X
분산 트랜잭션

X
동적 백업 및 복원

X
트랜잭션 로그 백업

X
자동 복구

X
32비트 엔진
X
X
데이터 용량
데이터베이스 당 2GB
데이터베이스 당 2GB. SQL Server는 데이터베이스 당 TBs를 지원함
Microsoft Access Upsizing 마법사 Up

Microsoft Access Upsizing 마법사 유틸리티는 Jet 데이터베이스를 사용하여 원본 데이터베이스의 테이블 구조, 데이터, 기타 속성과 동일한 데이터베이스를 SQL Server에 만들어 줍니다. 또한, 테이블 구조, 인덱스, 유효성 검사 규칙, 기본값, 자동 번호, 관계 등을 다시 만들며, 가능한 모든 부분에서 최신 SQL Server의 이점을 활용합니다. 보고서, 쿼리, 매크로, 보안 등에 있어 변경을 전혀 주지 않는 이 Upsizing 마법사는 Office 2000 Professional Edition과 함께 판매될 예정입니다.

Upsizing 마법사에는 세 가지 주요 기능이 있습니다.

  • Jet에서 SQL Server로의 데이터베이스 마이그레이션
  • Jet와 연결된 테이블을 통해 Access 및 SQL Server 응용 프로그램 작성
  • Access Project를 통해 Access 및 SQL Server 응용 프로그램 작성(SQL Server 데이터베이스로 직접 연결되어 있는 Access 프로젝트 파일을 사용하는 새로운 개발 모델)

이 툴을 사용하면, 데스크톱 Access에서 클라이언트/서버 응용 프로그램을 디자인하는 개발자들은 프로토타입으로부터 SQL Server 데이터베이스를 생성할 수 있습니다. 또한, 기존의 Jet 기반의 응용 프로그램을 갖고 있는 개발자들은 SQL Server로 해당 프로그램들을 확장시킬 수 있고, SQL Server의 기술을 활용할 수 있습니다.

이 마법사는 읽기 전용 공유 상태로 실행되며 현재의 데이터베이스를 사용하여 업사이징(upsizing) 프로세스에 대한 정보를 저장합니다. 모든 사용자의 기본 설정은 사용자 별로 레지스트리에 저장됩니다.

결론 Up

아마도 지금이면, Access 2000에서 어떤 데이터베이스 엔진이 필요한지 선택할 수 있을 것입니다. 다음은 본 문서에 대한 요약 사항입니다.

다음과 같은 경우에 Jet를 사용합니다.

  • Access 97이나 이전 버전과의 이상적인 호환을 원하는 경우
  • 동시 사용자 수가 적은 경우
  • 메모리나 디스크 등과 같은 자원이 매우 적은 경우
  • 사용의 편이성이 우선적으로 고려되는 경우

다음과 같은 경우에 MSDE를 사용합니다.

  • 단일 사용자부터 수천 명의 사용자까지 단일 코드 기반으로 개발하려는 경우
  • 앞으로 확장성이 예상되는 경우
  • 중앙 서버와 손쉬운 복제 병합이 필요한 경우
  • 최고 수준의 보안이 필요한 경우
  • 트랜잭션 로깅과 같은 최고의 안정성이 필요한 경우
  • 시스템이 24시간 온라인 상태에 있어야 하는 경우
  • 저장 프로시저와 트리거가 필요한 경우

 

최종 수정일 : 2000.4.15



Microsoft