데이터 쿼리 지원 및 관리 | Mendix 평가 가이드

메인 컨텐츠로 가기

데이터 쿼리 및 관리

어떤 쿼리 언어가 Mendix 지원하다?

Mendix 검색하려는 데이터를 지정하는 다양한 방법을 제공합니다.

  • Mendix Studio Pro는 표현식 편집기를 통해 쿼리 요구 사항을 지정하는 시각적 방법을 제공합니다.
  • 특정 개체 또는 관련 개체 집합을 검색하려면 XPath 표현식을 사용할 수 있습니다.
  • 여러 엔터티를 단일 결과 세트로 집계하고 결합하는 것이 중요한 보고 요구 사항의 경우 Mendix OQL 쿼리를 제공합니다
  • 애플리케이션 데이터베이스에서 SQL 쿼리를 사용하려면 Java API를 사용할 수 있습니다.
  • 다른 애플리케이션이나 데이터 분석 도구와 데이터를 공유하려면 Mendix 도메인 모델의 엔터티에 대한 OData에 대한 기본 지원 제공

자세한 내용은 아래 섹션에서 확인할 수 있습니다.

xpath

XPath는 특정 객체를 검색할 수 있는 사용하기 쉬운 쿼리 언어입니다. 이를 사용하여 페이지에 표시하거나 편집하려는 객체를 가져오고 마이크로플로를 통해 이러한 객체를 수정할 수 있습니다.

XPath를 사용하면 관심 있는 객체를 필터링하는 표현식을 정의하고, 연관 관계를 사용하여 관련 객체를 검색하고 필터링할 수 있습니다. XPath 필터를 직접 작성하여 완벽하게 제어할 수도 있고, 시각적 XPath 빌더를 사용하여 XPath 필터 생성 과정을 간소화할 수도 있습니다.

XPath는 엔터티에 대해 정의한 모든 액세스 규칙이 자동으로 적용되도록 합니다.

자세한 내용은 다음을 참조하세요. xpath 인간을 Mendix 스튜디오 프로 가이드.

OQL

따라서 Mendix Object Query Language(OQL)는 SQL에 기반한 관계형 쿼리 언어입니다. SQL에 비해 OQL의 가장 큰 장점은 OQL이 실제 데이터베이스 테이블 이름 대신 모델에서 사용된 엔터티 및 연관 이름을 사용한다는 것입니다.

뷰 엔터티는 영구 엔터티를 사용할 수 있는 곳이라면 어디에서나 사용할 수 있는 OQL 쿼리입니다. 즉, OQL 쿼리를 위젯의 소스로 쉽게 사용할 수 있습니다. 데이터 그리드의 경우 필터링, 정렬, 페이지 매김 등 위젯의 모든 기본 기능이 뷰 엔터티에서 사용되는 OQL 쿼리에 자동으로 적용됩니다. 따라서 OQL 쿼리를 페이지, 차트 및 API의 소스로 쉽게 사용할 수 있습니다. 뷰 엔터티에서 사용되는 OQL 쿼리는 Studio Pro에서 테스트하여 개발 속도를 높일 수 있습니다.

OQL은 미리 정의된 관계(연결)를 사용하여 어떤 열을 결합해야 하는지 계산하지 않고도 객체를 쉽게 결합할 수 있습니다. 이러한 차이점에도 불구하고 많은 SQL 키워드도 OQL에서 작동합니다.

OQL은 특정 속성을 그룹화하는 동안 집계 함수가 필요한 보고에 사용할 수 있습니다. 또한 OQL은 페이지 및 차트를 위한 더 복잡한 데이터 준비에도 사용됩니다. OQL은 REST 및 OData REST API를 기본 도메인 모델에서 분리하는 데에도 도움이 됩니다. OQL의 또 다른 일반적인 사용 사례는 수동으로 정의해야 하는 사용자 지정 보안 표현식을 정의하는 것입니다.

더 자세한 내용은 OQL 인간을 Mendix 스튜디오 프로 가이드.

SQL

모든 애플리케이션 데이터는 관계형 데이터베이스에 저장됩니다. Mendix Cloud, 이건 PostgreSQL이지만, 배포 환경에 따라 다른 옵션도 있습니다.

Mendix 기본 관계 데이터베이스와 직접 상호 작용할 수 있는 Java API를 제공합니다. Mendix Java API, Java JDBC를 사용하여 SQL 쿼리를 실행하고 저장 프로시저를 실행할 수 있습니다. 이는 데이터를 사용하는 매우 강력한 방법을 제공하지만 관계형 데이터베이스 시스템과 SQL에 대한 이해가 필요합니다. 데이터베이스 공급업체별 확장을 사용할 수 있지만 이렇게 하면 다른 데이터베이스로의 애플리케이션 이식성이 제한됩니다.

