분산 해시 테이블
|
|
이 문서의 내용은 출처가 분명하지 않습니다. 지금 바로 이 문서를 편집하여, 참고하신 문헌이나 신뢰할 수 있는 출처를 주석 등으로 표기해 주세요. 검증되지 않은 내용은 삭제될 수도 있습니다. 내용에 대한 의견은 토론 문서에서 나누어 주세요. |
분산 해시 테이블(distributed hash tables, 줄여서 DHT 또는 DHTs)은 이름대로 해시 테이블을 분산하여 관리하는 기술이다.
어떤 항목을 찾아갈 때 해시 테이블을 이용하는데, 중앙 시스템이 아닌 각 노드들이 이름을 값으로 맵핑하는 기능을 하는 방식이다. 부하가 집중되지 않고 분산된다는 큰 장점이 있어, 극단적으로 큰 규모의 노드들도 관리할 수 있다.
DHT는 순수 P2P라도 네트워크의 부하를 억제할 수 있으며 네트워크 상의 콘텐츠를 빠르고 정확히 검색할 수 있는 것이 가능하다. 종래의 순수 P2P에서 채용되었던 방식에서는 수십만 노드 정도가 한계였으나, DHT의 사용으로 수십억개의 노드를 검색범위로 할 수 있게 되었다. 그러나 DHT는 실제 구현이 어렵다. 특히 완전한 일치검색만이 가능하여, 와일드 카드 등을 활용한 복잡한 검색을 하지 못하는 단점이 있다.
DHT를 활용한 대표적인 시스템으로 비트토렌트(DHT를 확장하여 사용), eDonkey 등이 있다.
[편집] 종류
본 기술은 P2P 네트워크에 특히 많이 사용되는데, P2P 네트워크는 냅스터 같은 하이브리드 P2P와 누텔라 같은 순수 P2P로 나뉜다.
하이브리드형은 콘텐츠와 콘텐츠가 배치되는 각 노드의 주소를 중앙의 서버가 목록화하여 관리함으로써 검색 기능을 제공한다. 그러나 중앙의 서버가 개별 노드와 콘텐츠를 관리하게 되므로 서버 관리에 많은 비용이 들어간다.
순수형은 중앙 서버가 없고 개별 노드가 애드 혹 방식으로 서로 접속하는 형태를 취한다. 이 형태는 사용자가 늘어남에 따라 네트워크의 데이터 유동량(트래픽)이 늘어나고, 네트워크 상의 콘텐츠를 찾기가 어려워진다는 단점이 있다.
| 이 글은 컴퓨터 과학에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |