후안 로이자 오라클 총괄 부사장 "분산형과 중앙화 모두 지원"ㆍㆍㆍ"최신 앱 개발엔 오라클의 컨버지드 DB"


[테크수다 기자 도안구 eyeball@techsuda.com] "앱 개발 패러다임이 혁신을 주도합니다. 애플리케이션 개발을 간소화하고 가속화합니다. 하지만 이런 앱 개발 패러다임은 데이터베이스 아키텍처를 매우 복잡하게 만들 수 있습니다. 오라클은 분산화된 새로운 패러다임을 적극 지원하면서 동시에 중앙화된 환경도 모두 지원하는 컨버지드 데이터베이스를 제공하고 있습니다. 이 분야에서 오라클은 단연 최고입니다."


후안 로이자(Juan Loaiza) 오라클 미션 크리티컬 데이터베이스 테크놀로지 부문 총괄 부사장은 오라클 데이터베이스 월드(Oracle Database World) 2021 행사에서 '최신 앱 개발을 포함한 데이터베이스 아키턱처 재고(Rethinking)'라는 기조연설을 통해 변하는 시대에 맞게 오라클이 적극 대응하고 있다고 밝혔다.



그는 퍼블릭 클라우드와 온프레미스 모두에서 세계 최고의 트랜잭션 처리와 엔지니어링 시스템 기술에 대한 제품 전략, 제품 개발과 제품 관리를 주도하는 책임을 맡고 있다.


기조연설에서 그는 중앙화와 탈중앙화인 분산환경 모두를 지원하는 컨버지드 데이터베이스(Converged Database)를 통해 보다 효율적이고 일관적이며 위험을 줄이는 중앙 집중식 IT의 이점과 제품, 개발 방향과 기민성과 같은 성과가 이점인 탈중앙화(분산) 모두를 지원하고 있다고 강조했다.


분산형 IT는 성과를 보다 중시하며 신속한 솔루션 제공에 방점을 둔다. 따라서 작업 중복과 기술 증식 같이 소모되는 부분과 내재된 상충점을 완화하거나 최소화할 필요가 있다. 보안, 가용성, 품질 등에서 위험이 발생할 소지가 있다. 이런 위험을 대비하면서 동시에 고객이 상황에 맞게 선택할 수 있도록 데이터베이스 분야 왕국 오라클은 다양한 데이터베이스 제품군과 다양한 서비스를 보유하고 있다.


데이터마트, 데이터 레이크, 운영 보고와 배치 처리에 사용가능한 올인원 클라우드 기반 완전히 자동화된 데이터베이스 솔루션인 '오라클 자율운영 데이터베이스(Oracle Autonomous Database), 오라클 데이터베이스 21c(Oracle Database 21c) 같은 온프레미스와 클라우드 모두를 지원하는 전통 데이터베이스, 클라우드에서 데이터베이스 구축과 확장, 보안을 지원하는 오라클 데이터베이스 서비스(Oracle Database Service), 기업의 오라클 데이터베이스 성능, 확장성, 보안과 가용성을 개선하는 SW와 하드웨어가 결합된 풀스택 솔루션인 오라클 엑사데이터(Exadata), 오라클 엑사데이터의 성능과 데이터 센터에서 관리되는 데이터베이스 서비스의 단순성과 유연성, 경제성을 결합한 오라클 엑사데이터 클라우드앳커머스터(Oracle Exadata Cloud@customer), 오라클 데이터베이스를 실행하기 위한 고가용성, 고성능, 가장 안전한 아키텍터르 제공하는 '오라클 엑사데이터 클라우드 서비스', 데이터베이스 관리자와 앱 개발자가 MySQL 데이터베이스에서 직접 OLTP와 OLAP 워크로드를 실행할 수 있는 '오라클 마이SQL 데이터베이스 서비스', 유연한 트랜잭션 보장을 통해 문서, 열과 키 값 데이터 모델을 지원하는 주문형 처리량과 스토리지 기반 프로비저닝 기능을 제공하는 '오라클 NoSQL 데이터베이스 서비스' 등이다.


이런 데이터베이스는 최근 앱 개발 패러다임의 변화에 적극 대응해야 한다. 현대적인 클라우드 네이티브 앱에 대한 설계, 개발, 배포와 관리 등에 대해서 최신 기술들을 수용하고 고객들의 멀티 클라우드와 하이브리드 클라우드 전략에도 부응해야 한다.


