Lakebase는 데이터베이스 애플리케이션을 효율적으로 개발, 테스트 및 스케일링할 수 있는 일련의 기능을 기반으로 합니다. 이 섹션에서는 기존 데이터베이스 시스템과 Lakebase를 구별하는 핵심 개념을 소개합니다.
프로젝트
Lakebase 프로젝트는 모든 데이터베이스 리소스에 대한 최상위 컨테이너입니다. 각 프로젝트는 Azure Databricks 작업 영역에 속하며 각각 자체 컴퓨팅 및 데이터베이스가 있는 하나 이상의 분기를 포함합니다.
Project
└── Branch (e.g., production)
├── Compute (read-write)
└── Database (e.g., databricks_postgres)
Autoscaling
Lakebase는 워크로드 요구에 따라 컴퓨팅 리소스를 자동으로 조정합니다. 애플리케이션의 트래픽이 증가하거나 감소하면 수동 개입 또는 가동 중지 시간 없이 컴퓨팅 리소스가 구성된 범위 내에서 확장 또는 축소됩니다.
주요 이점:
- 자동 조정: 리소스는 실제 수요에 따라 확장됩니다.
- 가동 중지 시간 없음: 구성된 범위 내에서 크기 조정은 연결을 중단하지 않고 발생합니다. 그러나 최소 또는 최대 CU 구성을 변경하면 잠시 중단될 수 있습니다.
- 비용 최적화: 실제로 사용하는 리소스에 대해서만 지불합니다.
- 성능 일관성: 트래픽 급증 시 응답성 성능을 유지합니다.
자세한 정보: 자동 크기 조정 | 자동 크기 조정 구성
0으로 크기 조정
데이터베이스가 유휴 상태이면 Lakebase는 컴퓨팅 리소스의 크기를 자동으로 0으로 줄이면 사용되지 않는 용량에 대한 비용을 제거할 수 있습니다. 활동이 재개되면 컴퓨팅 리소스가 자동으로 몇 초 안에 다시 확대됩니다.
주요 이점:
- 유휴 비용 0개: 데이터베이스가 비활성 상태일 때는 컴퓨팅 요금이 부과되지 않습니다.
- 즉시 재개: 액세스 시 데이터베이스가 자동으로 활성화됩니다.
- 개발 친화적: 간헐적인 사용이 있는 개발 및 스테이징 환경에 적합합니다.
- 자동 관리: 수동 개입이 필요하지 않습니다.
자세한 정보: 제로 규모 | 제로 규모로 구성하기
데이터베이스 분기
Lakebase의 데이터베이스 분기는 코드에 대한 Git 분기와 유사하게 작동합니다. 데이터를 복제하거나 프로덕션 환경에 영향을 주지 않고 개발, 테스트 또는 실험을 위해 격리된 즉시 분기를 만들 수 있습니다.
주요 이점:
- 즉시 만들기: 브랜치는 카피온라이트 기술을 사용하여 몇 초 만에 생성됩니다.
- 비용 효율적: 수정된 데이터만 별도로 저장되므로 스토리지 비용이 최소화됩니다.
- 격리된 환경: 주 데이터베이스에 영향을 주지 않고 변경 내용을 안전하게 테스트합니다.
- 공동 작업: 팀 구성원은 별도의 분기에서 동시에 작업할 수 있습니다.
컴퓨팅 및 엔드포인트
Lakebase 엔드포인트 는 애플리케이션이 데이터베이스에 도달하는 데 사용하는 안정적인 연결 지점입니다. 각 엔드포인트 뒤에는 하나 이상의 컴퓨팅 인스턴스가 쿼리 처리를 처리합니다. 컴퓨팅 리소스의 크기를 조정하거나 고가용성을 추가하는 경우에도 연결 문자열 동일하게 유지됩니다.
브랜치에는 보통 하나의 읽기-쓰기 엔드포인트(주 컴퓨트)가 있으며, 선택적으로 하나 이상의 읽기 전용 엔드포인트(읽기 복제본)가 있을 수 있습니다.
자세한 정보: 컴퓨팅 및 엔드포인트 | 컴퓨팅 관리
스토리지 아키텍처
Lakebase는 컴퓨팅과 분리된 분산 스토리지 계층에 데이터를 저장합니다. 스토리지는 영역 중복이며 컴퓨팅이 실행 중인지, 일시 중지되었는지 또는 장애 조치(failover)되는지 여부에 관계없이 컴퓨팅 상태와 독립적으로 유지됩니다. 이러한 스토리지 분리는 데이터 중복 없이 즉시 브랜치 생성, 읽기 복제본, 그리고 0까지 스케일링을 가능하게 합니다.
주요 이점:
- 고가용성 스토리지: Azure Databricks HA 컴퓨팅 설정과 독립적으로 고가용성 스토리지를 유지 관리합니다.
- 컴퓨팅 변경 내용을 통해 유지됩니다 . 스토리지는 컴퓨팅 오류, 일시 중지 또는 구성 변경을 통해 계속 사용할 수 있습니다.
- 분기 및 복제본을 위한 기초: 인스턴트 분기 만들기 및 읽기 복제본은 모두 동일한 스토리지 계층을 공유하는 여러 컴퓨팅 인스턴스를 사용합니다.
자세한 정보: 스토리지 아키텍처
고가용성
고가용성은 가용성 영역에 분산된 하나 이상의 보조 컴퓨팅 인스턴스와 기본 읽기/쓰기 컴퓨팅을 쌍으로 연결합니다. 주 복제본을 사용할 수 없게 되면 Lakebase는 자동으로 보조 복제본을 승격하여 애플리케이션이 마지막으로 커밋된 트랜잭션부터 계속 실행되도록 합니다. 연결 문자열은 전체 과정에서 변경되지 않은 상태로 유지됩니다. 스토리지는 이미 고가용성입니다. HA를 사용하도록 설정하면 자동 장애 조치(failover)에 대한 컴퓨팅 수준 중복성이 추가됩니다.
주요 이점:
- 자동 장애 조치: Lakebase는 수동 개입 없이 보조 컴퓨트 인스턴스를 승격합니다.
- 데이터 손실 없음: 장애 조치(failover)는 커밋된 모든 트랜잭션을 유지합니다.
- 안정적인 연결 문자열: 애플리케이션은 장애 조치(failover) 후 연결 구성을 변경할 필요가 없습니다.
읽기 복제본
읽기 복제본은 기본 읽기-쓰기 컴퓨팅과 동일한 데이터에 대해 읽기 작업을 수행하는 독립적인 읽기 전용 컴퓨팅입니다. 기존 복제본과 달리 Lakebase 읽기 복제본은 동일한 스토리지 계층에서 읽은 데이터를 복제하지 않으므로 즉시 생성되고 추가 스토리지 비용이 제거됩니다.
주요 이점:
- 수평 크기 조정: 여러 복제본에 읽기 요청을 배포합니다.
- 데이터 중복 없음: 모든 복제본은 동일한 스토리지에서 읽습니다.
- 즉시 만들기: 데이터 복사 없이 몇 초 안에 사용할 수 있습니다.
- 비용 효율적: 추가 스토리지 비용 및 자동 크기 조정 및 0까지의 지원은 없습니다.
함께 작업하는 방법
이러한 핵심 개념은 함께 작동하여 강력하고 유연한 데이터베이스 플랫폼을 만듭니다.
- 프로젝트는 모든 데이터베이스 리소스를 구성하고 Azure Databricks 작업 영역에 속합니다.
- 자동 크기 조정은 각 분기가 수요에 따라 적절한 양의 컴퓨팅을 갖도록 합니다.
- 0으로 확장하면 사용하지 않을 때 컴퓨팅을 일시 중단하여 유휴 분기의 비용을 줄일 수 있습니다.
- 데이터베이스 분기 를 사용하면 데이터를 복제하지 않고 개발 및 테스트를 위한 격리된 환경을 만들 수 있습니다.
- 컴퓨팅 및 엔드포인트는 인프라의 크기를 조정하거나 다시 구성할 때 안정적인 연결점을 제공합니다.
- 스토리지 아키텍처 는 컴퓨팅 상태와 관계없이 데이터 영역 중복 및 고가용성 상태를 유지합니다.
- 고가용성은 프로덕션 워크로드에 대한 가용성 영역에서 컴퓨팅 수준 중복성 및 자동 장애 조치(failover)를 추가합니다.
- 읽기 복제본은 추가 컴퓨팅 인스턴스에 읽기 트래픽을 분산합니다.
이 아키텍처를 사용하면 기존 데이터베이스 시스템보다 유연성과 비용 절감, 운영 오버헤드 감소로 데이터베이스 애플리케이션을 빌드하고 크기를 조정할 수 있습니다.