This is the Trace Id: 68097a4e78edde485e60e7bc5a897e5b
주 콘텐츠로 건너뛰기 살펴보기 모든 제품 보기(200개 이상) Microsoft Foundry Azure Copilot GitHub Copilot AKS(Azure Kubernetes Service) Azure Cosmos DB Azure Database for PostgreSQL Azure Arc Microsoft Fabric Azure의 Linux Virtual Machines Foundry Models Foundry Agent Service Foundry IQ Foundry Tools Foundry Control Plane Foundry Control Plane의 Observability Foundry Models에서의 Azure OpenAI Foundry Tools의 Azure 음성 Azure Machine Learning 모든 데이터베이스 보기 Azure Cosmos DB Azure DocumentDB Azure SQL Azure Database for PostgreSQL Azure 관리형 Redis Microsoft Fabric Azure Databricks Azure의 Linux Virtual Machines Azure에서의 Windows Server Azure Functions Azure Virtual Machine Scale Sets Azure API Management Azure Container Apps AKS(Azure Kubernetes Service) Azure Kubernetes Fleet Manager Azure Container Registry Azure Red Hat OpenShift Azure Container Instances Azure 컨테이너 스토리지 Azure Arc Azure 로컬 클라우드용 Microsoft Defender Azure Monitor Microsoft Sentinel Azure Migrate 모든 솔루션 보기(40개 이상) 소규모 및 중간 규모 비즈니스를 위한 클라우드 솔루션 클라우드 마이그레이션 및 현대화 센터 AI를 위한 데이터 분석 Azure Databases AI 앱 에이전트 Microsoft Marketplace Microsoft Sovereign Cloud AI 앱 에이전트 Azure와 함께하는 책임 있는 AI AI 인프라 AI를 위한 데이터 분석 MLOps(기계 학습 운영) Azure에서 로우코드 응용 프로그램 개발 통합 서비스 서버리스 컴퓨팅 DevOps 마이그레이션 및 현대화 센터 .NET 앱 마이그레이션 Azure의 데이터베이스 Linux on Azure Azure의 Oracle Microsoft Cloud의 SAP 적응형 클라우드 HPC(고성능 컴퓨팅) IaaS(서비스 제공 인프라) 복원력 Azure Essentials Azure용 Frontier Accelerate Azure의 FinOps Microsoft Marketplace Azure 가격 책정 개요 Azure 계정 만들기 무료 Azure 서비스 유연한 구매 옵션 비교 가격 책정 계산기 Azure의 FinOps AI를 통한 투자 ROI 극대화 Azure 절감 플랜 Azure 예약 Azure 하이브리드 혜택 Virtual Machines Azure SQL Microsoft Foundry Microsoft Fabric AKS(Azure Kubernetes Service) 클라우드용 Microsoft Defender 자세히 보기 소프트웨어 개발 회사용 Microsoft Marketplace 파트너 찾기 Azure 파트너를 위한 리소스 Azure 시작 고객 사례 분석자 보고서, 백서 및 전자책 비디오 클라우드 컴퓨팅에 관한 자세한 정보 설명서 Azure Portal 살펴보기 개발자 리소스 빠른 시작 템플릿 스타트업을 위한 리소스 Developer Community 학생 파트너용 Azure 블로그 이벤트 및 웨비나 알아보기 지원 구입 전 상담창구 Azure 시작 로그인

데이터베이스 분할이란 무엇인가요?

데이터베이스 분할은 글로벌 분산 시스템 전반에서 솔루션 성능 및 가용성을 높이는 수평 확장 방법입니다.

데이터베이스 분할 정의

