자율 데이터베이스(Autonomous Database)란?

자율 데이터베이스란 머신러닝을 활용해 기존의 경우 데이터베이스 관리자(DBA)가 수행하던 데이터베이스 튜닝, 보안, 백업, 업데이트 및 기타 일상적인 관리 업무와 관련해 인력 투입을 없앤 클라우드 데이터베이스입니다.

Oracle Autonomous Database: 운영 방식

Oracle Autonomous Database: 운영 방법 영상 섬네일
비디오 보기 (11:00)

Oracle Autonomous Database는 수십 년 간의 데이터베이스 자동화, 자동화 데이터베이스 인프라의 역사와 클라우드 신기술을 한데 모아 완전 자동화된 데이터베이스를 선사합니다.

Oracle Autonomous Database는 자율 구동, 자율 보안, 자율 복구를 특징으로 합니다. 이것이 뜻하는 바가 무엇인지 하나씩 살펴봅시다.

자율 구동: Oracle Autonomous Database는 모든 데이터베이스 및 인프라 관리, 모니터링, 튜닝을 자동화합니다. 또한, 풀스택 관리자 비용을 줄여줍니다. 다만, 관리자들은 데이터 웨어하우스에 어플리케이션이 어떻게 연결되는지, 그리고 개발자들이 어플리케이션 코드 없이 어떻게 데이터베이스 내 기능을 활용하는지를 관리하는 등의 업무에는 계속 투입되어야 할 것입니다.

자율 보안: Oracle Autonomous Database는 외부 공격과 악의를 품은 내부 사용자로부터 고객의 비즈니스를 보호해주므로 패칭 또는 암호화가 되지 않은 데이터베이스에 대한 사이버공격을 더는 걱정하지 않아도 됩니다.

자율 복구: Oracle Autonomous Database는 계획되지 않은 유지관리를 포함해 모든 다운타임으로부터 비즈니스를 보호하며, 패칭을 포함해 매월 2.5분 이하의 다운타임을 보장합니다.

특히, 다음에 대한 완전하며 전반적인 자동화가 이루어집니다.

  • 프로비저닝
  • 보안
  • 업데이트
  • 가용성
  • 성능
  • 변화 관리
  • 에러

Oracle Autonomous Database와 함께라면 세계 최고의 데이터베이스를 아주 간편하게 활용할 수 있습니다.

엔터프라이즈 데이터베이스의 활용

엔터프라이즈 데이터베이스의 활용 영상 섬네일
비디오 보기 (0:58)

데이터베이스는 크리티컬한 비즈니스 정보를 저장하므로 오늘날 조직들의 효율적인 운영에 있어 중요한 요소입니다. 데이터베이스의 보안이 취약할 경우 기업은 위험 요소에 노출될 수 있습니다. 데이터베이스가 느리게 구동하거나 사용이 불가능할 경우 직원 생산성이 저해되어 고객들이 불편을 겪게 될 수 있습니다.

데이터베이스 관리 시스템에 저장된 정보는 고도로 구조화되거나 데이터가 비구조화될 수 있습니다. 데이터는 고객 및 직원이 직접 액세스 가능하거나 다른 엔터프라이즈 소프트웨어, 웹사이트 또는 모바일 앱을 통해 간접적으로 액세스할 수 있습니다.

데이터베이스 내 저장된 구조화된 정보 예시
  • 회계 기록
  • 고객 정보
  • 직원 정보
  • 유지관리 기록
  • 네트워크 트래픽 로그
  • 가격 책정 정보
  • 제품 재고
  • 영업 활동
  • 소셜 미디어 교류
  • 공급망 정보
데이터베이스 내 저장된 비구조화 정보 예시
  • 디지털 이미지, 음성, 영상 파일
  • 프로그래밍 소스 코드
  • 스프레드시트
  • 웹사이트 페이지
  • 문서 처리 문건
데이터베이스 내 정보를 보관 및 액세스하는 소프트웨어
  • 회계
  • 고객이 개발한 커스텀 엔터프라이즈 소프트웨어
  • 고객 관계 관리 (CRM)
  • 데이터 분석 및 비즈니스 인텔리전스 (BI)
  • 전사적 자원관리 (ERP)
  • 인적 자원 (HR) / 인적 자본 관리 (HCM)
  • 제품 수명 관리 (PLM)
  • 보안 및 로그 관리
  • 공급망 관리 (SCM)
  • 웹 서버

