Azure에서 분석 데이터 저장소 선택
빅 데이터 아키텍처에서는 처리된 데이터를 분석 도구로 쿼리할 수 있는 구조화된 형식으로 제공하는 분석 데이터 저장소가 필요한 경우가 많습니다. 실행 부하 과다 경로 및 실행 부하 미달 경로 데이터의 쿼리를 모두 지원하는 분석 데이터 스토리지를 톨틀어 서비스 계층 또는 데이터 서비스 스토리지라고 합니다.
서비스 계층은 실행 부하 과다 경로 및 실행 부하 미달 경로의 처리된 데이터를 다룹니다. 람다 아키텍처에서 서비스 계층은 증분 방식으로 처리된 데이터를 저장하는 빠른 서비스 계층과 일괄 처리된 출력을 포함하는 일괄 처리 서비스 계층으로 세분화됩니다. 서비스 계층에서는 짧은 대기 시간의 임의 읽기를 반드시 지원해야 합니다. 또한 빠른 계층용 데이터 스토리지는 임의 쓰기도 지원해야 합니다. 이 스토리지로 데이터를 일괄 로드하면 원치 않는 지연이 발생하기 때문입니다. 그렇지만 일괄 처리 계층용 데이터 스토리지는 임의 쓰기를 지원하지 않아도 되며, 대신 일괄 쓰기를 지원해야 합니다.
모든 데이터 스토리지 태스크에 가장 적합한 단일 데이터 관리 옵션은 없습니다. 태스크마다 최적화된 데이터 관리 솔루션이 다릅니다. 대부분의 실제 클라우드 앱 및 빅 데이터 프로세스는 다양한 데이터 스토리지 요구를 가지며, 데이터 스토리지 솔루션을 조합해서 사용하는 경우가 많습니다.
분석 데이터 저장소를 선택할 때의 옵션은 무엇인가요?
Azure에서는 사용자의 요구에 따라 다음과 같은 몇 가지 데이터 서비스 스토리지 옵션을 사용할 수 있습니다.
- Azure Synapse Analytics
- Azure Synapse Spark 풀
- Azure Databricks
- Azure Data Explorer
- Azure SQL Database
- Azure VM의 SQL Server
- HDInsight의 HBase/Phoenix
- HDInsight의 Hive LLAP
- Azure Analysis Services
- Azure Cosmos DB
이러한 옵션에서는 다양한 유형의 태스크에 최적화된 다양한 데이터베이스 모델을 제공합니다.
- 키/값 데이터베이스는 각 키 값에 대해 직렬화된 단일 개체를 보유합니다. 이 데이터베이스는 지정된 키 값에 대해 하나의 항목을 가져오려고 하며 항목의 다른 속성을 기준으로 쿼리할 필요가 없는 경우에 대용량의 데이터를 저장하는 데 좋습니다.
- 문서 데이터베이스는 값이 document인 키/값 데이터베이스입니다. 이 컨텍스트에서 "document"는 명명된 필드 및 값의 컬렉션입니다. 데이터베이스는 일반적으로 XML, YAML, JSON 또는 BSON(이진 JSON)과 같은 형식으로 데이터를 저장하지만 일반 텍스트를 사용할 수 있습니다. 문서 데이터베이스는 키가 아닌 필드에서 쿼리를 수행하고, 보조 인덱스를 정의하여 쿼리를 보다 효율적으로 수행할 수 있습니다. 따라서 문서 데이터베이스는 문서 키의 값보다 좀 더 복잡한 조건에 따라 데이터를 검색해야 하는 애플리케이션에 더 적합합니다. 예를 들어, 제품 ID, 고객 ID 또는 고객 이름과 같은 필드에서 쿼리를 수행할 수 있습니다.
- 열 저장소 데이터베이스는 각 열을 디스크에 개별적으로 저장하는 키/값 데이터 저장소입니다. 넓은 열 저장소 데이터베이스는 단일 열뿐만 아니라 열 패밀리를 저장하는 열 저장소 데이터베이스의 유형입니다. 예를 들어 인구 조사 데이터베이스에는 사람의 이름(첫 번째, 중간, 마지막), 해당 사용자의 주소에 대한 가족 및 해당 사용자의 프로필 정보(생년월일, 성별)에 대한 패밀리가 있을 수 있습니다. 데이터베이스는 동일한 키와 관련된 한 사람의 모든 데이터를 유지하면서 각 열 패밀리를 별도의 파티션에 저장할 수 있습니다. 애플리케이션은 엔터티의 모든 데이터를 읽지 않더라도 단일 열 패밀리를 읽을 수 있습니다.
- 그래프 데이터베이스는 정보를 개체 및 관계의 컬렉션으로 저장합니다. 그래프 데이터베이스는 개체 네트워크 및 개체 간 관계를 트래버스 통과하는 쿼리를 효율적으로 수행할 수 있습니다. 예를 들어, 개체가 인사 데이터베이스의 직원일 수 있으며, “find all employees who directly or indirectly work for Scott”와 같은 쿼리를 용이하게 진행할 수 있습니다.
- 원격 분석 및 시계열 데이터베이스는 개체의 추가 전용 컬렉션입니다. 원격 분석 데이터베이스는 다양한 열 저장소 및 메모리 내 구조의 데이터를 효율적으로 인덱싱하므로 방대한 양의 원격 분석 및 시계열 데이터를 저장하고 분석하기 위한 최적의 선택입니다.
주요 선택 조건
선택 옵션의 범위를 좁히려면 먼저 다음 질문에 답변합니다.
데이터에 대해 실행 부하 과다 경로로 사용될 수 있는 스토리지를 제공해야 하나요? 그렇다면 빠른 서비스 계층에 최적화된 옵션으로 선택 범위를 좁혀보세요.
쿼리가 여러 프로세스 또는 노드 사이에서 자동으로 분산되는 MPP(Massively Parallel Processing) 지원이 필요한가요? 그렇다면 쿼리 스케일 아웃을 지원하는 옵션을 선택합니다.
관계형 데이터 저장소를 사용하고 싶나요? 그렇다면 관계형 데이터베이스 모델을 포함하는 옵션으로 선택 범위를 좁혀보세요. 그러나 일부 비관계형 저장소는 쿼리에 대해 SQL 구문을 지원하며, PolyBase와 같은 도구를 사용하여 비관계형 데이터 저장소를 쿼리할 수 있습니다.
시계열 데이터를 수집하나요? 추가 전용 데이터를 사용하나요?
기능 매트릭스
다음 표에서는 주요 기능 차이점을 요약해서 보여 줍니다.
일반 기능
기능 | SQL Database | Azure Synapse SQL 풀 | Azure Synapse Spark 풀 | Azure Data Explorer | HDInsight의 HBase/Phoenix | HDInsight의 Hive LLAP | Azure Analysis Services | Azure Cosmos DB |
---|---|---|---|---|---|---|---|---|
관리되는 서비스인지 여부 | 예 | 예 | 예 | 예 | 예 1 | 예 1 | 예 | 예 |
주 데이터베이스 모델 | 관계형(columnstore 인덱스를 사용하는 경우 열 저장소 형식) | 열 스토리지가 있는 관계형 테이블 | 넓은 열 저장소 | 관계형(열 저장소), 원격 분석 및 시계열 저장소 | 넓은 열 저장소 | Hive/메모리 내 | 테이블 형식 의미 체계 모델 | 문서 저장소, 그래프, 키-값 저장소, 넓은 열 저장소 |
SQL 언어 지원 | 예 | 예 | 예 | 예 | 예(Phoenix JDBC 드라이버 사용) | 예 | 아니요 | 예 |
빠른 서비스 계층에 최적화됨 | 예 2 | 예 3 | 예 | 예 | 예 | 예 | 아니요 | 예 |
[1] 수동 구성 및 크기 조정 사용
[2] 메모리 최적화 테이블 및 해시 또는 비클러스터형 인덱스 사용
[3] Azure Stream Analytics 출력으로 지원됩니다.
확장성 기능
기능 | SQL Database | Azure Synapse SQL 풀 | Azure Synapse Spark 풀 | Azure Data Explorer | HDInsight의 HBase/Phoenix | HDInsight의 Hive LLAP | Azure Analysis Services | Azure Cosmos DB |
---|---|---|---|---|---|---|---|---|
고가용성을 위한 중복 지역 서버 | 예 | 아니요 | 아니요 | 예 | 예 | 아니요 | 예 | 예 |
쿼리 스케일 아웃 지원 | 아니요 | 예 | 예 | 예 | 예 | 예 | 예 | 예 |
동적 확장성(강화) | 예 | 예 | 예 | 예 | 아니요 | 아니요 | 예 | 예 |
데이터의 메모리 내 캐싱 지원 여부 | 예 | 예 | 예 | 예 | 아니요 | 예 | 예 | 아니요 |
보안 기능
기능 | SQL Database | Azure Synapse | Azure Data Explorer | HDInsight의 HBase/Phoenix | HDInsight의 Hive LLAP | Azure Analysis Services | Azure Cosmos DB |
---|---|---|---|---|---|---|---|
인증 | SQL/Microsoft Entra ID | SQL/Microsoft Entra ID | Microsoft Entra ID | local / Microsoft Entra ID 1 | local / Microsoft Entra ID 1 | Microsoft Entra ID | 액세스 제어를 통한 데이터베이스 사용자/Microsoft Entra ID(IAM(ID 및 액세스 관리)) |
휴지 상태의 암호화 | 예 2 | 예 2 | 예 | 예 1 | 예 1 | 예 | 예 |
행 수준 보안 | 예 | 예 3 | 예 | 예 1 | 예 1 | 예 | 아니요 |
방화벽 지원 여부 | 예 | 예 | 예 | 예 4 | 예 4 | 예 | 예 |
동적 데이터 마스킹 | 예 | 예 | 예 | 예 1 | 예 | 아니요 | 아니요 |
[1] 도메인 가입 HDInsight 클러스터를 사용해야 합니다.
[2] 투명한 데이터 암호화를 사용하여 미사용 데이터를 암호화하고 암호 해독해야 합니다.
[3] 조건자만 필터링합니다. 행 수준 보안을 참조하세요.
[4] Azure 가상 네트워크 내에서 사용하는 경우 자세한 내용은 Azure Virtual Network를 사용하여 Azure HDInsight 확장을 참조 하세요.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Zoiner Tejada | CEO 및 설계자
다음 단계
- 관계형 데이터 웨어하우스의 데이터 분석
- 단일 데이터베이스 만들기 - Azure SQL Database
- Azure Databricks 작업 영역 만들기
- Azure Portal을 사용하여 Azure HDInsight에서 Apache Spark 클러스터 만들기
- Synapse 작업 영역 만들기
- 최신 분석을 위한 Azure 데이터 서비스 살펴보기
- Azure Database 및 분석 서비스 살펴보기
- API for NoSQL을 사용하여 Azure Cosmos DB 쿼리