데브옵스와 마이크로서비스, 쿠버네티스 같은 것들이 대표적인 앱 개발 패러다임을 대표하는 강력한 엔진들이다.


현대화된 앱 개발 패러다임은 애플리케이션 개발을 간소화하고 가속화하고 있다. 예를 들어 앱 배포 방법, 앱 설계 방법 간소화, 데이터 모델과 데이터 분석 사용 방식을 단순화 한다. 단순히 기술 변화만 가져오는 게 아니다. 기술 팀 구성 방식도 변화시킨다.



오라클은 중앙 집중식 아키텍처와 조직을 지원하는 데 최고의 데이터 기술 기업이다. 혼합 워크로드 통합, 폴트 톨로런트 가용성, 높은 보안, 투명한 확장, 포괄적 데이터 모델 지원과 강력한 분석 등의 기능이 이에 해당한다.


분산된 조직은 더 작고, 좀더 기민하고 팀에 집중하고, 엔드 투 엔드 솔루션을 보유하고 있다. 이런 움직임은 현대 앱 개발 기술에 의해 가능해졌다. 앱 개발 단순화 기술을 통해 기능별 IT팀은 데브옵스로 통합되고 제품별로 분산될 수 있다.


또 API와 이벤트 기반 앱 개발 기술을 통해 팀을 더욱 분산화함으로써 전체 애플리케이션이 아닌 제품별 마이크로 서비스에 집중할 수 있다.


데이터 메시(Data Mesh) 아키텍처 또한 분산화를 촉진한다. 데이터 메시는 분산 멀티 클라우드 환경에서 엔터프라이즈 데이터 자산을 통합하고 관리하는 데이터 아키텍처로, 데이터 제품 지향, 탈중앙처리, 이벤트 중심 세가지가 핵심 요소다. 데이터 통합 마이크로서비스와 연속 변환과 로딩, 이벤트 기반 데이터 처리 등에 활용될 수 있다.


앱과 앱 개발 팀이 분산됨에 따라 데이터도 분산되는 형태로 인해 주목을 받고 있다.


후안 로이자(Juan Loaiza) 총괄 부사장은 "분산화에는 구축과 운영에 필요한 간편한 기술이 요구됩니다. 분산 데이터베이스 아키텍처에서는 분산형 앱 개발이 혁신적으로 간소화되어 배포와 사용이 간편해집니다"라고 강조하면서 5가지 요소들을 소개했다.


첫번째는 컨테이너다. 컨테이너는 물리 시스템 대신 신속하고 경량화된 논리 시스템을 배포할 수 있어 배포가 단순해진다. 오라클은 데이터베이스 내부에서 컨테이너 개념을 구현했다. 개별 마이크로서비스를 위한 물리 데이터베이스를 배포하고 관리하는 대신 플러그인/아웃이 가능한 경향화된 플러거블 데이터베이스 컨테이너를 배포할 수 있다. 이를 통해 여러 개의 데이터베이스를 배포할 수 있고 많은 데이터베이스를 하나처럼 관리, 운영할 수 있다. 기민성을 위해 물리적인 데이터베이스간의 손쉬운 이동과 복제가 가능하다.


두번째는 도커 컨테이너 지원이다. 도커 컨테이너를 사용해 손쉽게 논리 데이터베이스의 기반이 되는 물리적 데이터베이스의 배치를 간소화할 수 있다. 오라클은 단일 인스턴스, RAC, 샤딩(Sharding)을 위한 사전 구축된 도커 컨테이너 이미지를 제공한다.


세번째는 쿠버네티스(Kubernetes)이다. 오라클은 데이터베이스 배포를 단순화하는 기능을 제공한다. 오라클 쿠버네티스 운영자는 플러그인/아웃이 가능한 컨테이너 데이터베이스를 통합 관리함으로 생성, 삭제, 복제, 크기 조정, 패치를 손쉽게 할 수 있다.


오라클 쿠버네티스 툴과 대시보드는 전체 앱을 모니터링하고 추적할 수 있다.