데이터베이스 분할은 대규모 데이터베이스를 분할이라고 하는 더 작고 관리하기 쉬운 세그먼트로 나누는 프로세스를 의미합니다. 애플리케이션 및 시스템이 성능이나 가용성에 영향을 주지 않고 증가하는 데이터 및 사용자 볼륨을 처리할 수 있도록 수평 확장을 지원합니다. 조직은 분할 전략을 사용하여 스토리지 제약 조건 및 최신 클라우드 환경에서 데이터베이스 크기 조정과 관련된 기타 문제를 극복합니다.

  • 데이터베이스 분할은 데이터베이스를 SNA(공유 없음 아키텍처)에서 실행되는 독립 분할된 데이터베이스로 분할하는 수평 확장 방법으로 정의됩니다.
  • 데이터는 분할 키를 사용하여 분할된 데이터베이스로 나뉩니다. 이를 통해 애플리케이션은 요청을 적절한 분할된 데이터베이스로 라우팅할 수 있습니다.
  • 데이터는 일반적으로 숫자 값, 해시 함수, 조회 디렉터리 또는 지리적 위치를 사용하여 분할된 데이터베이스 간에 나눠집니다.
  • 데이터베이스 분할의 장점으로는 향상된 쿼리 성능, 수평 확장성 지원, 내결함성 향상 등이 있습니다.
  • 분할 사용 사례에는 은행, 전자 상거래 및 소셜 미디어 플랫폼이 포함되며, 데이터 또는 사용자의 빠른 증가 또는 급증을 종종 처리해야 합니다.

데이터베이스 분할은 어떻게 작동하나요?

데이터베이스 분할은 대규모 데이터베이스를 분할된 데이터베이스라고 하는 더 작고 독립적인 조각으로 나누어 수평으로 확장하는 데 사용되는 기술입니다. 각 분할된 데이터베이스는 전체 데이터의 고유한 하위 집합을 포함하지만 동일한 스키마를 유지하는 별도의 데이터베이스로 작동합니다. 따라서 분할된 데이터베이스가 별도의 서버에서 실행되더라도 집합적으로 단일 논리 데이터베이스를 구성할 수 있습니다.

데이터베이스 분할은 처리, 메모리 또는 스토리지 리소스를 다른 분할된 데이터베이스와 공유하지 않고 각 분할된 데이터베이스가 자체적으로 작동하는 분산 컴퓨팅 모델인 SNA(공유 없음 아키텍처)를 따릅니다.

분할 키(데이터의 특정 필드 또는 필드 조합)는 각 분할된 데이터베이스에 저장될 데이터를 결정합니다. 애플리케이션이 데이터를 읽거나 써야 하는 경우 분할 키를 사용하여 요청을 적절한 분할된 데이터베이스로 라우팅합니다.

분할 전략

조직은 여러 분할된 데이터베이스에 분산된 데이터를 다양한 방식으로 관리합니다. 다음은 몇 가지 일반적인 전략입니다.

  • 범위 기반 또는 동적 분할: 분할 키의 값 범위에 따라 데이터를 나눕니다. 예를 들어 전자 상거래 데이터베이스의 한 분할된 데이터베이스에는 고객 ID 번호 1~1,000,000을 할당하고 다른 분할된 데이터베이스에는 고객 ID 번호 1,000,001~2,000,000을 할당할 수 있습니다. 이 메서드는 범위 쿼리에 효율적이지만 특정 범위에 더 자주 액세스되는 경우 균일하지 않은 분포가 발생할 수 있습니다.
  • 해시 기반 분할:데이터는 각 분할 키에 해시 함수라는 수학적 수식을 적용하여 분할된 데이터베이스 간에 균등하게 분산됩니다. 이 방법은 오버로드를 방지하는 데 도움이 되지만 여러 분할된 데이터베이스에 관련 데이터를 분산시켜 범위 쿼리의 효율성을 낮게 만들 수 있습니다.
  • 디렉터리 기반 또는 조회 기반 분할: 분할된 데이터베이스 맵은 어떤 분할 키가 어떤 데이터에 해당하는지 나타냅니다. 이 전략은 필요에 따라 더 많은 분할 키를 빠르게 추가할 수 있는 유연성을 제공하지만 복잡성과 잠재적 오버헤드를 추가합니다.
  • 지리적 분할: 데이터는 지리적 위치에 따라 분할되어 서로 다른 지역의 사용자에 대한 대기 시간을 줄이고 데이터 보존 요구 사항을 지원합니다. 많은 플랫폼이 지리적 분할과 데이터베이스 복제를 결합하여 더 높은 복원력을 제공합니다.

