티스토리 뷰

aws, ms-azure

MS Azure - cosmoDB

shannon. 2024. 3. 16. 13:19
반응형

테이블, 블럽 및 파일은 모두 특정 문제를 해결하는 데 도움이 되는 특수 유형의 스토리지입니다. 테이블을 읽고 쓰는 작업은 Blob에 데이터를 저장하거나 파일을 처리하는 작업과는 크게 다릅니다. 이러한 작업을 수행하기 위한 정확한 메커니즘에 대해 걱정할 필요 없이 데이터를 더 쉽게 저장하고 쿼리할 수 있는 보다 일반화된 솔루션이 필요한 경우가 있습니다. 이것이 바로 데이터베이스 관리 시스템의 유용성이 입증되는 부분입니다. 

관계형 데이터베이스는 데이터를 관계형 테이블에 저장하지만 세부 조정을 구현하는 데 시간을 소비하지 않는 한 이 모델이 적용하는 구조가 너무 엄격하여 종종 성능이 저하될 수 있습니다. 

총칭하여 NoSQL 데이터베이스라고 하는 다른 모델도 있습니다. 이러한 모델은 문서, 그래프, 키-값 저장소, 열 패밀리 저장소와 같은 다른 구조에 데이터를 저장합니다. 

Azure Cosmos DB는 다중 모델 NoSQL 데이터베이스 관리 시스템입니다. Cosmos DB는 데이터를 문서 파티션 세트로 관리합니다. 문서는 키로 식별되는 필드 모음입니다. 각 문서의 필드는 다를 수 있으며 필드에는 하위 문서가 포함될 수 있습니다. 많은 문서 데이터베이스는 JSON, JavaScript 객체 표기법을 사용하여 문서 구조를 나타냅니다. 이 형식에서는 문서의 필드가 중괄호로 묶이고 각 필드 앞에 해당 이름이 붙습니다.고객 정보를 나타내는 문서 쌍을 예로 들어 보겠습니다. 각 고객 문서에는 이름 , 주소가 포함된 하위 문서가 포함되지만 이러한 하위 문서의 필드는 고객마다 다를 수 있습니다. 작은 바이너리 객체를 포함하여 문서 하나에 최대 2MB의 데이터를 저장할 수 있습니다. 더 큰 얼룩을 문서의 일부로 저장해야 하는 경우 Azure Blob Storage를 사용하고 문서에 얼룩에 대한 참조를 추가하세요. Cosmos DB는 잘 알려진 인터페이스 세트를 사용하여 이러한 문서에 액세스할 수 있는 API를 제공합니다. API는 애플리케이션 프로그래밍 인터페이스의 약자입니다. 데이터베이스 관리 시스템 및 모든 소프트웨어 프레임워크는 개발자가 데이터에 액세스해야 하는 프로그램을 작성하는 데 사용할 수 있는 API 세트를 제공합니다. API는 종종 다른 데이터베이스 관리 시스템과 다를 수 있습니다. Cosmos DB가 현재 지원하는 몇 가지 API는 다음과 같습니다. SQL API 인터페이스는 문서에 대해 SQL과 유사한 쿼리 언어를 제공하므로 select 문을 사용하여 문서를 식별하고 검색할 수 있습니다. 데이터베이스에 대해 쿼리를 실행하여 고객 주소와 같은 특정 정보를 찾을 수 있습니다. 테이블 API 인터페이스를 사용하면 Azure 테이블 스토리지 API를 사용하여 문서를 저장하고 검색할 수 있습니다. 이 인터페이스의 목적은 기존 애플리케이션을 수정할 필요 없이 테이블 스토리지에서 Cosmos DB로 전환할 수 있도록 하는 것입니다. MongoDB는 자체 프로그래밍 인터페이스를 갖춘 잘 알려진 또 다른 문서 데이터베이스입니다. 많은 조직에서 MongoDB를 온프레미스로 실행합니다.Cosmos DB용 MongoDB API를 사용하여 MongoDB 애플리케이션이 Cosmos DB 데이터베이스에서 우연히 실행되도록 할 수 있습니다. MongoDB 데이터베이스의 데이터를 클라우드에서 실행되는 Cosmos DB로 마이그레이션할 수 있습니다. 하지만 기존 애플리케이션을 계속 실행하면 이 데이터에 액세스할 수 있습니다. Cassandra는 컬럼 패밀리 데이터베이스 관리 시스템입니다. 이는 많은 조직에서 온프레미스로 실행하는 또 다른 데이터베이스 관리 시스템입니다.코스모스 DB용 카산드라 API는 코스모스 DB에 카산드라와 유사한 프로그래밍 인터페이스를 제공합니다. 카산드라 API 요청은 맵 코스모스 DB 문서 요청입니다. MongoDB API와 마찬가지로 카산드라 API의 주요 목적은 카산드라 데이터베이스 및 애플리케이션을 Cosmos DB로 빠르게 마이그레이션할 수 있도록 하는 것입니다. 마지막으로, 그렘린 API는 그래프 데이터베이스 인터페이스를 Cosmos DB에 구현합니다. 그래프는 데이터 객체와 지시된 관계의 모음입니다. Cosmos DB에는 데이터가 여전히 문서 세트로 보관되지만 Gremlin API를 사용하면 데이터에 대해 그래프 쿼리를 수행할 수 있습니다. Gremlin API를 사용하면 그래프의 객체와 관계를 살펴보면서 모든 종류의 복잡한 관계를 발견할 수 있습니다. 예를 들어 샘의 집주인의 애완동물 이름은 무엇입니까? 중요한 점은 테이블인 MongoDB, Cassandra 및 Gremlin API의 주요 용도는 기존 애플리케이션을 지원하는 것이라는 점입니다. 새 애플리케이션이나 데이터베이스를 구축하는 경우 SQL API를 사용해야 합니다. Cosmos DB 데이터베이스의 문서는 컨테이너로 구성됩니다. 컨테이너에 있는 이러한 문서는 파티션으로 그룹화됩니다. 파티션에는 공통 파티션 키를 공유하는 문서 집합이 들어 있습니다. 문서의 필드 중 하나를 파티션 키로 지정합니다. 모든 관련 문서를 한꺼번에 수집하는 파티션 키를 선택해야 합니다. 이 방법을 사용하면 쿼리에서 수행해야 하는 IO 디스크 읽기 양을 줄이고 해당 엔티티에 대한 문서 세트를 검색하는 데 필요한 I/O 디스크 읽기의 양을 줄일 수 있습니다. 예를 들어 고객 세부 정보와 고객이 주문한 내용을 기록하는 전자 상거래 시스템용 문서 데이터베이스에서 고객 ID별로 데이터를 분할하고 각 고객에 대한 고객 및 주문 세부 정보를 동일한 파티션에 저장할 수 있습니다. 고객에 대한 모든 정보와 주문을 찾으려면 해당 단일 파티션을 쿼리하기만 하면 됩니다. Cosmos DB 컨테이너와 Azure 테이블 스토리지의 테이블 간에는 표면적인 유사성이 있습니다. 두 경우 모두 데이터가 파티셔닝되며 테이블에 있던 문서는 파티션 내에서 고유한 ID로 식별됩니다. 하지만 유사성은 거기서 끝납니다. Azure 테이블 스토리지와 달리 Cosmos DB 파티션의 문서는 ID를 기준으로 정렬되지 않습니다. 대신 Cosmos DB는 별도의 인덱스를 유지합니다. 이 색인은 문서 ID뿐만 아니라 각 문서에 있는 다른 모든 필드의 값도 추적합니다. 이 색인은 자동으로 생성되고 유지 관리됩니다. 데이터를 찾기 위해 파티션 전체를 스캔할 필요 없이 컨테이너의 모든 필드를 참조하는 기준을 지정하는 쿼리를 수행할 수 있습니다. Cosmos DB 인덱싱의 작동 방식에 대한 자세한 설명은 이 강의의 추가 자료에서 인덱싱 및 Azure Cosmos DB 개요를 읽어보세요. Cosmos DB는 확장성이 뛰어난 데이터베이스 관리 시스템입니다. Cosmos DB는 컨테이너의 파티션에 공간을 자동으로 할당하며 각 파티션의 크기는 최대 10GB까지 증가할 수 있습니다. 인덱스는 자동으로 생성되고 유지 관리됩니다. 관리 오버헤드는 거의 없습니다. 가용성을 보장하기 위해 모든 데이터베이스는 단일 지역 내에 복제됩니다. 이 복제는 투명하게 진행되며 장애가 발생한 복제본의 페일오버는 자동으로 수행됩니다. 코스모스 DB는 99.99% 의 고가용성을 보장합니다. 또한 추가 비용을 지불하고 지역 간에 데이터를 복제하도록 선택할 수 있습니다. 이 기능을 사용하면 전 세계 어디에나 데이터 사본을 배치하고 애플리케이션이 가장 가까운 데이터 사본에 연결할 수 있으므로 쿼리 지연 시간이 줄어듭니다. 업데이트가 전송되고 적용되는 동안 작은 시간이 걸릴 수 있지만 모든 복제본은 동기화됩니다. 다중 마스터 복제 프로토콜은 잘 정의된 다섯 가지 일관성 선택을 지원합니다. 가장 강한 레벨부터 가장 약한 레벨까지 레벨은 강함, 제한된 유효성, 세션, 일관된 접두사, 최종 결과입니다. 자세한 내용은 Azure Cosmos DB의 일관성 수준을 참조하세요.

