앱을 실행하고, 데이터를 동기화하고, Databricks에 모든 것 을 배포하세요
작성자: 파스칼 포겔, 에반 판디아 , 크리스토퍼 프라이스
프로덕션용 데이터 애플리케이션을 구축하는 것은 복잡합니다. 앱을 호스팅하고, 데이터베이스를 관리하고, 시스템 간에 데이터를 이동하려면 별도의 도구가 필요한 경우가 많습니다. 각 레이어는 설정, 유지 관리, 배포 오버헤드를 추가합니다.
Databricks는 모든 것을 단일 플랫폼인 Databricks Data Intelligence Platform으로 통합하여 이 과정을 단순화합니다. Databricks Apps 는 serverless compute에서 웹 애플리케이션을 실행합니다. 레이크베이스 는 Unity Catalog와 동기화되는 관리형 Postgres 데이터베이스를 제공하여 앱이 거버넌스가 적용된 데이터에 빠르게 액세스할 수 있도록 합니다. 또한 Databricks Asset Bundles(DABs)를 사용하면 코드, 인프라, 데이터 파이프라인을 함께 패키지하여 단일 명령으로 배포할 수 있습니다.
이 블로그에서는 Unity Catalog 데이터를 레이크베이스에 동기화하고, Databricks에서 웹 앱을 실행하며, 자산 Bundles로 배포를 자동화하는 이 세 가지 요소가 함께 작동하여 실제 데이터 애플리케이션을 빌드하고 배포하는 방법을 보여줍니다.
레이크베이스 동기화 테이블에서 읽어오고 Unity Catalog Delta 테이블의 데이터가 몇 초 내에 자동으로 업데이트되는 React 및 FastAPI 애플리케이션인 택시 주행 애플리케이션을 통해 전체 패턴을 살펴보겠습니다.
다음 다이어그램은 솔루션 아キ텍처를 간략하게 보여줍니다.

개략적으로 Databricks Apps는 사용자가 데이터를 탐색하고 시각화하는 프런트엔드 역할을 합니다. 레이크베이스는 앱이 query하는 Postgres 데이터베이스를 제공하며, 동기화된 테이블을 통해 Unity Catalog의 라이브 데이터와 가깝게 유지됩니다. Databricks 자산 Bundles는 모든 리소스(앱, 데이터베이스, 데이터 동기화)를 버전 제어되는 하나의 단위로 정의하고 배포하여 모든 것을 하나로 묶습니다.
주요 솔루션 구성 요소: