많은 조직들이 Lakehouse 아키텍처를 채택하면서, 오라클과 같은 기존의 데이터 웨어하우스에서 Databricks와 같은 현대적인 플랫폼으로 이전하는 것이 일반적인 우선 순위가 되 었습니다. 이점 - 더 나은 확장성, 성능, 비용 효율성 - 은 명확하지만, 그곳에 도달하는 경로는 항상 명확하지 않습니다.
이 게시물에서는 Oracle에서 Databricks로의 이전을 진행하는 데 있어 실질적인 전략을 공유하며, 일반적인 함정을 피하는 팁과 프로젝트를 장기적으로 성공으로 이끌기 위한 설정에 대해 이야기하겠습니다.
마이그레이션 전략을 논의하기 전에, Oracle과 Databricks 사이의 핵심 차이를 이해하는 것이 중요합니다 - 기술뿐만 아니라 구조적 차이에서도 말입니다.
Oracle 데이터 웨어하우스는 구조화된 트랜잭션 작업량에 최적화된 전통적인 관계형 모델을 따릅니다. Databricks는 사용하는 데이터 모델에 관계없이 데이터 웨어하우스 워크로드를 호스팅하는 데 완벽한 솔루션으로, Oracle과 같은 다른 데이터베이스 관리 시스템과 유사합니다. 반면에, Databricks는 데이터 레이크의 유연성과 데이터 웨어하우스의 성능 및 신뢰성을 결합한 레이크하우스 아키텍처를 기반으로 구축되었습니다.
이러한 변화는 데이터가 저장, 처리, 접근되는 방식을 바꾸지만, 완전히 새로운 가능성을 열어줍니다. Databricks를 사용하면 조직은 다음을 수행할 수 있습니다:
두 플랫폼 모두 SQL을 지원하지만, 문법, 내장 함수, 쿼리 최적화 방식 등에 차이가 있습니다. 이러한 차이점들은 호환성과 성능을 보장하기 위해 이전 과정에서 처리해야 합니다.
Oracle은 행 기반, 수직적으로 확장된 아키텍처를 사용합니다(Real Application Clusters를 통한 제한적인 수평 확장 포함). 반면에 Databricks는 Apache Spark™의 분산 모델을 사용하며, 이는 대규모 데이터셋에서 수평 및 수직 확장을 모두 지원합니다.
Databricks는 또한 Delta Lake 및 Apache Iceberg와 같은 고성능, 대규모 분석에 최적화된 컬럼 기반 저장 형식과 원활하게 작동합니다. 이러한 형식은 ACID 트랜잭션, 스키마 진화, 시간 여행과 같은 기능을 지원하며, 이는 탄력적이고 확장 가능한 파이프라인을 구축하는 데 중요합니다.
소스 시스템에 관계없이, 성공적인 마이그레이션은 몇 가지 중요한 단계로 시작됩니다:
성공적인 데이터 이전은 플랫폼 간의 기술적 차이와 데이터 자산의 독특한 특성을 모두 해결하는 신중한 접근 방식을 필요로 합니다. 다음 전략들은 Databricks의 아키텍처의 이점을 최대화하면서 효율적인 마이그레이션 프로세스를 계획하고 실행하는 데 도움이 될 것입니다.
Oracle 스키마를 Databricks에 대한 설계를 재고하지 않고 직접 복사하는 것을 피하십시오. 예를 들어, Oracle의 NUMBER 데이터 유형은 Databricks가 허용하는 것보다 더 큰 정밀도를 지원합니다(최대 정밀도 및 스케일 38). 이런 경우에는 정확한 일치를 유지하려고 시도하는 대신 DOUBLE 유형을 사용하는 것이 더 적절할 수 있습니다.
스키마를 신중하게 변환하면 호환성을 보장하고 성능 또는 데이터 정확성 문제를 피할 수 있습니다.
자세한 내용은 Oracle에서 Databricks로의 마이그레이션 가이드 를 확인하십시오.
Oracle 이전은 종종 데이터를 온프레미스 데이터베이스에서 Databricks로 이동하는 것을 포함하며, 여기서 대역폭과 추출 시간이 병목 현상이 될 수 있습니다. 추출 전략은 데이터 볼륨, 업데이트 빈도, 다운타임에 대한 허용도와 일치해야 합니다.
일반적인 옵션은 다음과 같습니다:
올바른 도구를 선택하는 것은 데이터 크기, 연결성 제한, 그리고 복구 필요성에 따라 달라집니다.
마이그레이션된 데이터는 종종 Databricks에서 잘 작동하도록 재구성해야 합니다. 이것은 데이터가 어떻게 파티션되는지에 대해 다시 생각하는 것으로 시작됩니다.
만약 당신의 Oracle 데이터 웨어하우스가 정적이거나 불균형한 파티션을 사용했다면, 그 전략들이 잘 적용되지 않을 수 있습니다. 쿼리 패턴을 분석하고 파티션을 그에 따라 재구성합니다. Databricks는 성능 향상을 위한 여러 기법을 제공합니다:
추가로:
예를 들어, 데이터 분포가 불균형한 거래 날짜를 기반으로 한 파티셔닝은 Automatic Liquid Clustering을 사용하여 재조정할 수 있으며, 이는 시간 기반 쿼리의 성능을 향상시킵니다.
Databricks의 처리 모델을 염두에 두고 설계하면 작업 부하가 효율적으로 확장되고 이전 후에도 유지 관리가 가능합니다.
데이터 이전은 전환의 기초를 형성하지만, 애플리케이션 로직과 SQL 코드를 이동하는 것은 Oracle에서 Databricks로의 이전에서 가장 복잡한 측면 중 하나를 나타냅니다. 이 과정은 구문을 번역하고 Databricks의 분산 처리 모델에 맞는 다른 프로그래밍 패러다임과 최적화 기법에 적응하는 것을 포함합니다.
구조화된 접근법을 사용하여 Oracle SQL을 Databricks SQL로 변환합니다. 자동화 도구인 BladeBridge (이제 Databricks의 일부)는 코드 복잡성을 분석하고 대량 번역을 수행할 수 있습니다. 코드베이스에 따라, 일반적인 변환률은 약 75% 또는 더 높습니다.
이러한 도구들은 수동 작업을 줄이고 이전 후 재작업이나 아키텍처 변경이 필요한 영역을 식별하는 데 도움이 됩니다.
Oracle PL/SQL 구조체에 대한 정확한 일대일 대체를 찾으려고 시도하는 것을 피하십시오. DBMS_X, UTL_X, 그리고 CTX_X 는 Databricks에 존재하지 않으며, 플랫폼에 맞게 로직을 다시 작성해야 합니다.
다음과 같은 공통 구조체에 대해:
Databricks는 이제 SQL Scripting을 제공하며, 이는 노트북에서 절차적 SQL을 지원합니다. 또는, 이러한 워크플로우를 Python 또는 Scala 로 변환하여 Databricks Workflows 또는 DLT pipelines에서 사용하는 것을 고려해 보십시오. 이들은 분산 처리와의 통합을 더욱 쉽게 해주는 더 큰 유연성을 제공합니다.
BladeBridge는 이 로직을 Databricks SQL 또는 PySpark 노트북으로 번역하는 데 도움을 줄 수 있습니다.
Databricks는 기존 Oracle ETL을 단순화하는 ETL 프로세스를 구축하기 위한 여러 가지 접근법을 제공합니다.
이 옵션들은 팀이 현대적인 데이터 엔지니어링 패턴에 맞추면서 마이그레이션 후의 ETL을 리팩토링하고 운영하는 데 유연성을 제공합니다.
사용 사례가 마이그레이션된 후에는, 기술적으로나 기능적으로 모든 것이 예상대로 작동하는지 확인하는 것이 중요합니다.
검증 후, 실제 작업량에 기반하여 환경을 평가하고 미세 조정합니다. 주요 영역은 다음과 같습니다:
성공적인 이전은 기술적 구현으로 끝나지 않습니다. 팀이 새로운 플랫폼을 효과적으로 사용할 수 있도록 하는 것이 마찬가지로 중요합니다.
Oracle에서 Databricks로의 마이그레이션은 단순히 플랫폼을 바꾸는 것이 아니라, 데이터가 관리, 처리, 소비되는 방식에 대한 변화입니다.
철저한 계획, 단계적 실행, 기술 팀과 비즈니스 이해관계자 간의 긴밀한 협력은 위험을 줄이고 원활한 전환을 보장하는 데 필수적입니다.
동등하게 중요한 것은 조직을 다르게 작동하도록 준비하는 것입니다: 새로운 도구, 새로운 프로세스, 그리고 분석이나 AI에 대한 새로운 마인드셋을 채택하는 것입니다. 구현과 적용에 균형있게 초점을 맞춤으로써, 귀하의 팀은 현대적인 레이크하우스 아키텍처의 전체 가치를 활용할 수 있습니다.
이전은 거의 항상 간단하지 않습 니다. 타협, 지연, 예상치 못한 도전은 프로세스의 일부이며, 특히 사람, 프로세스, 기술을 조정할 때 그렇습니다.
그래서 이전에 이 작업을 수행한 팀과 함께 작업하는 것이 중요합니다. Databricks Professional Services와 우리의 인증된 이전 파트너들 은 시간 내에 고품질의 이전을 대규모로 제공하는 데 깊은 경험을 가지고 있습니다. 이전 평가를 시작하려면 저희에게 연락하십시오.
더 많은 지침이 필요하신가요? 실질적인 단계, 도구에 대한 통찰력, 계획 템플릿을 돕기 위해 Oracle에서 Databricks로의 마이그레이션 가이드 를 전체 다운로드하십시오.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)