네번째는 엑사데이타 데이터베이스 서비스를 사용해 완전한 DBaaS(Database as a Service)를 제공하는 일이다. 엑사데이터 데이터베이스 플랫폼은 하드웨어에서 모든 데이터베이스 인프라를 자동화하고 최적화한다. 사용자 제어 데이터베이스 자동화, 유연한 확장, 사용량 기준 과금 기능을 제공한다. 고객이 이 인프라가 구축된 오라클 클라우드 인프라스트럭처(OCI)를 활용할 수 있고 동일하게 셋팅된 '클라우드앳커스터머'를 이용해 자체 데이터센터에 구축 후 활용할 수 있다.


마지막은 오라클이 오랫동안 강조해오고 있는 오라클 자율운영 데이터베이스다. 자율운영 데이터베이스는 머신러닝을 활용해 기존의 데이터베이스관리자(DBA)가 수행하던 데이터베이스 튜닝, 보안, 백업, 업데이트와 기타 일상 관리 업무를 자동화하는 클라우드 데이터베이스다. 사람의 개입없이 관련 작업을 수행한다.


데브옵스팀은 이런 관리 업무 대신 애플리케이션별 데이터 모델링, 보안, 성능에 집중할 수 있다. 또한 JSON 중심 워크로드의 경우 자율운영 JSON 데이터베이스를 사용할 수 있다. 따라서 단순화에 요구되는 큰 그림은 오라클의 분산 데이터베이스 아키텍처를 이용해 분산되어 있는 애플리케이션을 쉽게 배포하고 운영할 수 있다.


배포 이슈를 해결했다면 이제 분산형 앱을 쉽게 설계하는 방법을 찾아야 한다. 코딩 이벤트와 데이터 이벤트, API 기반 개발, 로우코드와 지리적 분산과 같은 분산형 앱 개발 기술을 쉽게 사용할 수 있다.


오라클은 최근 카프카(Kafka) 플랫폼 개발자 3명이 세웠던 콘플루언트(Confluent)와 협력한다고 밝혔다. 카프카는 링크드인이 개발한 것으로 웹사이트, 애플리케이션, 센서 등에서 취합한 데이터 스트림을 실시간으로 관리하기 위한 오픈소스 소프트웨어다. 다양한 대용량 데이터를 수집하고 이를 기업 사용자들이 실시간 스트림할 수 있도록 돕는다. 클라우드 사업자 뿐아니라 전통적인 IT벤더들도 꾸준히 이와 관련한 기능을 자사 제품에 통합해 제공하려고 노력해 왔다.


오라클은 콘플루언트의 커넥터를 사용해 카프카와 오라클의 TEQ(Transactional Event Queues)간에 이기종 이벤트를 전달할 수 있도록 했다. 오라클 TEQ는 분산형 앱 개발을 훨씬 간소화하고 변경된 데이터와 통합된 트랜잭션을 기반으로 이벤트를 발생 혹은 처리할 수 있다. 초당 수백만 건 이상의 이벤트를 처리할 수 있는 확장 아키텍처인데 콘플루언트와 협력으로 수많은 실시간 스트림도 문제없이 처리할 수 있게 했다.


데이터 이벤트의 경우에는 오라클 골든게이트가 여전히 담당한다. 마이크로서비스와 애플리케이션, 멀티클라우드를 이용하는 고객이 퍼블릭클라우드 간, 운영과 분석 시스템 간에 자동으로 실시간 이벤트를 게시하고 처리할 수 있다. 데이터 메시 또한 사용할 수 있다.  분산형 앱에서 사용하는 REST API 통신의 경우 오라클 REST 데이터 서비스를 통해 어떤 SQL 구문이나 저장된 프로시저를 활용해 REST API를 자동으로 생성해 오픈 API, OAuth, 페이지 매김, 필터링, 현업 업무와 연결 풀링을 지원한다.


최신 앱 개발 동향에서 로우 코드도 빼놓을 수 없다.


오라클은 APEX 무료 코우 코드 IDE를 이용해 애플리케이션 개발의 분산화를 적극 지원한다. 오라클 APEX 애플리케이션 개발은 오라클 클라우드에서 최신 데이터 기반 애플리케이션을 구축하고 배포하기 위한 완전 관리형 로우 코드 애플리케이션 개발 플랫폼이다. 오라클 측은 비즈니스 사용자와 애플리케이션 개발자는 복잡한 웹 기술을 배우지 않고도 직접 코딩 대비 38배 빠르게 엔터프라이즈 앱을 개발할 수 있다고 강조해왔다.