JDBC API에 액세스하는 방법에 대한 자세한 내용은 다음을 참조하세요. Mendix참조 데이터 저장소.실행연결.

오데이터

OData는 REST 프로토콜 위에 일반 데이터 액세스 및 쿼리 인터페이스를 제공합니다. 이를 통해 광범위한 타사 도구를 사용하여 제어된 방식으로 데이터에 액세스할 수 있습니다. 이러한 도구에는 LINQPad와 같은 기본 쿼리 도구, MS-Excel과 같은 스프레드시트, PowerBI 및 R과 같은 비즈니스 인텔리전스 및 분석 도구가 포함됩니다. OData를 통해 액세스를 제공함으로써 데이터에 정의되어 처리되는 모든 검증 및 보안 제약 조건이 Mendix 런타임은 적용이 보장됩니다. 즉, OData는 외부 당사자에게 데이터에 대한 액세스를 제공하는 안전하고 보안된 방법이라는 의미입니다.

정의한 OData API Mendix 데이터 읽기와 업데이트 모두 지원할 수 있습니다. 주요 REST 작업인 GET, PUT, POST, DELETE가 지원됩니다. 애플리케이션 데이터베이스에서 데이터가 변경되기 전에 데이터의 올바른 유효성 검사를 보장하기 위해 각 작업을 처리하는 사용자 지정 로직을 제공할 수 있습니다.

사용자가 미리 정의된 쿼리를 통해 데이터에 액세스할 수 있도록 하려면 뷰 엔터티를 OData REST API로 노출할 수도 있습니다. 이렇게 하면 OData REST API를 기본 데이터 모델에서 분리할 수 있으므로 데이터베이스를 지속적으로 발전시키는 동시에 OData API의 안정성을 확보할 수 있다는 큰 이점이 있습니다.

OData API는 미리 정의된 로직을 통해 API 사용자가 데이터에 액세스하도록 하려는 경우 OData 작업으로 마이크로플로우 로직을 노출할 수도 있습니다.

OData 사용에 대한 자세한 내용은 다음과 같습니다. Mendix,를 참조하십시오 데이터를 통찰력으로 전환 Mendix 오데이터 지원   R을 사용하여 데이터에서 통찰력 얻기 Mendix 어플리케이션 블로그 게시물.

내 쿼리를 어떻게 최적화할 수 있나요?

따라서 Mendix 플랫폼은 기본적으로 많은 최적화를 제공합니다. 예를 들어, XPath를 통해 페이지의 데이터를 검색할 때, Mendix 페이지에서 사용된 모든 관련 정보를 한 번에 자동으로 검색합니다. 이를 위해 스키마라는 개념이 사용됩니다. 스키마는 데이터 검색 구성 요소에 데이터베이스에서 특정 개체 집합을 검색할 뿐만 아니라 결과에 특정 연관된 엔터티도 포함하도록 지시합니다.

최적화된 쿼리 외에도 Mendix 또한 쿼리의 필요성을 피하기 위해 최적화합니다. 예를 들어, 객체가 캐시되고 여러 페이지를 통해 재사용되는 웹 클라이언트에서 이 작업을 수행합니다. 또 다른 최적화는 Mendix 런타임은 페이지 구조에 대한 지식을 활용하여 객체를 런타임에서 클라이언트로 전송해야 하는지 여부를 결정합니다.

더 많은 제어가 필요한 경우 뷰 엔터티와 OQL 쿼리를 사용하여 최적화된 특정 쿼리를 제공할 수 있습니다. 뷰 엔터티는 많은 경우 영구 엔터티를 즉시 대체할 수 있으므로, 특정 페이지나 위젯에 대한 뷰 엔터티를 생성하고 영구 엔터티를 뷰 엔터티로 쉽게 교체할 수 있습니다. 뷰 엔터티는 여러 테이블에서 데이터를 추출하고 데이터베이스 최적화 도구를 활용하여 이러한 쿼리를 최적화하려는 경우 특히 유용합니다.

이러한 기본 최적화 외에도 쿼리를 최적화하기 위해 취할 수 있는 여러 단계가 있습니다.

  • 필요한 것만 검색하세요그리고 쿼리에 필요하지 않은 속성이나 개체가 포함되지 않았는지 확인하십시오.
  • 당신이 가지고 있는지 확인하십시오 색인 다음에 대해:
    • 정기적으로 열 검색된 또는 필터링됨
    • 사용되는 열 정렬