비즈니스 애플리케이션은 새로운 기록을 기존 데이터베이스에 추가하거나 데이터베이스 정보를 활용해 보고서 생성, 트렌드 분석 또는 변칙 탐색을 실시할 수 있습니다.

데이터베이스는 규모 면에서 테라바이트급으로 확장될 수 있으나, 데이터베이스가 지닌 복잡성 때문에 DBA가 기존처럼 데이터베이스를 관리 및 보호하고 최대 성능을 보장하기란 쉽지 않습니다.

데이터베이스 관리자의 역할

데이터베이스 관리자의 역할 영상 섬네일
비디오 보기 (0:49)

엔터프라이즈 데이터베이스는 기존의 경우 데이터베이스를 생성 및 수정하고 데이터베이스에 새로운 데이터를 보관하거나 이러한 데이터를 회수할 시에 최대 성능을 보장하도록 데이터베이스를 조정하는 데이터베이스 관리자 (DBA)에 의해 관리됩니다.

데이터베이스로부터 데이터를 회수하는 프로세스는 종종 애플리케이션의 복잡한 쿼리를 통해 시작되곤 합니다. 이러한 쿼리를 실행하는 데는 많은 양의 컴퓨팅 및 디스크 액세스 리소스가 소모됩니다. 이렇게 얻은 결과물은 다량의 데이터베이스 기록을 포함하기도 하는데, 이러한 경우 쿼리 실행 애플리케이션으로 다시 전송해야 합니다.

이러한 DBA의 업무에서 노동집약적이라 할 수 있는 부분은 데이터베이스를 조직해 최소한의 리소스만을 사용해 쿼리를 자주 그리고 최대한 빨리 실행할 수 있도록 해야 한다는 것입니다. 여기에는 데이터베이스 상에서 실행되는 쿼리의 종류를 연구하고 향상된 튜닝을 가능케 하는 패턴을 식별하는 작업이 요구됩니다. 성능 튜닝은 데이터베이스 유지관리의 한 부분입니다. 그리고 이와 관련된 작업 중 하나로는 데이터를 재구조화해 중복을 줄이고 데이터 무결성을 향상시키는 데이터 표준화가 있습니다.

DBA는 이외에도 매일 또는 정기적으로 모든 엔터프라이즈 데이터베이스 상에서 실행되어야만 하는 다양한 작업을 진행해야 할 책임을 지니는데, 이러한 작업은 적게는 수십 가지, 많게는 수백 가지에 달합니다. 여기에는 다음이 포함됩니다.

  • 재해 또는 데이터 손실에 대비한 데이터베이스 백업
  • 데이터베이스가 복구될 수 있는지 확인하기 위한 백업 테스트
  • 사건 발생 시 손실된 데이터 복구
  • 데이터베이스에 대한 부적절한 액세스가 없었음을 보장하기 위한 보안 로그 검토
  • 보안 알림, 패치, 업그레이드 관련 데이터베이스 소프트웨어 벤더 정보 피드 모니터링
  • 필요 시 패치 및 업데이트 일정 계획 및 적용
  • 위협에 대응해 데이터베이스 보안 설정 조정
  • 데이터베이스에 액세스할 수 있도록 신규 사용자 및 애플리케이션에 권한 부여
  • 데이터베이스 서버의 프로세서 및 메모리 활용 모니터링
  • 스키마(데이터 범주화) 생성 및 관리
  • 데이터베이스 관련 질문과 관련해 소프트웨어 개발자 어시스트
  • ETL (추출, 변환, 적재) 툴 관리
  • 데이터베이스 서버의 디스크 활용 모니터링
  • 필요 시 스토리지 추가 또는 스토리지 마이그레이션
  • 데이터베이스에 대한 향후 용량 관련 요구 조건 계획
  • 에러 및 그 외 데이터베이스 관련 문제 해결
  • 신규 애플리케이션 또는 모듈용 데이터 모델 정의를 위해 비즈니스 사용자 및 개발자와 협업

DBA의 업무가 과부하될 경우 인적 에러 발생으로 이어질 수 있습니다