APEX는 앱 계층과 데이터 계층을 통합해 코딩과 중간 계층 관리의 어려움을 제거하고 민첩성을 향상시켰다. 앱 계층 상태, 접속 관리, 앱 유형을 자료형에 매핑하는 자잘한 걱정거리가 필요없도록 했다. 이를 통해 각 산업 분야 도메인 전문가가 자체 앱 또는 데이터 메시 제품 제작을 할 수 있다.


그는 "고객들은 이미 200만개 이상의 APEX 앱을 보유하고 있고, 하루에 3000개 이상의 APEX 앱을 개발하고 있다"고 전했다.


오라클 네이티브 샤딩을 통해 리지걱 데이터 분포와 대규모 확장을 제공한다. 중앙 집중화된 데이터베이스를 작은 분산 데이터베이스 팜으로 분리할 수 있기 때문이다. 데이터 주권을 충족하기 위해 이 샤드들을 서로 다른 국가에 배치할 수 있다. 서로 완전히 격리되어 데이터와 사용자 모두에게 선형적인 확장성을 제공한다.


마이크로서비스 아키텍처도 빼놓을 수 없는 요소다. 앱 개발과 운영을 획기적으로 단순화해 분산된 소규모 팀이 최신 데이터 유형과 워크로드를 사용할 수 있도록 했다. 따라서 전체적인 구조는 마이크로서비스를 위한 단일 목적의 데이터 저장소에 의해 유발된 복잡성을 제한함으로써 컨버지드 데이터베이스가 분산형 앱 개발을 극적으로 간소화했다.


전통적인 아키텍처의 전자상거래 사이트의 경우 응용 프로그램들은 하나의 모놀로식 데이터베이스에 대해 실행되는 단일 모놀리식 응용 프로그램을 사용해 구축되었다. 하지만 마이크로서비스 아키첵터는 기존 전통 구조와는 매우 다르다.



앱 아키텍처와 데이터베이스 아키텍처는 완전히 탈중앙화되어 있다. 이 애플리케이션은 5개의 마이크로서비스로 구분된다. 추천, 카달로그, 주문, 배송, 리포팅으로 각 마이크로서비스는 워크로드 간에 데이터 모델에 하나씩 다수의 단일 용도의 데이터베이스를 사용한다. 비동기 코딩 이벤트는 마이크로서비스를 포괄하는 앱 로직 또는 작업을 구현하는데 사용된다.


오라클은 마이크로서비스 내의 여러 단일 목적의 데이터베이스를 단일 컨버지드 데이터베이스로 교체해 이를 지원한다. 단일 데이터 저장소를 사용하는 마이크로서비스를 튜닝, 보호, 확장 및 해결하는 전체를 수정하는 것보다 훨씬 쉽기 때문이다. 플로거블한 데이터베이스를 사용해 데이터베이스를 더 적은 수의 물리적인 데이터베이스로 컨테이너화할 수 있다. 그럼 수많은 데이터베이스를 하나의 데이터베이스처럼 관리할 수 있다.


쿠버네티스 오퍼레이터를 사용해 플러거블 데이터베이스 작업을 통합 관리할 수 있다.


후안 로이자(Juan Loaiza) 오라클 미션 크리티컬 데이터베이스 테크놀로지 부문 총괄 부사장은 "최신 패러다임은 앱 개발 과정을 간소화하고 속도를 향상시키며 앱과 개발 팀의 분산을 촉진하고 있습니다. 그러나 이처럼 분산된 앱 개발은 데이터베이스 아키텍처를 복잡하게 만듭니다. 오라클의 전략은 데이터베이스 아키텍처를 다시 살펴보고 중앙집중형과 분산형 앱 개발 과정을 모두 지원함으로써 중앙집중형 모델에는 민첩성을 선사하고 분산형 모델에서는 복잡성, 불필요한 작업, 위험 요소를 제거합니다. 우리가 이를 실행하는 방법은 단순화된 앱, 단순화된 앱 아키텍처, 단순화된 앱 모델과 데이터 분석입니다"라고 기조 연설을 마쳤다.


[Techsuda 테크수다]