데이터베이스 확장, Stretch Database 완벽 이해하기
안녕하세요, 여러분. 오늘은 데이터베이스(DB)를 여러 측면에서 한층 개선해 줄 수 있는 간단하면서도 강력한 기능, Stretch Database(스트레치 데이터베이스)에 대해 알아보겠습니다.
Stretch Database란 무엇인가?
SQL Server 2016에서 도입된 이 기능은 온프레미스 데이터를 Azure 클라우드까지 확장(stretch)할 수 있게 해 줍니다. Stretch Database(줄여서 StretchDB)는 자주 조회되지 않는 콜드(cold) 데이터를 로컬 SQL Server®에서 Azure®로 아카이브하면서, 자주 액세스하는 웜(warm) 데이터는 로컬 SQL Server에 그대로 유지합니다. 과거 이력 데이터가 많고 접근 빈도가 낮은 환경이라면 StretchDB가 큰 도움이 됩니다.
Stretch DB가 주는 이점
- 손쉬운 콜드 데이터 마이그레이션: 온프레미스 데이터를 Azure SQL DB로 부담 없이 옮길 수 있어, 대부분의 쿼리가 웜 데이터를 대상으로 하게 되고 로컬 쿼리 성능이 자연스럽게 향상됩니다.
- 코딩 불필요: 데이터 마이그레이션을 위해 별도 코드를 작성할 필요가 없으므로 로컬 SQL Server에 추가 부담이 생기지 않습니다.
- 애플리케이션 변경 최소화: 아카이브된 데이터를 조회하기 위해 애플리케이션 코드를 수정할 필요가 없습니다.
- 비용 절감: 아카이브 데이터를 로컬보다 저렴한 비용으로 Azure에 저장할 수 있습니다.
- 빨라지는 유지 관리: 콜드 데이터를 아카이브하면 로컬 DB의 백업, 복원, 유지 관리 작업이 핫 데이터만 대상으로 하게 되어 소요 시간이 크게 줄어듭니다.
StretchDB 사용 방법
StretchDB를 실습하려면 다음 두 가지가 필요합니다.
- 로컬 SQL Server
- Azure 구독(subscription)
이번 데모에서는 AdventureWorks2016_EXT.bak 백업 파일을 내려받아 로컬 SQL Server에 복원했습니다. 샘플 파일은 Microsoft의 AdventureWorks 샘플 데이터베이스 페이지에서 내려받을 수 있습니다.
StretchDB용 테이블 구성 단계
- 마법사 실행: 로컬 SQL Server에 연결한 뒤, AdventureWorks2016_EXT 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 작업(Tasks) → Stretch → 사용(Enable)을 차례로 선택합니다.

- 테이블 선택: 아카이브할 테이블을 선택합니다. StretchDB를 지원하지 않는 테이블은 회색으로 비활성화되어 표시됩니다.

- Azure 로그인: 안내 창이 나타나면 Azure 계정에 로그인합니다.

- 구독 및 지역 선택: 로그인 후 데이터를 아카이브할 Azure 구독과 지역(region)을 지정합니다. 이 단계에서 생성되는 Azure SQL DB 자격 증명은 뒤에서 다시 사용하니 꼭 저장해 두세요.

- DMK 암호 입력: 데이터베이스 마스터 키(DMK) 암호를 설정합니다.

- 방화벽 규칙 생성: 원활한 통신을 위한 Azure 방화벽 규칙을 만듭니다.

- 요약 확인: 설정 요약을 검토한 뒤 마침(Finish)을 클릭합니다.

- 완료 확인: 정상적으로 완료되면 아래와 같은 화면이 표시됩니다. 생성된 로그에서 세부 정보를 함께 확인할 수 있습니다.

- 마이그레이션 결과 검증: 이제 Azure SQL DB로 이동한 데이터를 확인해 보겠습니다. 로컬 SSMS에서 일반 SQL Server에 접속하듯 Azure SQL DB에 연결하면 됩니다. 4단계에서 만든 자격 증명을 저장해 두었다면 연결 시 그대로 활용할 수 있습니다.

다음 이미지는 마이그레이션이 완료된 테이블의 모습입니다.

마무리
이처럼 아주 간단한 몇 단계만 거치면 쿼리 성능 향상과 스토리지 비용 절감이라는 두 가지 효과를 동시에 얻을 수 있습니다.
이 글이 도움이 되었는지 댓글로 알려주세요. 더 자세한 내용을 담은 후속 편을 원하시는 분들도 의견을 남겨 주시면 반영하겠습니다.
Rackspace Data Services에 대해 더 자세히 알아보세요.
Feedback 탭에서 의견을 남기거나 질문할 수 있으며, Sales Chat 버튼을 클릭하면 지금 바로 상담을 시작할 수 있습니다.
참고: Stretch Database는 SQL Server 2016에서 처음 도입된 기능으로, Microsoft는 이후 버전에서 이 기능을 더 이상 제공하지 않기로 발표했습니다. 신규 프로젝트에서는 장기 데이터 보관 전략을 세울 때 이 점을 함께 고려하시기 바랍니다.