데이터 클러스터
데이터 클러스터(Data Cluster)는 파일과 디렉토리(폴더)에 디스크 공간을 할당하는 단위로 파일을 저장하도록 할당될 수 있는 가장 작은 논리적 디스크 공간을 말한다. 디스크상 데이터 구조 처리의 오버헤드를 줄이기 위해 클러스터라고 불리는 인접한 섹터 집단을 할당하며, 할당단위라고도 불린다.[1]
개요
데이터 클러스터는 컴퓨팅 분야 안에 다른 유형의 클러스터 중 하나이다. 데이터를 클러스터링 한다는 것은 연속적으로 액세스하는 데이터를 밀접하게 함께 저장하여 입출력(IO) 작업을 적게 하는 것을 의미한다.[2] 데이터 클러스터는 데이터베이스 튜닝 측면에서 매우 중요하다. 반대로 컴퓨터 클러스터는 데이터 베이스 환경에서 매우 일반적이다. 즉, 클러스터라는 용어를 모호하게 만든다. 클러스터를 사용하여 데이터베이스 성능을 향상시킬 수 있는 한가지 예일 뿐이다. 클러스터에 대해 자세히 보기
데이터클러스터 알고리즘
클러스터 모델을 기반으로 정보를 분할하기 위해 데이터 세트에 적용할 수 있는 클러스터링이 많은데, 수행하고자 하는 것에 따라 데이터 클러스터 알고리즘을 선택가능하다.
- 중심기반(Centroid-based)
- 중심기반의 OS 그룹화 방법에서 모든 클러스터는 벡터 값으로 참조된다. 각 개체는 다른 클러스터에 비교하여 값 차이가 최소인 클러스터의 일부분이다. 클러스터의 수는 미리 정의 되어야 하는데, 이런 종류의 알고리즘의 가장 큰문제라고 할 수 있다. 이 방법론은 분류 주제에 광범위하게 사용된다.
- 분산기반(Distributed-based)
- 사전 정의된 통계적 모델과 관련하여, 분산 방법론은 값이 동일한 분포에 대해 값을 갖는 객체를 결합한다. 가치 생성의 무작위 특성으로 인해 이 프로세스는 실제 데이터와 더 나은 방식으로 상호작용하기 위해 잘 정의되고 복잡한 모델이 필요하다. 그러나 이런 프로세스는 최적의 해결책을 도출할 수 있으며 상관관계 및 종속성을 계산할 수 있다.
- 연결기반(Connectivity-based)
- 연결기반 알고리즘에서, 모든 객체는 객체 간의 거리에 대한 관계의 정도에 따라 해당 이웃과 연관되어 있다. 이 가정을 기반으로 클러스터는 객체에 의해 생성되고 최대 거리 제한으로 설명된다. 이러한 구성원 간의 관계와 함께, 이 군집들은 계층적으로 표현된다. 거리 함수 값은 분석의 초점에 따라 달라진다.
- 밀도기반(Density-based)
- 밀도기반 알고리즘은 결정된 위치에서 데이터 세트내 구성원의 밀도에 따라 클러스터를 생성한다. 거리 개념을 밀도 표준 수준까지 통합하여 집단으로 구성원을 그룹화한다. 이러한 종류의 프로세스는 그룹의 한계영역을 감지하는데 있어 성능이 떨어질 수 있다.
조건
- 노이즈 데이터 처리 : 데이터베이스에서는 노이즈,누락 또는 오류데이터가 포함 되어 있다. 일부 알고리즘은 그러한 데이터에 민감하기때문에 품질이 낮은 클러스터로 이어질 수 있다.
- 해석가능성(Interpretability) : 클러스터링 결과는 해석 가능해야하며, 이해할 수 있어야하고 사용가능해야한다.
- 고차원성(High dimensionality) : 클러스터링 알고리즘은 저차원 데이터뿐만 아니라 고차원 공간도 처리할 수 있어야 한다.
- 속성 형태 클러스터 발견 : 클러스터링 알고리즘은 임의 형태의 클러스터를 감지할 수 있어야한다. 크기가 작은 구형 군집을 찾는 경향이 있는 거리 측정에만 국한되어선 안된다.
- 다른 종류의 속성을 다루는 능력 : 알고리즘은 간격 기반 (숫자) 데이터, 범주형 및 이진 데이터와 같은 모든 종류의 데이터에 적용가능 해야한다.
- 확장성(Scalability) : 대규모 데이터 베이스를 처리하려면 확장성이 뛰어난 클러스터링 알고리즘이 필요하다.
활용
빅 데이터 클러스터 SQL Server
SQL 데이터베이스에서 가장 간단한 데이터 클러스터는 행이다. 데이터 베이스는 가능한 경우 행의 모든 열을 동일한 데이터 베이스 블록에 저장하는데, 행이 단일 블록에 맞지 않는 경우 (ex.LOB 유형이 관련된 경우) 예외가 적용된다. 빅 데이터 클러스터 SQL Server 는 외부데이터 원본을 쿼리하거나, SQL Server에서 관리하는 HDFS에 빅데이터를 저장하고, 클러스터를 통해 여러 외부 데이터 원본에서 데이터를 쿼리할 수 있다.
- 데이터가상화 : 빅 데이터 클러스터 SQL Server에서 데이터를 이동하거나 복사를 하지 않고 외부 데이터 원본을 쿼리할 수 있다.
- Data Lake : 여러 외부 원본에서 수집될 수 있는 빅데이터를 저장할 수 있다. 빅데이터를 빅 데이터 클러스터의 HDFS에 저장한 후에 데이터를 분석 및 쿼리하고 관계형 데이터와 결합가능하다.
인덱스
인덱스를 사용해 데이터 클러스터링을 한다. 인덱스 리프 노드는 비슷한 값이 서로 옆에 저장되는데, 정렬된 방식으로 인덱싱 된 열을 저장한다. 즉, 인덱스는 빗슷한 값을 가진 행의 클러스터를 만든다. 데이터를 클러스팅하는 기능이 인덱스에서 매우 중요하기 때문에 인덱싱의 두번째 힘이라고도 불린다. 인덱스를 사용하여 데이터를 클러스터링하고 쿼리 성능을 향상시킬 수 있다.
각주
- ↑ 〈데이터 클러스터〉, 《위키백과》
- ↑ Markus Winand., 〈Clustering Data〉, 《USE THE INDEX, LUKE》