Azure 테이블 살펴보기
Azure Table Storage는 키/값 데이터 항목이 포함된 테이블을 사용하는 NoSQL 스토리지 솔루션입니다. 각 항목은 저장해야 하는 데이터 필드의 열이 포함된 행으로 표현됩니다.
그러나 Azure Table Storage 테이블이 관계형 데이터베이스의 테이블과 유사하다고 오해하면 안 됩니다. Azure 테이블을 사용하면 반정형 데이터를 저장할 수 있습니다. 테이블의 모든 행에는 고유한 키(파티션 키 및 행 키로 구성됨)가 있어야 하며, 테이블에서 데이터를 수정하면 타임스탬프 열에 수정한 날짜 및 시간이 기록됩니다. 그러나 그 외에는 각 행의 열이 다를 수 있습니다. Azure Table Storage 테이블에는 관계형 데이터베이스에서 볼 수 있는 외래 키, 관계, 저장 프로시저, 뷰 또는 기타 개체에 대한 개념이 없습니다. Azure Table Storage의 데이터는 일반적으로 비정규화되며, 각 행은 논리적 엔터티의 전체 데이터를 보유합니다. 예를 들어, 고객 정보가 있는 테이블에는 각 고객의 성, 이름, 하나 이상의 전화번호, 하나 이상의 주소가 저장될 수 있습니다. 각 행의 필드 수는 각 고객의 전화 번호 및 주소 수와 각 주소에 대해 기록된 세부 정보에 따라 다를 수 있습니다. 관계형 데이터베이스에서는 이 정보가 여러 테이블의 여러 행에 분할됩니다.
Azure Table Storage는 빠르게 액세스할 수 있도록 테이블을 파티션으로 분할합니다. 분할은 공통 속성 또는 파티션 키를 기준으로 관련 행을 그룹화하는 메커니즘입니다. 동일한 파티션 키를 공유하는 행은 함께 저장됩니다. 분할은 데이터를 구성하는 데 도움이 될 뿐 아니라 다음과 같은 방식으로 확장성 및 성능을 향상시킬 수 있습니다.
파티션은 서로 독립적이며, 파티션에 행이 추가되거나 제거됨에 따라 확장 또는 축소될 수 있습니다. 테이블은 원하는 수만큼 파티션을 포함할 수 있습니다.
데이터를 검색할 때 검색 조건에 파티션 키를 포함할 수 있습니다. 이렇게 하면 검사할 데이터 볼륨의 범위를 좁히는 데 도움이 되고, 데이터를 찾는 데 필요한 I/O(입력 및 출력 작업 또는 읽기 및 쓰기)의 양이 줄어들어 성능이 향상됩니다.
Azure Table Storage 테이블의 키는 행을 포함하는 파티션을 식별하는 파티션 키 및 동일한 파티션의 각 행에 대해 고유한 행 키라는 두 가지 요소로 구성됩니다. 동일한 파티션의 항목은 행 키 순서로 저장됩니다. 애플리케이션이 테이블에 새 행을 추가하는 경우 Azure는 행이 테이블의 올바른 위치에 배치되도록 합니다. 이 체계를 사용하면 애플리케이션이 단일 행을 식별하는 포인트 쿼리와 파티션의 연속 행 블록을 가져오는 범위 쿼리를 신속하게 수행할 수 있습니다.