데이터베이스에 대해 자세히 알아보세요.

데이터베이스 분할의 주요 이점은 무엇인가요?

데이터베이스 분할을 사용하려면 분할 키와 분할 전략을 신중하게 선택하고 쿼리 라우팅 최적화를 수행해야 합니다. 다음은 데이터베이스 분할의 몇 가지 주요 이점입니다.

  • 쿼리 성능 향상:여러 분할된 데이터베이스에 데이터를 분산하면 데이터베이스가 각 쿼리를 실행하는 데 필요한 데이터 세트를 더 빠르게 검색할 수 있습니다. 이로 인해 응답 시간이 빨라집니다.
  • 수평 확장성 지원: 단일 서버에서 리소스 용량을 확장하는 대신, 조직은 더 많은 분할된 데이터베이스(및 서버)를 확장하고 추가하여 증가하는 데이터 및 워크로드 볼륨을 수용할 수 있습니다. 수직 확장과 수평 확장에 대해 자세히 알아보세요.
  • 내결함성 강화: 분할은 SNA 접근 방식을 사용하므로 각 분할된 데이터베이스는 다른 분할된 데이터베이스와 격리됩니다. 하나의 분할된 데이터베이스에 영향을 주는 모든 문제는 다른 분할된 데이터베이스에 영향을 주지 않으므로 시스템 안정성이 향상됩니다. 분할된 데이터베이스 간 데이터 복제는 가용성을 더욱 보호합니다.
  • 비용 효율성 향상:데이터 분할된 데이터베이스에는 대용량 데이터베이스보다 하드웨어 및 소프트웨어 요구 사항이 적어 종종 고가의 고급 서버가 필요합니다.

AI 워크로드를 최적화하는 데 도움이 됩니다. 복잡한 모놀리식 데이터베이스는 AI가 데이터에 액세스하고, 예측을 수행하고, 시간이 지남에 따라 학습하는 능력을 느리게 할 수 있습니다. 분할은 AI가 더 효과적으로 작동할 수 있는 분산되고 데이터가 풍부한 환경의 생성을 지원합니다.

데이터베이스 분할의 산업별 예제

데이터베이스 분할은 데이터 또는 사용자 트래픽이 빠르게 증가하거나 예측할 수 없는 급증을 경험하는 클라우드 기반 솔루션에 특히 유용합니다. 다음 사용 사례는 산업 전반에 걸쳐 분할을 적용할 수 있는 방법을 보여 줍니다.

  • 전자 상거래: 소매 플랫폼은 분할된 데이터베이스 간에 고객 및 주문 데이터를 분할하여 쇼핑 성수기 동안 빠른 제품 검색과 원활한 결제 환경을 보장합니다.
  • 금융 서비스: 은행 및 기타 금융 거래 기록이 날짜 또는 계좌 번호로 분할되어 효율적인 쿼리와 안전하고 확장 가능한 스토리지를 허용합니다.
  • 온라인 게임: 플레이어 또는 세션 데이터는 지역 및 사용자 ID로 나뉘어 분할된 데이터베이스 간에 부하를 분산하고 전 세계 대상 그룹을 위해 대기 시간(데이터가 목적지로 이동하는 데 필요한 시간)을 최소화합니다.
  • 소셜 미디어: 소셜 미디어 플랫폼은 사용자 프로필 및 활동 피드 데이터를 사용자 ID 또는 시간 범위로 나눕니다. 이 접근 방식을 사용하면 플랫폼이 최근 게시물을 신속하게 쿼리하고 수백만 명의 동시 사용자를 지원할 수 있습니다.
  • SaaS(Software-as-a-Service): 여러 테넌트가 있는 SaaS 앱은 일반적으로 테넌트 ID로 데이터를 나눕니다. 그러면 고객 데이터가 격리되고 사용자 기반이 커짐에 따라 관리가 간소화됩니다. 테넌트 워크로드 또는 지리적 위치로 나눌 수도 있습니다.