Cosmos DB는 전 세계에서 99번째 백분위수에서 읽기 및 쓰기 모두에 대해 10밀리초 미만의 지연 시간을 보장합니다. 이 기능을 사용하면 지속적으로 데이터를 수집하고 응답성이 높은 앱을 빠르게 쿼리할 수 있습니다. Cosmos DB는 다양한 규정 준수 표준에 대한 인증을 받았습니다. 또한 Cosmos DB의 모든 데이터는 저장 및 전송 중에 암호화됩니다. Cosmos DB는 행 수준의 인증을 제공하고 엄격한 보안 표준을 준수합니다. 코스모스 DB는 Microsoft Azure의 기본 서비스로, 스카이프, 엑스박스, 마이크로소프트 365, 마이크로소프트 애저 등 전 세계 규모의 미션 크리티컬 애플리케이션을 위한 마이크로소프트의 많은 제품에서 사용되고 있습니다. Cosmos DB는 IoT 및 텔레매틱스와 같은 시나리오에 매우 적합합니다. 이러한 시스템은 일반적으로 잦은 활동 폭주로 대량의 데이터를 수집합니다. Cosmos DB는 이 정보를 매우 빠르게 받아들이고 저장할 수 있습니다. 그러면 Azure 머신 러닝, Azure HDInsights 및 Power BI와 같은 분석 서비스에서 데이터를 사용할 수 있습니다. 또한 데이터가 데이터베이스에 도착할 때 트리거되는 Azure 함수를 사용하여 실시간으로 데이터를 처리할 수 있습니다. 마이크로소프트는 Windows 스토어와 Xbox Live의 일부로 운영되는 자체 전자 상거래 플랫폼에 코스모스 DB를 사용합니다. 또한 소매 업계에서는 카탈로그 데이터를 저장하고 이벤트 소싱 및 주문 처리 파이프라인에도 사용됩니다. 게임.여기의 데이터베이스는 게임 애플리케이션의 중요한 구성 요소입니다. 최신 게임은 모바일 또는 콘솔 클라이언트에서 그래픽 처리를 수행하지만 클라우드를 사용하여 게임 내 통계, 소셜 미디어 통합, 고득점 순위표와 같은 맞춤형 콘텐츠를 제공합니다. 게임에 매력적인 게임 경험을 제공하기 위해 읽기 및 쓰기에 1밀리초의 지연 시간이 필요한 경우가 많습니다. 다시 말하지만, 데이터베이스는 속도가 빠르고 게임 출시 및 기능 업데이트 중에 급증하는 요청률을 처리할 수 있어야 합니다. 웹 및 모바일 애플리케이션. Azure Cosmos DB는 일반적으로 웹 및 모바일 애플리케이션에서 사용되며, 소셜 상호 작용을 모델링하고, 타사 서비스와 통합하고, 풍부한 맞춤형 환경을 구축하는 데 적합합니다. Cosmos DB 소프트웨어 개발 키트 (SDK) 를 사용하면 널리 사용되는 Xamarin 프레임워크를 사용하여 다양한 iOS 및 Android 애플리케이션을 빌드할 수 있습니다. Cosmos DB 사용에 대한 추가 정보는 이 강의의 추가 자료에서 일반적인 Azure Cosmos DB 사용 사례를 읽어보세요.

반응형

'aws, ms-azure' 카테고리의 다른 글

Azure Cosmos DB 관리  (0) 2024.03.16
Azure Cosmos DB  (1) 2024.03.16
Azure Blob 스토리지  (0) 2024.03.16
dp-900, Azure SQL 데이터베이스/Azure SQL 데이터베이스 관리형 인스턴스/  (0) 2024.03.16
dp-900 pre-test  (0) 2024.03.16
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함