database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 1842 게시물 읽기
No. 1842
LDAP 서버 데이터베이스 서버와 무엇이 다른가?
작성자
송상준(sjsong)
작성일
2003-07-10 00:26
조회수
6,084

앞에서 디렉토리를 사용하는 이유를 10가지 정도로 나누어 설명하였다. 이제는 디렉토리와 관계형 데이터베이스 역할에 대해 이야기 해 보겠다. 제가 많은 사용자들을 만나면서 가장 많이 이야기하는 부분이 왜 디렉토리를 사용해야 하는 것이다. 빠르다. 편리하다, 계층적으로 관리가 가능하다 등 많은 이야기를 하지만 사용자들은 굳이 디렉토리를 사용해야 하는가 이다. 데이터베이스만으로도 가능하지 않겠는가 도리어 질문을 한다. 그 말도 맞다. 하지만 지금부터 이야기하는 부분을 듣고 나면 디렉토리와 데이터베이스는 별개가 아니며 두 가지를 혼용하여 사용하면 성능을 더 높일 수 있다는 것을 알게 될 것이다.. 그리고 현재는 디렉토리서버의 가격은 사용자당이며 가격이 좀 비싸다. 그래서 아마 사용자들이 도입을 꺼려하는 이유일 수도 있을 것이다.

 

디렉토리와 데이터베이스를 어떤 관점에서 어떤 곳에 쓰는 것이 나을까? 디렉토리의 디자인 포인트와 가이드 라인은 아래와 같다. 다음 경우에는 디렉토리를 사용하는 것이 낳다는 이야기와 사용하면 안된다는 이야기를 덧붙여 놓았다.

 

Hierarchical data organization

디렉토리는 데이터를 계층적으로 구조화 할 수 있다. 이를 데이터베이스에서 구현하기 위하여서는 많은 노력이 필요하다. 계층적 구조는 관리자의 관점으로 볼 때 관리가 용이하고 회사의 구조를 바로 디렉토리화 할 수 있다는 장점이 있다.

 

Object-style entity modeling

오브젝트 스타일로 객체를 구성할 수 있다. 다시 말하면 객체 지향적으로 데이터를 구성할 수 있다는 것이다. 데이터 베이스에서는 해당 테이블을 만들면 이 테이블의 구조를 다른 테이블에서 그 구조를 그대로 사용할 수 없다. 하지만 디렉터리에서는 테이블과 같은 오브젝트 클래스를 만들면 그 구조를 다른 오브젝트 클래스에서 상속을 받을 수 있다. 데이터베이스에서 PK나 FK들에 대해 고민할 필요가 없다.

 

Flexible query support

유연성 있는 쿼리를 제공한다. 데이터베이스처럼 마크로 둘러 쌀 필요도 없으며 Join절이나 어려운 SQL문법을 알 필요가 없다. 쓰이는 연산자로 몇가지 없으며 이 연산자로 충분이 모든 쿼리를 나타낼 수 있다.

연산자: (, ), =, >=, <=, ~, *, &, |, ! 다음과 같은 연산자 만 사용하면 된다.

예) CN = 인성정보 , CN = 인* (인으로 시작되는 오브젝트), CN = *인* ( 가운데에 인이 들어간 객체를 찾는다.

 

Fine-Grained Security

비슷한 성격을 가진 사용자를 OU라는 조직으로 묶어서 이 조직에 그룹정책을 펼수 있다. 이 사용자가 인사부라면 인사부만의 특징을 구현할 수 있다.

 

Changes "slowly" and Policy-based Management

디렉토리를 자주 업데이트 되지 않는 부분에 사용하여야 한다. 자주라고 하는 것은 READ:WRITE = 100 : 1 보다 클 때 디렉토리를 사용하는 것이 낫다. 그리고 그룹별로 해당 그룹에 대한 프로그램 사용 권한이라든지 회사에서의 부서별 그룹정책을 구현하려고 할 때는 디렉토리를 사용하는 것이 좋다.

 

Benefits from hierarchical storage and security models

디렉토리 서비스는 컨테이너 스타일의 오브젝트에 데이터를 저장할 수 있으며, 컨테이너에 보안설정을 하였으면 컨테이너 안에 포함된 다른 오브젝트들은 컨테이너 보안 설정을 상속을 받는다.

 

Doesn't require transactional update

디렉토리 서비스는 트랜잭션을 제공하지 않는다. 즉 데이터베이스에 저장할 ACID(Atomicity, Consistency, Isolation Durability)의 프로퍼티등의 자료를 디렉토리에 저장하는 것은 적합하지 않다.

 

다음의 경우에는 디렉토리를 사용하지 않고 데이터베이스를 사용하는 것이 낳다. 데이터베이스는 디렉토리가 제공하지 못하는 다음과 같은 특징을 가지고 있다.

 

1. 디렉토리는 트랜잭션을 제공하지 않는다.

 

2. 디렉토리는 복잡한 쿼리가 디자인되어 있지 않다. 이것은 장점이 될 수 있고

단점이 될 수 있다. 예) Joins, Aggregate function

 

3. 이전에는 데이터베이스에서 제공하는 파티셔닝과 백업(풀 백업은 디렉토리에서 됨)과

Fault Tolerance는 디렉토리가 제공을 하지 못하였지만 현재 디렉토리 서버에서는

Partitioning과 Full백업을 지원한다.

 

4. Stored procedure를 제공하지 않지만 내부적으로 돌아가게 iPlanet에서는

plugin프로그램을 제공하여 주며 Novell e-Directory에서 제공한다.

 

5. 디렉토리는 많은 수의 ROW의 값을 리턴 받도록 디자인 되지 않았다.

이와 같은 기능을 사용하여야 한다면 디렉토리 보다 데이터베이스를 사용하는 것이 낫다.

 

LDAP은 사용자 정책의 관리를 하는데 적합하여 하지만 다중 사용자 데이터베이스는 아니며 LDAP은 사용자 정보를 얻는데 최적화 할 수 있다. 그리고 RSVP/QoS, Remote Access/VPNs, IP Telephone에 사용될 수 있다. 디렉토리는 머신의 관리와 응용프로그램의 정책을 관리하는데 적용할 수 있다.

[Top]
No.
제목
작성자
작성일
조회
1845LDAP관련자료
송상준
2003-07-10
5627
1844디렉토리 사용 목적을 이해(2)
송상준
2003-07-10
5891
1843디렉토리 사용목적을 이해
송상준
2003-07-10
6093
1842LDAP 서버 데이터베이스 서버와 무엇이 다른가?
송상준
2003-07-10
6084
1841Aphelion (Large Directory Engine)
송상준
2003-07-10
5532
1840Advanced Directories (Aphelion)
송상준
2003-07-10
5458
1839Novell eDirectory Design and Implementation
송상준
2003-07-10
4999
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다