일부 조사에 따르면 DBA 중 약 40%가 매일 50개 이상의 데이터베이스를 관리하는 것으로 나타났습니다. 반면, DBA 중 78%는 커리어를 이어가는 동안 계획되지 않은 다운타임을 경험할 때가 있다고 밝혔으며, 대부분의 경우 다수의 관리 및 백업 툴을 조정하는 데 어려움을 겪고 있다고 합니다.

또한, IT 예산 중 72%는 단순히 기존 정보 시스템을 유지관리하는 데 쓰이고 있어, 혁신을 위해 사용되는 예산은 28%에 불과합니다. 따라서 데이터베이스 유지관리에 필요한 노력을 줄이는 동시에 다운타임을 감소시키고 성능을 향상할 수 있길 원하는 니즈가 분명히 존재합니다.

현재의 워크로드는 DBA 측에서의 에러를 초래할 수 있으며,이러한 에러는 업타임, 성능, 보안에 대한 손실을 야기할 수 있습니다. 예를 들어, 패치 또는 보안 업데이트 적용에 실패할 경우 취약성을 가져올 수 있으나 패치를 올바르게 적용하지 못하는 경우에는 사실상 보안성 유지를 약화시키거나 아예 저해할 수도 있습니다.

뉴스에서 종종 보게 되는 에러들, 예를 들어 클라우드 데이터베이스가 암호 또는 암호화에 의해 보안이 되지 않는 상태로 남아 있다든지 해커에 의해 데이터를 도난당하는 경우는 거의 대부분이 항상 인적 에러에 의해 초래된 것들입니다.

자율 데이터베이스(Autonomous Database)의 목표

자율 데이터베이스(Autonomous Database)의 목표 영상 섬네일
비디오 보기 (0:37)

자율 데이터베이스는 세 가지의 중요한 목표점을 두고 있으며, 이는 아래와 같습니다.

  • 데이터베이스 최대 업타임 및 성능 보장
  • 패치 및 픽스 포함 데이터베이스 최대 보안 보장
  • 자동화로 에러에 취약한 수동 관리 작업 제거
  • DBA가 더 높은 수준의 기능에 대해 전문성을 펼칠 수 있도록 지원

자율 데이터베이스를 활용하는 DBA가 수행하는 일상 업무의 양을 줄임으로써 기업은 데이터 모델링, 데이터 아키텍처 관련 프로그래머 지원, 용량 계획 등 더 높은 비즈니스 가치를 생성하는 고수준의 업무로 DBA의 노력을 집중시킬 수 있습니다.

일부의 경우, 자율 데이터베이스는 기업들이 데이터베이스 관리에 필요한 DBA의 수를 줄이거나 더 전략적인 업무로 DBA를 배치시킴으로써 비용을 절약할 수 있도록 해줍니다.

클라우드 내 데이터베이스 기술

몇몇 기본적인 기술들은 일상적인 유지관리, 확장성, 보안, 데이터베이스 튜닝 및 그외 업무들을 DBA 없이도 처리할 수 있는 자율 운영 데이터베이스를 구현하는 데 꼭 필요합니다. 이는 특히 개발자에게 있어 이득이 될 수 있는 부분입니다.

  • 리소스 확대 또는 축소: 클라우드 기반 데이터베이스 서버는 필요 시 즉각적으로 컴퓨팅 및 메모리 리소스를 확장 또는 축소시킬 수 있습니다. 예를 들어, 한 고객 클라우드는 분기말 처리를 위해 8개의 데이터 베이스 컴퓨팅 코어에서 16개 코어로 확장된 뒤 다시 저렴한 8개 코어로 돌아갑니다. 비용 절감을 위해 주말 동안에는 모든 컴퓨팅 리소스를 닫고 월요일 오전에 다시 시작되도록 만들 수도 있습니다.
  • 데이터베이스 패칭: 대부분의 데이터에 대한 침입은 시스템 취약성으로 인해 발생하는데, 보안 또는 취약성 패치가 이미 가용하나 아직 적용되지는 않은 경우에 주로 발생합니다. 자율 데이터베이스 클라우드는 비즈니스 다운타임 방지를 위해 설계된 시퀀스 내에서 해당 클라우드 내 서버에 대해 패치를 작동시킴으로써 패치를 적용시킵니다.
  • 머신러닝: 자율 데이터베이스는 머신러닝 및 인공지능 기술을 십분 활용하는 모니터링, 관리 및 분석 역량을 통합합니다. 이러한 목표는 데이터베이스 튜닝 자동화, 애플리케이션 가동 중단 방지 및 전체 데이터베이스 애플리케이션에 대한 보안 강화를 위함입니다.