빅 데이터 분석 작동 방법에 대해 자세히 알아보세요.

데이터베이스 분할의 미래

분할은 여러 독립 서버에 데이터를 분산하여 단일 서버의 부하를 줄이고 병목 현상을 최소화하며 시스템 가용성 및 응답성을 개선합니다. 최신 클라우드 환경에서 데이터베이스 분할을 사용하는 이점은 AI 및 기타 관련 기술이 계속 발전함에 따라 증가합니다.

주목할 추세는 다음과 같습니다.

AI 지원 분할 워크플로

자동화된 분할 키 선택, 워크로드 리밸런싱 및 쿼리 라우팅과 같은 지능형 기능이 더욱 주류가 될 것입니다.

장점: 간소화되고 최적화된 작업과 전례 없는 확장성

가동 중지 시간 없는 재분할

최신 데이터 플랫폼은 데이터 가동 중지 시간이나 복잡한 데이터 마이그레이션 없이 분할 키 변경을 점점 더 지원할 것입니다.

장점: 워크로드가 발전함에 따라 분할 전략을 업데이트할 수 있는 유연성 향상

서버리스 데이터베이스와 결합된 분할

서버리스 데이터베이스는 각 분할된 데이터베이스에 대해 서버를 독립적으로 프로비전하고 관리합니다. 또한 이벤트 기반 쿼리를 기반으로 필요에 따라 용량을 확장하거나 축소합니다.

장점: 운영 오버헤드 감소

적응형 정책 기반 지역 분할

자동화된 분할 워크플로는 코드에 포함된 지역별 정책 규칙에 따라 지리적 분할된 데이터베이스 간에 데이터를 자동으로 라우팅합니다. 장점: 변화하는 규제 및 개인 정보 보호 요구 사항을 더 빠르게 준수

클라우드 컴퓨팅에 대해 자세히 알아보세요.

자주 묻는 질문

  • 데이터베이스 분할은 전체 데이터의 고유한 하위 집합이 포함된 분할된 데이터베이스를 각각 호스팅하는 여러 서버에 걸쳐 대규모 데이터베이스를 수평으로 확장하는 프로세스입니다. 분할은 단일 대규모 서버에 의존하지 않고 컴퓨터 간에 쿼리 및 스토리지를 분산하여 증가하는 데이터 볼륨 및 사용자 트래픽을 효율적으로 처리하는 데 사용됩니다.
  • 분할과 파티셔닝 모두 대규모 데이터베이스를 더 작은 하위 집합으로 분할하여 데이터베이스 작업을 최적화합니다. 그러나 파티셔닝은 동일한 서버에서 데이터를 분할하는 반면 분할은 여러 서버에 데이터를 분산합니다. 복제는 중복성을 위해 동일한 데이터 세트의 여러 복사본을 다양한 서버에 유지하는 것을 의미합니다. 
  • 예, 데이터베이스 분할은 애플리케이션 성능 및 확장성을 향상시킵니다. 분할된 데이터베이스 전체에 데이터 및 워크로드를 분산함으로써 분할은 쿼리 응답 시간을 줄이고 내결함성을 높입니다. 조직은 앱을 수평적으로 확장할 수도 있습니다. 분할 키와 분할 전략의 선택은 데이터 분할을 최적화하는 데 필수적입니다.
  • 예, Azure 및 기타 클라우드 플랫폼은 데이터베이스 분할에 대한 기본 제공 지원을 제공합니다. 예를 들어 Azure SQL Database는 분할된 데이터베이스 만들기 및 관리를 간소화하는 클라이언트 라이브러리를 포함하여 데이터베이스 크기 조정을 최적화하기 위한 여러 도구를 제공합니다.
한국어(대한민국) 소비자 상태 개인정보처리방침 Microsoft에 문의 개인정보처리방침 및 위치정보이용약관 쿠키 관리 사용약관 상표 광고 정보