서버 측 SQL

쿼리 작업을 브라우저가 아니라 Postgres에 두세요.

Relpin은 타입이 지정된 필터, 정렬, 페이지네이션을 매개변수화되고 스키마가 명시된 SQL로 컴파일합니다. 런타임은 테넌트와 환경 범위를 확인한 뒤 앱이 요청한 작업 집합만 반환합니다.

data · tables DEV
assignments · dev 12 columns · 5 rows
Employee Project Status Alloc
Mina Alvarez Northwind Rollout ACTIVE 40%
Jonah Kim Atlas Migration ACTIVE 75%
Priya Nwosu Northwind Rollout PLANNED 30%
Lena Richter Mercury Support BLOCKED 55%

server-side SQL · statement + lock timeouts on every transaction

쿼리 문제

필터링 전에 데이터셋을 내려받으면 성장이 브라우저 문제로 바뀝니다.

클라이언트 측 평가는 전송량을 늘리고 화면에 필요하지 않은 데이터까지 노출하며 운영 테이블이 커질수록 느려집니다. 내부 도구에는 선택과 정렬을 데이터베이스 가까이에 두는 경로가 필요합니다.

쿼리 제어

제한된 요청을 범위가 지정된 SQL로 컴파일합니다.

Relpin은 쿼리 구성을 타입으로 제한하고 신뢰된 테넌트 범위와 운영 한도를 데이터베이스 트랜잭션 안에 적용합니다.

01

매개변수화 컴파일

타입이 지정된 필터와 값은 허용된 스키마 명시 식별자와 함께 매개변수화 SQL로 컴파일됩니다.

02

서버 측 작업 집합

필터, 정렬, limit, offset이 Postgres에서 실행되어 앱에는 필요한 페이지만 전달됩니다.

03

트랜잭션 가드레일

statement 및 lock timeout을 풀링된 세션 상태가 아니라 범위가 지정된 트랜잭션에 적용합니다.

실행 경로

정의하고, 범위를 정하고, 컴파일하고, 실행합니다.

앱의 쿼리 의도부터 반환되는 작업 집합까지 경로가 명확하게 유지됩니다.

  1. 01

    쿼리 정의

    앱 코드는 거버넌스 데이터 API를 통해 지원되는 필터, 정렬 필드, 페이지네이션, 선택 데이터를 전달합니다.

  2. 02

    신뢰된 범위 확인

    런타임은 요청을 검증된 조직 데이터베이스와 DEV, TEST 또는 PROD 스키마에 바인딩합니다.

  3. 03

    Postgres에서 실행

    Relpin은 매개변수화 SQL을 컴파일하고 트랜잭션 한도를 적용한 뒤 요청된 행만 반환합니다.

쿼리 근거
매개변수화된 값
스키마가 명시된 식별자
서버 측 필터와 정렬
트랜잭션 범위 timeout
쿼리 질문

서버 측 SQL 경로가 제공하는 것과 제공하지 않는 것.

앱 코드가 임의의 raw SQL을 실행할 수 있나요?

아니요. Relpin은 지원되는 타입 기반 쿼리 연산을 매개변수화 SQL로 컴파일합니다. 제한 없는 raw SQL 인터페이스를 제공한다고 주장하지 않습니다.

쿼리가 브라우저에서 평가되어야 하면 어떻게 되나요?

거버넌스 게시 경로는 클라이언트 평가가 필요한 지원 필터나 정렬 계획을 거부할 수 있어 해당 fallback이 프로덕션 릴리스에 들어가지 않게 합니다.

서버 측 SQL과 테넌트 격리는 같은 것인가요?

아니요. 테넌트 격리는 조직 데이터베이스와 환경 범위를 선택합니다. 서버 측 SQL은 그 경계 안에서 앱 쿼리를 컴파일하고 실행하는 방식을 통제합니다.

데이터 가까이에서 쿼리

전체 테이블이 아니라 필요한 작업 집합을 가져오는 운영 화면을 구축하세요.

쿼리 의도는 타입으로, 실행은 서버 측으로, 테넌트 범위는 명시적으로 유지합니다.