상기님 절 기억하실지 모르겠네요... =)
최근에 LDAP으로 이런저런 장난을 쳐봐서 몇가지 적어봅니다.
LDAP이 결코 성능면에서 RDB보다 뛰어나지 않은 것만은 확실합니다.
그렇지만 Userabilty(?) 면에서는 몇가지 뛰어난 점을 찾아볼 수 있습니다.
RDB에서는 하나의 DB가지고 이런 저런 서비스 연동하려면,
DB 이름, 테이블 이름, 컬럼 이름, 컬럼 크기까지 일일이 맞추어야 합니다.
(심지어는 환경 변수까지도...=)
그에 반해서, LDAP에서는 (특히 인적 정보의 경우) 표준화 되어 있어서
서버 이름과 포트번호만 알면 될 정도로 연동이 쉽다는 것이 큰 장점이
아닐까 합니다.
모든 것이 프로토콜 수준에서 표준화 되어 있기 때문이죠.
LDAP 을 통한 인증만 보더라도, 서버에서 암호를 평문으로 저장할지,
MD5로 암호화하는지 SHA1으로 암호화하는지에 관계 없이
그냥 ldap_simple_bind()로 인증하면 됩니다. 내부적인 사항에 신경쓸
필요 없이 그냥 LDAP API 호출로 모든 것을 처리할 수 있지요.
그리고 자료를 해쉬테이블(Name=Value)형태 저장하므로 확장성이 좋습니다.
새로운 필드를 추가하고 싶으면 Name란에 새로운 이름을 지어서 넣으면 됩니다.
또한 LDAP이 정말로 적절하게 쓰일 수 있는 부분은 다른 LDAP 서버를
참조하는 Referal과 다른 서버 데이터를 복제하는 Replication 정도가
되지 않을까 합니다.
물론 LDAP의 장점은 그 사용 용도가 인적 정보 관리와 같이
특정한 용도로 제한된 경우로 보아야 할 것 같습니다.
이세상에 어떠한 것도 만능인 것은 없듯이...
>>육응수 님께서 쓰시길<<
:: LDAP이 Search할때 많은 CPU Resource를 쓰지 않는것은 나타나는 수치로 봐서는 어느정도 맞는거 같습
:: 니다.
:: 저도 써보다보면 CPU로드가 10%를 넘는일이 거의 없습니다.
:: 물론 많은 양의 데이터를 한번에 Import할일이 있을때는 CPU가 많으면 시간이 훨씬 적게 걸립니다. 따
:: 라서 LDAP은 Update나 Insert할때 CPU를 많이 먹습니다.
:: LDAP은 메모리를 많이 씁니다. 따라서 LDAP서버에서는 Memory Tuning을 어떻게 하느냐가 관건입니다.
:: 메모리만 적절하다면 상기님께서 쓰신바와 같이 사전, 인명사전등과 같은 검색에 유용하게 쓰일지도
:: 모릅니다. 처음에 데이터 몽창 Import시켜놓고 간혹 Update하면서 Search만 열심히 하면 되니깐 말입니
:: 다.
::
:: 그럼 이만.
::
:: >>정재익 님께서 쓰시길<<
::
:: :: 상기님 갑자기 LDAP 쪽으로 관심을 가지는 것 보니 국내에서 LDAP 계에 또 다른 신선한 바람이 불
:: 지
:: :: 않을까 하는 생각이 듭니다. 이곳에 상기님께 그런 생각이 들도록 하는 계기가 되었다면 그것만으
:: 로도
:: :: 제역할을 충분히 했을 것으로 생각이 됩니다. :-)
:: ::
:: :: 애기 잘 크고 있지요. 언제 서울가서 한번 연락을 드릴까 하는데 연락처도 모르겠고, 아무것도 아
:: 는게
:: :: 없군요. 언제 시간 되시면 메일 한번 주세요.
:: ::
:: :: 개인적으로 LDAP 의 가장 큰 장점은 말씀하신 빠른 찾기, 손쉽게 백업서버를 만들수 있다는 것, 그
:: 리
:: :: 고 backend DB 를 다양하게 사용할 수 있다는 것입니다. 그 장점 덕분에 PAM 에 LDAP 를 붙이는 분
:: 들도
:: :: 있고, Mail server에 LDAP 를 붙이는 분들도 있고, 심지어는 RDBMS 에 LDAP 를 붙이는 엽기적인 짓
:: 을
:: :: 하는 분들까지 있더군요 --;
:: ::
:: :: 요즘 소식은 몰라도 이곳에서 상기님 글을 자주 보게 되어 반갑답니다. :-)
:: ::
:: :: >>김상기 님께서 쓰시길<<
:: ::
:: :: :: 5만명의 인명정보를 OpenLDAP 서버에 집어 넣고 이것저것
:: :: :: 검색을 해 보았는데,
:: :: :: 검색 속도 면에서 특히 탁월하다는 식의 논리는 별로 맞지 않는 것 같으나,
:: :: :: 시스템 퍼포먼스 측면에서 본다면, 가히 놀랄만한 수치입니다.
:: :: ::
:: :: :: 제 컴이 팬티엄 120에 메모리 32메가의 아주 저사양 컴임에도 불구하고,
:: :: :: 그 5만명 중에 "양"씨 성을 가진 사람 다 보여달라고 하니,
:: :: :: cpu load률 10% 내외의 load로 0.4초만에 보여주더군요.
:: :: ::
:: :: :: 똑같은 데이터로 mysql에서 검색한 결과 속도는 비슷했으나,
:: :: :: 늘 문제듯이 cpu 사용이 장낭이 아니였지요.
:: :: ::
:: :: :: 이 게시판에서 많은 사람들이 이야기하는
:: :: :: "많은 단순 검색, 빠른 처리를 위해서 LDAP를 사용한다"는 말이
:: :: :: 어느정도 수긍이 갑니다.
:: :: ::
:: :: :: 한편으로 과연 복합검색이 되면 어떻게 될까?가 궁금해지네요.
:: :: :: 이건 또 나중에 심심할때 해보고 포스팅하지요.
:: :: ::
:: :: :: 갑자기 검색사이트를 만들어보고싶은 생각이 듭니다. :)
|