티스토리 뷰

반응형

Azure 테이블 스토리지는 비SQL 키 값 모델을 구현합니다. 이 모델에서는 항목의 데이터가 필드 집합으로 저장되고 항목은 고유 키로 식별됩니다. Azure Table Storage는 클라우드에 보관되는 확장 가능한 키 값 저장소입니다. Microsoft Azure 스토리지 계정을 사용하여 테이블을 생성합니다. Azure 테이블 저장소 테이블에서 항목을 행이라고 하고 필드를 열이라고 합니다. 하지만 Azure Table Storage 테이블을 관계형 데이터베이스의 테이블과 비슷하다고 생각해서 이 용어로 혼동하지 않도록 하세요.또한 Azure Table을 사용하면 반정형 데이터를 저장할 수 있습니다. 테이블의 모든 행에는 키가 있어야 하지만 그 외에는 각 행의 열이 다를 수 있습니다. 기존 관계형 데이터베이스와 달리 Azure Table Storage 테이블에는 관계, 저장 프로시저, 보조 인덱스 또는 외래 키에 대한 개념이 없습니다. 데이터는 일반적으로 각 행에 논리적 개체의 전체 데이터가 들어 있는 상태로 비정규화됩니다. 예를 들어 고객 정보가 들어 있는 테이블에는 이름, 성, 하나 이상의 전화번호, 각 고객에 대한 하나 이상의 주소가 저장될 수 있습니다. 각 행의 필드 수는 각 고객의 전화 번호 및 주소 수, 각 주소에 대해 기록된 세부 정보에 따라 달라질 수 있습니다. 관계형 데이터베이스에서 이 정보는 여러 행과 여러 테이블로 분할됩니다. 이 예제에서 Azure Table Storage를 사용하면 관계 간에 조인을 수행할 필요 없이 단일 행에서 데이터를 사용할 수 있으므로 고객의 세부 정보에 훨씬 빠르게 액세스할 수 있습니다. 빠른 액세스를 보장하기 위해 Azure Table Storage는 테이블을 파티션으로 분할합니다. 파티셔닝은 공통 속성 또는 파티션 키를 기반으로 관련 행을 그룹화하는 메커니즘입니다. 동일한 파티션 키를 공유하는 행은 함께 저장됩니다. Azure 테이블 저장소 테이블의 키는 두 가지 요소로 구성됩니다. 행이 포함된 파티션을 식별하는 파티션 키와 동일한 파티션의 각 행에 고유한 행 키입니다. 동일한 파티션의 항목은 행 키 순서로 저장됩니다. 동일한 파티션 키를 공유하는 행은 함께 저장됩니다. 응용 프로그램이 테이블에 새 행을 추가하는 경우 Microsoft Azure는 해당 행이 테이블의 올바른 위치에 배치되도록 합니다. 예를 들어 사물 인터넷 시나리오에서 파티션 키는 장치이고 행 키는 날짜 및 시간 값입니다. 파티셔닝은 데이터를 정리하는 데 도움이 될 뿐만 아니라 확장성과 성능도 개선할 수 있습니다. 파티션은 서로 독립적이며 파티션에 행이 추가되거나 파티션에서 제거됨에 따라 늘어나거나 줄어들 수 있습니다. 테이블은 여러 개의 파티션을 포함할 수 있습니다. 데이터를 검색할 때 검색 기준에 파티션 키를 포함할 수 있습니다. 이렇게 하면 검사할 데이터의 양을 줄이고 데이터를 찾는 데 필요한 IO 읽기 및 쓰기 양을 줄여 성능을 개선할 수 있습니다. 이 체계를 사용하면 응용 프로그램에서 단일 행을 식별하는 포인트 쿼리와 파티션에서 연속된 행 블록을 가져오는 범위 쿼리를 빠르게 수행할 수 있습니다. 포인트 쿼리에서 응용 프로그램이 단일 행을 검색할 때 Microsoft Azure는 파티션 키를 사용하여 올바른 파티션을 빠르게 찾을 수 있습니다.또한 행 키를 사용하면 Microsoft Azure가 해당 파티션의 행을 식별할 수 있습니다. 행이 수억 개일 수도 있지만 응용 프로그램을 디자인할 때 파티션과 행 키를 신중하게 정의했다면 데이터를 매우 빠르게 검색할 수 있습니다. 파티션 키와 행 키는 데이터에 대한 클러스터형 인덱스를 효과적으로 정의합니다. 범위 쿼리에서 응용 프로그램은 집합의 시작점과 끝점을 행 키로 지정하여 파티션의 행 집합을 검색합니다. 이 유형의 쿼리도 매우 빠릅니다. 애플리케이션에서 수행하는 쿼리의 요구 사항에 따라 행 키를 설계하기만 하면 됩니다. 표의 열에는 최대 64킬로바이트 크기의 숫자 문자열 또는 2진수 데이터를 포함할 수 있습니다. 테이블에는 파티션 및 행 키를 제외하고 최대 250개의 열을 포함할 수 있습니다. 최대 행 크기는 1메가바이트입니다. 자세한 내용은 이 단원의 추가 자료에서 사용할 수 있는 테이블 서비스 데이터 모델 이해를 참조하세요. Azure Table Storage 테이블은 스킨이 없으므로 응용 프로그램의 요구 사항이 발전함에 따라 데이터를 쉽게 조정할 수 있습니다. 테이블을 사용하여 웹 애플리케이션의 사용자 데이터, 주소록, 장치 정보 또는 서비스에 필요한 기타 유형의 메타데이터와 같은 유연한 데이터 세트를 보관할 수 있습니다. 중요한 부분은 파티션과 행 키를 신중하게 선택하는 것입니다. 다른 데이터 저장 방법에 비해 Azure Table Storage 테이블을 사용할 때의 주요 이점은 확장이 더 간단하다는 것입니다. 빈 테이블이나 수십억 개의 항목이 있는 테이블에 데이터를 삽입하는 데에도 같은 시간이 걸립니다. Microsoft Azure 저장소 계정에는 최대 500테라바이트의 데이터를 보관할 수 있습니다. 테이블에는 반정형 데이터를 보관할 수 있습니다. 정규화된 관계형 데이터베이스에 일반적으로 필요한 복잡한 관계를 매핑하고 유지할 필요가 없습니다. 파티션과 행 키를 쿼리 기준으로 지정하면 행 삽입 속도가 빨라지고 데이터 검색 속도도 빨라집니다. 하지만 여러 엔티티에 대한 트랜잭션 업데이트가 보장되지 않으므로 일관성을 고려해야 하는 등 이러한 방식으로 데이터를 저장하고 데이터를 저장하는 데에는 단점이 있습니다. 참조 무결성은 없습니다. 행 간의 모든 관계는 테이블 외부에서 유지되어야 합니다. 키가 아닌 데이터를 필터링하고 정렬하는 것은 어렵습니다. 키가 아닌 필드를 기반으로 검색하는 쿼리는 전체 테이블 스캔으로 이어질 수 있습니다. Azure Table Storage가 효율적인 데이터 저장을 위한 훌륭한 메커니즘으로 사용될 수 있는 몇 가지 예가 있습니다. 먼저 웹 스케일 애플리케이션을 지원할 수 있는 테라바이트 규모의 정형 데이터를 저장합니다. 예를 들어 전자 상거래 애플리케이션용 제품 카탈로그와 복합 키로 데이터를 빠르게 식별하고 정렬할 수 있는 고객 정보 등이 있습니다. 제품 카탈로그의 경우 파티션 키는 신발과 같은 제품 카테고리일 수 있습니다. 행 키는 해당 카테고리의 특정 제품 ( 예: 클라이밍 부츠) 을 식별합니다. 둘째, Azure Table Storage는 복잡한 조인트, 외부 키 또는 저장 프로시저가 필요하지 않고 빠른 액세스를 위해 비정규화할 수 있는 데이터 세트를 저장할 때 유용한 메커니즘입니다. 사물 인터넷 시스템에서는 Azure Table Storage를 사용하여 장치 센서 데이터를 캡처할 수 있습니다. 각 장치에는 자체 파티션이 있을 수 있으며 각 측정값이 캡처된 날짜 및 시간을 기준으로 데이터를 정렬할 수 있습니다. 마지막으로 Azure Table Storage는 이벤트 로깅 및 성능 모니터링 데이터를 캡처하는 데 적합합니다. 이벤트 로그 및 성능 정보에는 일반적으로 기록되는 이벤트 또는 성능 측정 유형에 따라 구조화된 데이터가 포함됩니다. 이벤트 또는 성능 측정 유형별로 데이터를 분할하고 기록된 날짜 및 시간을 기준으로 정렬할 수 있습니다. 또는 순서가 지정된 일련의 이벤트 및 성능 측정을 시간순으로 분석해야 하는 경우 데이터를 날짜별로 분할할 수 있습니다.유형과 날짜 또는 시간별로 데이터를 분석하려면 데이터를 유형별로 분할하고 다시 날짜별로 분할하여 두 번 저장하는 것이 좋습니다. 데이터 쓰기 속도는 빠르며 일단 기록된 데이터는 정적입니다. Azure Table Storage는 최대 100테라바이트 크기의 매우 큰 볼륨 데이터를 지원하기 위한 것입니다. 테이블에 행을 추가하면 Azure Table Storage는 테이블의 파티션을 자동으로 관리하므로 스토리지를 할당해야 합니다. 추가 단계를 직접 수행할 필요는 없습니다. Azure Table Storage는 단일 지역에서 고가용성을 보장합니다. 각 테이블의 데이터는 Microsoft Azure 지역 내에서 세 번 복제됩니다. 가용성을 높이기 위해 추가 비용을 지불하고 지역 중복 저장소에 테이블을 만들 수 있습니다. 이 경우 각 테이블의 데이터가 수백 마일 떨어진 다른 지역에 세 번 더 복제됩니다. 로컬 지역의 복제본을 사용할 수 없게 되면 Microsoft Azure는 실패한 복제본이 복구되는 동안 작업 중인 복제본으로 투명하게 전환합니다. 전체 리전이 중단되더라도 원격 리전의 테이블은 안전합니다. 또한 애플리케이션을 빠르게 전환하여 해당 원격 지역에 연결할 수 있습니다. Azure 테이블 스토리지는 데이터를 보호하는 데 도움이 됩니다.데이터를 확인해야 하는 사용자 또는 애플리케이션만 데이터를 실제로 검색할 수 있도록 보안 및 역할 기반 액세스 제어를 구성할 수 있습니다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함