Skip to main content
QUICK REVIEW

[논문 리뷰] Towards a Polyglot Data Access Layer for a Low-Code Application Development Platform

Ana Nunes Alonso, João Abreu|arXiv (Cornell University)|2020. 04. 28.
Software System Performance and Reliability인용 수 4
한 줄 요약

이 논문은 OutSystems 저코드 플랫폼을 위한 다국어 데이터 액세스 레이어를 제안하며, 확장된 SQL 기반 쿼리 엔진과 내장 스크립트 조각을 통해 다양한 NoSQL 데이터 스토어를 원활하게 쿼리할 수 있도록 한다. PostgreSQL의 Foreign Data Wrappers를 활용하고 스키마 인스팩션, 쿼리 최적화, 네이티브 언어 오버라이드를 지원함으로써, 저코드의 단순성을 유지하면서도 NoSQL 기능을 완전히 활용할 수 있게 되었으며, NoSQL 전문 지식이 없이도 효율적이고 확장 가능하며 상호작용 가능한 데이터 액세스를 달성했다.

ABSTRACT

Low-code application development as proposed by the OutSystems Platform enables fast mobile and desktop application development and deployment. It hinges on visual development of the interface and business logic but also on easy integration with data stores and services while delivering robust applications that scale. Data integration increasingly means accessing a variety of NoSQL stores. Unfortunately, the diversity of data and processing models, that make them useful in the first place, is difficult to reconcile with the simplification of abstractions exposed to developers in a low-code platform. Moreover, NoSQL data stores also rely on a variety of general purpose and custom scripting languages as their main interfaces. In this paper we propose a polyglot data access layer for the OutSystems Platform that uses SQL with optional embedded script snippets to bridge the gap between low-code and full access to NoSQL stores. In detail, we characterize the challenges for integrating a variety of NoSQL data stores; we describe the architecture and proof-of-concept implementation; and evaluate it with a sample application.

연구 동기 및 목표

  • 다양한 NoSQL 쿼리 언어를 숙지할 필요 없이 저코드 플랫폼에 다양한 NoSQL 데이터 스토어를 통합하는 데 도전하는 것.
  • NoSQL 복잡성을 추상화하면서도 필요한 경우 고급 쿼리 기능에 완전히 접근할 수 있도록 저코드 경험을 유지하는 것.
  • 통합적이고 확장 가능한 쿼리 엔진을 통해 NoSQL 스토어에 대해 상호작용적이고 확장 가능하며 안전한 데이터 액세스를 가능하게 하는 것.
  • 확장된 SQL에 내장된 스크립트 조각을 사용하는 것이 저코드 추상화와 NoSQL 시스템 기능 사이의 격차를 메우는 데의 타당성과 효과성을 평가하는 것.

제안 방법

  • 다양한 NoSQL 데이터 모델을 최소한의 개념적 부담으로 표현하기 위해 중첩된 복합 유형(맵, 배열)을 사용하는 확장된 관계형 모델을 사용한다.
  • Foreign Data Wrappers를 기반으로 한 PostgreSQL 기반의 연합 쿼리 엔진이 여러 NoSQL 소스를 통합하여 크로스 스토어 쿼리와 최적화를 가능하게 한다.
  • 스키마 인스팩션은 통합 시점에 자동으로 수행되며, 복합 키나 사용자 정의 구조에 대해 선택적 수동 오버라이드가 가능하다.
  • NoSQL 시스템(예: MongoDB, Elasticsearch)의 네이티브 쿼리 조각을 SQL 쿼리 내에 통합하여 표준 SQL로 표현할 수 없는 고급 기능에 접근한다.
  • 쿼리 푸시다운 및 최적화를 지원하며, 예를 들어 MongoDB 파이프라인에서 $match를 사용함으로써 성능 향상과 데이터 전송 감소를 달성한다.
  • 물리적 뷰는 복잡하고 데이터 스토어에 특화된 액세스 경로를 캡슐화하여 재사용성과 네이티브 쿼리 로직 최적화를 가능하게 한다.

실험 결과

연구 질문

  • RQ1다양한 데이터 및 쿼리 모델을 가진 이질적인 NoSQL 데이터 스토어에 대해 저코드 플랫폼이 효율적이고 투명하게 통합될 수 있는 방법은 무엇인가?
  • RQ2내장된 스크립트 조각이 포함된 확장된 SQL 기반 쿼리 엔진이 저코드 추상화와 완전한 NoSQL 기능 사이의 격차를 어느 정도 메울 수 있는가?
  • RQ3스키마 인스팩션은 개발자 생산성 향상에 기여하면서도 성능과 유연성을 유지하는 데 어떤 역할을 하는가?
  • RQ4표준 SQL과 내장된 네이티브 쿼리 조각의 조합이 복잡하고 최적화된, 확장 가능한 데이터 액세스를 지원하는 데 얼마나 효과적인가?
  • RQ5다양한 추상화와 저수준 제어를 동시에 지원하는 다국어 데이터 액세스 레이어를 구축할 때의 주요 아키텍처 및 구현적 트레이드오프는 무엇인가?

주요 결과

  • 중첩 유형을 사용하는 확장된 관계형 모델은 대부분의 NoSQL 데이터 모델을 최소한의 개념적 또는 변환 부담으로 성공적으로 매핑하였다.
  • 스키마 인스팩션은 복합 키나 사용자 정의 구조에 대한 선택적 수동 오버라이드와 함께 사용될 경우 개발자 생산성 향상에 크게 기여하였다.
  • SQL 내에 네이티브 쿼리 조각을 통합함으로써 표준 SQL로 표현할 수 없는 고급 NoSQL 기능에 접근할 수 있었으며, 저코드 추상화를 깨뜨리지 않았다.
  • 표준 SQL 엔진에 연합 쿼리 기능과 스크립팅 계층을 결합한 방식은 쿼리 최적화 및 조합에 매우 효과적이었으며, 실무에서 커스터마이징된 쿼리 엔진보다 뛰어난 성능을 보였다.
  • 쿼리 푸시다운 최적화, 예를 들어 MongoDB 파이프라인에서 $match 연산을 푸시다운하는 것 등은 데이터 전송을 크게 줄이고 성능을 향상시켰다.
  • 물리적 뷰 대체 기능이 현재 프로토타입에서 누락되어 있음을 확인하였으며, 이는 복잡하고 데이터 스토어에 특화된 액세스 패턴을 캡슐화하고 재사용하는 데 이 기능의 중요성을 강조한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.