DHT(Distributed Hash Table 분산 해시 테이블)DHT(Distributed Hash Table 분산 해시 테이블)

Posted at 2013. 4. 10. 12:33 | Posted in Server

데이터와 서버를 동일한 주소 공간에 배치.

데이터의 키 값과 분산 서버 ID는 동일한 해시 함수로 동일한 주소 공간에 데이터와 노드를 배치.


중앙 서버 없이도 데이터를 관리하는 서버를 찾는 룩업에 성능이 좋다.

클러스터에 참여하는 서버의 추가/제거가 자동으로 이뤄지게 구성할 수 있다.


부하가 집중되지 않고 분산된다는 큰 장점이 있어, 극단적으로 큰 규모의 노드들도 관리할 수 있다.

종래의 순수 P2P에서 채용되었던 방식에서는 수십만 노드 정도가 한계였으나, DHT의 사용으로 수십억개의 노드를 검색범위로 할 수 있게 되었다. 그러나 DHT는 실제 구현이 어렵다.


키 공간 분할(keyspace partition)과 오버레이 네트워크(overlay network)로 구성된다.


- keyspace partition:

  * 분산된 서버에 키를 어떻게 배치시킬 것인가를 결정하는 것

  * 데이터의 hash(key) 값을 이용해 키 영역을 파티셔닝 시킨다.(range, interval)

- overlay network:

  * 물리적인 서버의 연결과 상관없이 논리적인 서버 간의 연결 관리와 키를 담당하는 노드를 찾아가는 메커니즘을 제공.

  * 특정 키를 서비스하는 노드를 찾아가는 라우팅 알로리즘을 제공한다.


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


참고: 클라우드 컴퓨팅 구현 기술(에이콘), 위키백과


//