자율 데이터베이스의 머신러닝 및 인공지능 알고리즘에 의해 활용되는 기술은 완전한 셀프튜닝 데이터베이스를 제공할 수 있도록 쿼리 최적화, 자동 메모리 관리, 자동 스토리지 관리를 포함해야 합니다.

머신러닝 알고리즘은 침입자가 손해를 입히기 전에 로그된 데이터, 표시된 이상점, 변칙 패턴 등을 분석해 데이터베이스 보안성을 향상하도록 기업을 도울 수 있습니다. 머신러닝은 또한 시스템이 구동하고 있는 동안에 수동 조작 없이도 시스템 패치, 튜닝, 백업, 업그레이드를 자동으로 지속 수행할 수 있습니다. 이로써 데이터베이스 작동 또는 보안성에 타격을 줄 수 있는 인적 에러 또는 악의적인 행위가 발생할 가능성을 최소화할 수 있습니다.

클라우드 내 자율 데이터 웨어하우스(Autonomous Data Warehouse)

자율 데이터베이스 기술을 사용하기 위해서는 클라우드 서비스를 사용해 엔터프라이즈 데이터베이스를 클라우드 내에 보관해야 합니다. 클라우드 내에서 자율화를 이룰 경우 기업들은 클라우드 리소스를 십분 활용해 더 효율적으로 데이터베이스를 배포하고 데이터베이스 워크로드를 관리하며 데이터베이스를 보호할 수 있습니다. 데이터베이스 클라우드 서비스는 데이터베이스 역량이 필요할 때 온라인으로 이를 활용할 수 있게 합니다.

고객 데이터 센터에 존재하는 레거시 데이터베이스와 비교해 클라우드 데이터베이스 서비스가 지니는 이점은 다음과 같습니다.

신속성 데이터베이스와 데이터 웨어하우스를 수일, 수주가 아닌 단 몇분 만에 클라우드에 생성할 수 있습니다.
용이성 클라우드 데이터베이스를 완전 자동화로 설정할 수 있으며, 애플리케이션 프로그래밍 인터페이스(API)를 통해 클라우드 또는 온프레미스 애플리케이션으로 적시에 활용할 수 있습니다.
유연성 클라우드 데이터베이스는 다운타임 발생 없이 비즈니스 성장으로 인해 요구될 시에 신규 컴퓨팅 및/또는 스토리지 리소스를 독립적으로 추가할 수 있습니다. 또한, 이러한 리소스가 더 이상 필요치 않을 경우 동적으로 감소되어 비용을 절감할 수 있습니다.
보안성 클라우드 데이터베이스가 지니는 보안성은 다중레이어 컨트롤 및 우수 사례 구현으로 내부 및 외부에 존재하는 악영향으로부터 데이터베이스를 보호해줍니다.
규제 준수 클라우드 데이터베이스에 대한 액세스는 항상 모니터링되며 감사 및 컨트롤 용도로 기록됩니다.

자율 데이터베이스(Autonomous Database) 선택하기

다음의 기능은 조직들이 자율 데이터베이스 제품 선택 프로세스를 진행할 수 있도록 인도해줄 것입니다.

자동화 데이터베이스는 구동 중에 업그레이드, 패치 설치, 튜닝을 실시합니다. 또한, 다운타임 윈도우 없이 보안 업데이트가 설치됩니다.
고가용성 서비스 수준 협약서(SLA)는 비용이 드는 계획된, 계획되지 않은 다운타임이 연간 30분 미만으로 절감되는 최소 99.995%의 안정성과 가용성을 보장할 수 있어야 합니다.
자동보안 자율 데이터베이스는 모든 소프트웨어 패치 및 업데이트를 스스로 수행할 뿐만 아니라 무단 액세스로부터 데이터베이스가 보호됨을 보장해야 합니다. 또한, 이 과정에서 작동을 방해하거나 가용성에 영향을 미치지 않아야 합니다.
자동 데이터베이스 튜닝 이 기능은 데이터베이스가 적은 양의 컴퓨팅, 메모리, I/O 리소스만을 사용하며 쿼리 및 데이터 스토리지/회수 작동과 관련해 신속한 결과를 제공함을 보장합니다.