어떤 경우에는 특히 많은 수의 객체가 있는 경우 데이터베이스별 인덱스를 사용하는 것이 도움이 될 수 있습니다. 위에서 설명한 대로 JDBC API를 통해 이를 만들 수 있습니다. SQL.

기존 데이터베이스에서 데이터를 어떻게 마이그레이션할 수 있나요?

기존의 비데이터를 사용하고 싶을 수도 있습니다.Mendix 새로운 응용 프로그램 Mendix 응용 프로그램. 한 번만 마이그레이션해야 하는 경우 Mendix 앱에서는 아래 설명된 옵션을 사용할 수 있습니다.

데이터베이스 복제 모듈

따라서 데이터베이스 복제 모듈은 다음에서 사용 가능합니다. Mendix Marketplace를 사용하면 다양한 유형의 데이터베이스에 연결할 수 있습니다. 기존 데이터베이스에 어떤 데이터 구조가 있는지 보여줍니다. 그런 다음 웹 페이지를 통해 어떤 데이터를 마이그레이션할지 정의할 수 있습니다. Mendix 데이터베이스. 또한 기존 열의 데이터를 엔터티 속성에 매핑하는 방법을 정의할 수도 있습니다.

데이터베이스 커넥터

따라서 데이터베이스 커넥터 모듈은 JDBC 지원이 있는 모든 데이터베이스에서 쿼리를 실행하기 위한 마이크로플로우 활동을 제공합니다. 즉, 기존 데이터베이스에서 원하는 데이터와 해당 데이터를 새 데이터베이스로 변환하는 방법을 정의하기 위한 마이크로플로우를 만들 수 있습니다. Mendix 응용 프로그램.

기존 데이터베이스에서 앱 데이터베이스 초기화

배포할 때 Mendix 처음으로 애플리케이션을 사용하는 경우 기존 데이터로 초기화할 수 있는 옵션이 있습니다. Mendix 앱. 이 기능의 주요 목적은 한 환경에서 다른 환경으로 마이그레이션하는 것을 가능하게 하는 것입니다(예: Mendix 클라우드에서 프라이빗 클라우드로). 비클라우드를 마이그레이션한 후Mendix 데이터를 Mendix 데이터, 이 데이터를 사용하여 새 데이터를 초기화할 수 있습니다. Mendix app. 이것은 같은 공급업체의 데이터베이스 간에 작동하며, 한 데이터베이스 공급업체에서 다른 데이터베이스 공급업체로 이동할 때도 작동합니다. 즉, 워크스테이션에서 실행되는 PostgreSQL 데이터베이스의 데이터를 사용하여 Azure SQL 데이터베이스를 초기화할 수 있습니다.

자세한 내용은 다음 링크를 참조하세요 마이그레이션 방법 Mendix 데이터베이스 백업 인간을 Mendix 선적 서류 비치.

기존 SQL 데이터베이스를 어떻게 사용할 수 있습니까? Mendix?

외부 데이터베이스 커넥터를 사용하면 사용 중인 모든 데이터베이스에서 SQL 작업을 실행할 수 있습니다. 기존 SQL 데이터베이스 사용에 대해 자세히 알아보려면 Mendix, 섹션을 참조하세요 어떻게합니까 Mendix 외부 SQL 데이터베이스에 대한 직접 액세스를 지원합니까? in 외부 데이터.

API의 기능 Mendix 데이터 저장 동작을 확장할 것을 제안하시나요?

따라서 Mendix 런타임은 데이터 저장 동작을 확장할 수 있는 Java API를 제공합니다. Mendix 팀의 모든 구성원이 이러한 확장 기능을 사용할 수 있도록 보장하여 일반적인 마이크로플로우 활동을 통해 이를 제공할 수 있습니다. 이 확장 기능에 대한 자세한 내용은 Mendix, 섹션을 참조하세요 어떤 종류의 API가 Mendix 폭로하다? in 개방성(API 및 SDK).

데이터 저장 확장성과 관련하여 주요 Java API는 다음과 같은 기능을 제공합니다.

연결 풀링을 어떻게 제어할 수 있나요?

사용자 정의 설정을 사용하여 런타임당 데이터베이스에 대한 동시 데이터베이스 연결 수를 구성할 수 있습니다. ConnectionPoolingMaxActive.

 

 

언어를 선택하세요