분산 해시 테이블

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 찾기

분산 해시 테이블(Distributed hash tables, 줄여서 DHT 또는 DHTs)은 이름대로 해시 테이블을 분산하여 관리하는 기술이다.

DHT의 개념도

어떤 항목을 찾아갈 때 해시 테이블을 이용하는데, 중앙 시스템이 아닌 각 노드들이 이름을 값으로 맵핑하는 기능을 하는 방식이다. 부하가 집중되지 않고 분산된다는 큰 장점이 있어, 극단적으로 큰 규모의 노드들도 관리할 수 있다.

본 기술은 P2P 네트워크에 특히 많이 사용되는데, P2P 네트워크는 냅스터 같은 하이브리드 P2P누텔라 같은 순수 P2P로 나뉜다.

하이브리드형은 콘텐츠와 콘텐츠가 배치되는 각 노드의 주소를 중앙의 서버가 목록화하여 관리함으로써 검색 기능을 제공한다. 그러나 중앙의 서버가 개별 노드와 콘텐츠를 관리하게 되므로 서버 관리에 많은 비용이 들어간다.

순수형은 중앙 서버가 없고 개별 노드가 애드 혹 방식으로 서로 접속하는 형태를 취한다. 이 형태는 사용자가 늘어남에 따라 네트워크의 데이터 유동량(트래픽)이 늘어나고, 네트워크상의 콘텐츠를 찾기가 어려워진다는 단점이 있다.

DHT는 순수 P2P라도 네트워크의 부하를 억제할 수 있으며 네트워크 상의 콘텐츠를 빠르고 정확히 검색할 수 있는 것이 가능하다. 종래의 순수 P2P에서 채용되었던 방식에서는 수십만 노드 정도가 한계였으나, DHT의 사용으로 수십억개의 노드를 검색범위로 할 수 있게 되었다. 그러나 DHT는 실제 구현이 어렵다. 특히 완전한 일치검색만이 가능하여, 와일드 카드 등을 활용한 복잡한 검색을 하지 못하는 단점이 있다.

DHT를 활용한 대표적인 시스템으로 비트토렌트(DHT를 확장하여 사용), eDonkey 등이 있다.

개인 도구
이름공간
변수
행위
둘러보기
인쇄/내보내기
도구모음
다른 언어