Raima 데이터베이스 매니저

Raima Database Manager
RDM
Raima.png
개발자라이마
안정된 릴리스
15.2
운영 체제크로스 플랫폼
유형DBMS
면허증.상용 라이선스
웹 사이트raima.com/raima-database-manager/

Rama Database Manager(또는 RDM)는 임베디드 시스템 애플리케이션에서 사용하도록 설계된 ACID 호환 임베디드 데이터베이스 관리 시스템입니다.RDM은 멀티코어 컴퓨터, 네트워킹(로컬 영역 또는 와이드 영역) 및 온디스크 또는 인메모리 스토리지 관리를 활용하도록 설계되었습니다.RDM은 낮은 수준의 C API, C++ 및 SQL(네이티브, ODBC, JDBC, ADO)과 같은 여러 API를 지원합니다.NET나머지)RDM은 휴대성이 뛰어나며 윈도우즈, Linux, Unix 및 여러 실시간 또는 내장된 운영 체제에서 사용할 수 있습니다.소스 코드 라이센스도 사용할 수 있습니다.

RDM은 비 SQL(기록 및 커서 수준 데이터베이스 액세스) 및 SQL 데이터베이스 설계 및 조작 기능을 모두 지원합니다.SQL 이외의 기능은 리소스가 제한된 대부분의 임베디드 시스템 환경에서 매우 작은 설치 공간에서 높은 성능을 우선시하는 데 중요합니다.SQL은 대부분의 임베디드 시스템 환경에 적합한 작은 설치 공간으로 널리 알려진 표준 데이터베이스 액세스 방법을 제공하는 데 중요합니다.

역사

Raima Inc.는 원래 1984년에 RDM을 출시했으며 이름은 db_VISTA였습니다.C언어 어플리케이션 전용으로 설계된 최초의 마이크로컴퓨터 네트워크 모델 데이터베이스 관리 시스템 중 하나입니다.db_Q라는 동반 제품UERY는 1986년에 도입되었습니다.이것은 네트워크 모델 데이터베이스를 위한 최초의 SQL 유사 쿼리 및 보고서 작성 유틸리티입니다.

db_VISTA 파생 DBMS는 Raima Database Server(RDS)라는 고성능 트랜잭션 처리 클라이언트-서버 SQL DBMS를 제공하도록 1993년에 출시되었습니다.이것은 ODBC API를 네이티브 SQL 인터페이스로 제공한 최초의 DBMS입니다.또한 DDL 기능에 네트워크 모델을 사용한 최초의 SQL 시스템입니다.곧이어 RDS는 Velocis로 이름이 바뀌었고 2001년에는 RDM Server로 이름이 변경되었습니다.RDM Server 버전 8.4는 2012년에 출시되었습니다.

고가용성(HA) 시스템 지원을 위한 데이터베이스 미러링 사용, 데이터베이스 복제, 읽기 전용 트랜잭션과의 다중 버전 동시성, 다중 트랜잭션 파일 서버 액세스, 암호화 및 SQL 설계 사양 등 RDM(일명 RDM Embedded)의 지속적인 개발이 계속되고 있습니다.임베디드 시스템 애플리케이션에서 사용하기 위한 것입니다.RDM 버전 12.0은 2013년에 출시되었습니다.

또한 RDM은 2013년에 National Instruments의 LabView 그래픽 프로그래밍 언어와 함께 사용할 수 있는 최초의 온 플랫폼 SQL DBM을 선보였으며, National Instruments의 LabView Embedded Tools Network Product of the [1]Year로 선정되었습니다.

RDM 버전 14.0은 3분기(16월)에 릴리스되었습니다. RDM v.14.0에는 메모리 내 상주 데이터 세트 작업에 최적화된 완전히 새로운 데이터 스토리지 엔진이 포함되어 있습니다.새로운 IMDB(In-Memory Database)를 사용하면 이전 인메모리 또는 디스크 구현에 비해 성능이 대폭 향상되고 처리 요건이 감소합니다.

RDM 버전 14.1은 18분기에 출시되었습니다.새로운 릴리스는 사용 편의성, 휴대성 및 속도에 중점을 두고 있습니다.Raima의 새로운 파일 형식을 사용하면 한 번 개발하고 어디에나 배포할 수 있습니다.이전 RDM 릴리스와 비교하여 사용 사례에 따라 성능이 50-100% 이상 향상되었습니다.Raima는 SQL 지원, 스냅샷 및 지리 공간 기능을 확장 및 개선했습니다.

RDM 버전 14.2는 2020년에 출시되었습니다.새로운 릴리스는 사용 편의성, 휴대성 및 속도에 지속적으로 중점을 두고 있습니다.다중 사용자 중심 스토리지 형식: 업데이트된 데이터베이스 파일 형식을 통해 잠금 방지 기능을 통해 데이터베이스 스루풋이 향상됩니다.확장되고 개선된 지리공간 기능과 새롭게 지원되는 REST-ful 인터페이스가 데이터베이스 서버 기능에 추가되었습니다.

RDM 버전 15.0은 2021년 Q2에 출시되었습니다.이 릴리스에서는 속도, 사용 편의성, 신기능에 중점을 두고 있었습니다.사용자 지정 생성된 시계열 지원이 RDM에 추가되었습니다. 또한 데이터 변환에 대한 FFT 지원도 추가되었습니다.관리용 GUI가 도입되었습니다.

제품 기능

Raima Database Manager 및 RDM Server의 소스 코드 행과 기능은 모두 하나의 소스 코드로 통합됩니다.RDM에는 메모리 내 지원 업데이트, 시계열 및 FFT 지원, 스냅샷, R-Tree 지원, 압축, 암호화, SQL, SQL PL 및 플랫폼 독립성 등의 주요 기능이 포함되어 있습니다. 한 번 개발하면 어디서나 구현할 수 있습니다.RMD에는 다이렉트복사앤페이스트 등의 이식성 옵션이 포함되어 있어 아키텍처나 바이트 순서에 관계없이 다양한 타깃플랫폼에 개발 및 도입이 가능합니다.이 릴리스에는 커서 기반의 확장 SQL 지원 및 SQL PL을 지원하는 스토어드 프로시저가 포함되어 있으며 ODBC(C, C++), ADO도 지원합니다.NET(C#), RESTful 및 JDBC(Java).지원되는 개발 환경에는 Microsoft Visual Studio, Apple XCode, Eclipse 및 Wind River Workbench가 포함됩니다.재설계 및 최적화된 데이터베이스 파일 형식 아키텍처는 인메모리, 온디스크 또는 하이브리드 스토리지에 대해 별도의 형식을 사용하여 ACID 컴플라이언스 및 데이터 보호 기능을 유지합니다.파일 형식은 하드웨어 플랫폼 세부 사항(예: 바이트 순서 지정)을 숨깁니다.다운로드 패키지에는 RDM 속도 및 성능 벤치마크의 예가 포함되어 있습니다.

트랜잭션 파일 서버(TFS)

파일 세트에 대한 안전한 다중 사용자 트랜잭션 업데이트를 유지하고 페이지 요청에 응답하는 RDM 시스템 내의 소프트웨어 구성 요소입니다.TFServer 유틸리티는 TFS에 링크되어 별도의 유틸리티로 실행할 수 있으므로 사용자는 분산 컴퓨팅 환경에서 RDM을 실행할 수 있습니다.또, TFS 를 애플리케이션에 직접 링크 해, 다른 서버를 콜 하는 경우의 RPC 오버헤드를 회피할 수도 있습니다.

동작 모드

  • 싱글 프로세스, 멀티 스레드
  • 다중 프로세스, 개별 트랜잭션 파일 서버
  • 다중 프로세스, 처리 중인 공유 트랜잭션 파일 서버

다이내믹 DDL

  • 데이터베이스 및 테이블 자체의 즉각적인 변경 지원

암호화

  • AES 128, 192, 256 비트

기타 SQL 데이터 유형

  • 날짜.
  • 시간을
  • 날짜
  • 바이너리
  • 유니코드
  • 조금

데이터 프로바이더 및 드라이버:상호 운용성

  • ADO.Net 4.0 데이터 공급자
  • JDBC 4.2 타입4 드라이버
  • ODBC 3.51 드라이버
  • RESTFul API

다른 '트리' 지원

  • AVL 트리 인덱싱 지원
  • B-Tree 인덱싱 지원
  • R-Tree 인덱싱 지원
  • 해시 테이블 인덱싱 지원

스냅숏

  • 스냅샷 격리는 쓰기 트랜잭션이 발생할 때 데이터베이스에 대한 동시 읽기를 허용합니다.RDM은 시스템의 현재 상태에 대한 고정된 이미지를 캡처하고 해당 정보를 쓰기를 중지하지 않고 읽을 수 있습니다.사용자는 언제든지 rdm_dbStartSnapshot() API를 호출하여 특정 테이블의 스냅샷을 발행할 수 있습니다.완료되면 RDM 시스템은 지정된 테이블의 정적 보기를 생성하여 해당 테이블의 변경 내용이 스냅샷에 반영되지 않습니다.그러면 사용자는 스냅샷 외부에서 해당 테이블에 자유롭게 쓰기를 실행할 수 있으며 스냅샷 뷰 내의 모든 읽기는 해당 쓰기가 완료될 때까지 대기하지 않거나 쓰기가 완료될 수 없게 됩니다.스냅샷이 더 이상 필요하지 않게 되면 간단한 최종 트랜잭션을 호출하여 스냅샷을 쉽고 빠르게 제거할 수 있습니다.이 기능은 최종 사용자에게 가능한 한 많은 쓰기 및 읽기를 동시에 제공합니다.

원형 테이블 지원

  • 레코드 타입 또는 테이블은 "circular"로 정의할 수 있습니다.원형 테이블을 사용하는 경우 테이블이 가득 차도 RDM을 통해 새 레코드 인스턴스를 생성할 수 있습니다.새 레코드 인스턴스는 가장 오래된 레코드 인스턴스부터 시작하여 기존 레코드 인스턴스를 덮어씁니다.RDM에서는 순환 테이블의 레코드 인스턴스를 명시적으로 삭제할 수 없습니다.
  • 원형 테이블의 정의에는 크기 제한이 포함됩니다.이를 통해 특정 레코드 유형의 최신 인스턴스를 저장하기 위해 고정 크기의 스토리지 공간을 할당할 수 있습니다.예를 들어, 이 기능은 가장 최근의 데이터만 관련된 빠르게 생성되는 이벤트 데이터를 저장하는 데 유용할 수 있습니다.원형 테이블을 사용하면 공간 부족으로 인해 수신 데이터가 저장되지 않을 위험이 제거되고 애플리케이션이 오래된 데이터를 삭제할 필요가 없어집니다.

데이터베이스 제한

  • 동시에 열리는 최대 데이터베이스 수: 제한 없음
  • 데이터베이스당 최대 레코드 수:제한 없음
  • 데이터베이스 파일의 최대 크기: 파일 시스템에 의해서만 제한됨
  • 데이터베이스당 최대 테이블 수:제한 없음
  • 테이블당 최대 레코드 수: 제한 없음
  • 최대 레코드 크기: 32kb(BLOB 또는 VARCHAR 제외)
  • 테이블당 최대 필드 수: 제한 없음
  • 데이터베이스당 최대 키 수:제한 없음
  • RAM 요건:사용자 설정 가능, 최소 50KB
  • 코드 풋프린트: OS 및 데이터베이스 기능에 따라 최소 270KB

지원되는 데이터 유형

  • 시계열
  • BLOB
  • 성격
  • 와이드차
  • 바르샤르
  • DBADDR(ROWID)
  • 부동소수점 – 32비트 및 64비트
  • 정수 – 8비트, 16비트, 32비트 및 64비트
  • C 구조(코어만)
  • 데이터/시간/타임 스탬프
  • BCD(SQL Decimal)– 바이너리 코드 10진수는 재무 어플리케이션의 표준 데이터베이스 표현입니다.
  • 가이드

상세한 제품 기능

데이터베이스 설계 언어(DDL)

비SQL(코어) DDL 기능:

  • C structure-like 레코드 타입(테이블) 선언.
  • 1-다수의 레코드 간 관계를 정의하기 위한 네트워크 모델 세트 선언입니다.
  • 다이렉트, B 트리해시 레코드 액세스를 지원합니다.
  • 인메모리 데이터베이스 또는 파일 선언.데이터베이스는 온디스크 또는 인메모리 또는 일부 부품이 인메모리에 상주하는 하이브리드 형태로 설계할 수 있습니다.
  • 순환 레코드 타입(테이블).순환 테이블에는 사용자가 지정한 최대 레코드 수(행)가 저장됩니다.이 최대값에 도달하면 새로 삽입된 레코드는 가장 오래된 레코드가 점유한 위치에 저장됩니다.순환 테이블은 리소스가 제한된 장치에 상태 데이터를 저장하는 데 중요합니다.
  • 지원되는 데이터 유형: 8, 16, 32 및 64비트 부호 있는 정수 또는 부호 없는 정수, float, double, decimal(BCD), 고정 또는 가변 길이 문자 또는 와이드 문자, 이진 또는 문자 큰 개체(블러브), 날짜, 시간, 타임스탬프, guid/uid 및 db_addr(데이터베이스 주소: ka, rowid).
  • 구조 및 배열 데이터 필드 지원.
  • 데이터베이스 파일 구성 및 페이지 크기를 사용자가 제어할 수 있습니다.

SQL DDL의 기능:

  • 선언된 참조 무결성 지원은 RDM의 네트워크 모델 집합을 사용하여 자동으로 구현됩니다.
  • 직접, B 트리해시된 행 액세스를 지원합니다.
  • 인메모리 데이터베이스 또는 테이블 선언.
  • 원형 테이블
  • 외부 데이터 원본(실시간 센서 데이터 등)에 대한 SQL 액세스를 제공하는 가상 테이블 선언입니다.
  • 지원되는 데이터 유형: boolean, tinyint, smallint, 정수, bigint, 10진수, real, float/double, binary, long varbinary, char/varchar, wchar/warchar, long varchar, date, timestamp, guid, rowid(외부 및 primary 키)
  • 도메인 선언

트랜잭션 파일 서버

TFS(RDM Transactional File Server)는 지정된 미디어에서 데이터베이스 파일을 처리하고 관리하는 데 특화되어 있습니다.TFS는 하나 이상의 런타임 라이브러리 인스턴스 간의 데이터베이스 파일 공유를 관리하기 위해 RDM 런타임에서 호출하는 함수 집합입니다.통상의 멀티 유저 설정에서는, TFS 기능은 TFServer 라고 하는 서버 프로세스에 랩 됩니다.표준 TCP/IP를 사용하여 런타임 라이브러리와 TFServer가 같은 컴퓨터 또는 다른 컴퓨터에 있는지 여부를 불문하고 접속할 수 있습니다.그러나 같은 컴퓨터에 있는 경우 기본적으로 더 빠른 공유 메모리 프로토콜을 사용할 수 있습니다.

이 그림에서는 1개의 RDM 클라이언트 런타임에 여러 TFServer에 접속할 수 있으며 1개의 TFServer를 여러 클라이언트 런타임에 사용할 수 있음을 보여 줍니다.RDM 런타임 및 TFServer를 사용하는 응용 프로그램에서는 다른 프로세스의 위치가 보이지 않으므로 모든 프로세스가 한 컴퓨터에 있을 수도 있고 모든 프로세스가 다른 컴퓨터에 있을 수도 있습니다.이를 통해 진정한 분산 처리의 기회를 얻을 수 있습니다.

Raima Database Manager 트랜잭션 파일 서버 작업

TFServer는 디스크 컨트롤러가 스토리지 디바이스를 관리하는 것과 같은 방법으로 "데이터베이스 컨트롤러"로 간주해야 합니다.TFS는 TFS에 의해 관리되는 모든 파일이 저장되는 루트 디렉토리로 초기화됩니다.1대의 컴퓨터에 복수의 디스크컨트롤러가 있는 경우는, 각 컨트롤러에 1대의 TFServer 를 할당하는 것을 추천합니다.이것에 의해, 특히 복수의 CPU 코어가 존재하는 경우, 1대의 컴퓨터상에서 병렬 처리가 용이하게 됩니다.

완전한 애플리케이션 시스템은, 1대의 컴퓨터상에서 복수의 TFServer 를 실행하고, 복수의 컴퓨터를 네트워크 접속하는 경우가 있습니다.각 TFServer는 다른 TFServer와 병렬로 실행할 수 있으므로 그에 따라 성능을 확장할 수 있습니다.

TFS 함수는 RDM 런타임에 의해 사용되므로 프로그래머는 TFS 함수에 대한 콜을 확인할 수 없습니다.이러한 기능은 런타임 라이브러리에서 세 가지 형태로 사용할 수 있습니다.설명적인 이유로 TFSr, TFSt 및 TFS라고 부릅니다.

  • TFSt: 런타임 라이브러리에서 직접 호출되는 실제 풀기능 TFS 함수입니다.단일 응용 프로그램에서 여러 스레드를 지원합니다.
  • TFSr: Remote Procedure Call(RPC; 리모트프로시저 호출) 라이브러리.런타임 라이브러리에 의해 호출되면 이들 함수는 하나 이상의 TFServer 프로세스에 접속하여 이들 프로세스 내의 TFS 함수를 호출합니다.클라이언트/서버 설정.
  • TFS: 런타임 라이브러리에서 직접 호출되는 "스탠드 얼론" TFS 함수는 단일 프로세스 전용입니다(여러 스레드를 사용하는 경우 각각 다른 데이터베이스에만 액세스해야 합니다).데이터베이스가 오프라인 상태일 때 높은 처리량 배치 작업에 사용됩니다.안전하지 않은(단, 빠른) 업데이트가 허용됩니다.

데이터베이스 결합

RDM의 데이터베이스 결합 기능은 동일한 구조의 여러 데이터베이스를 통합적으로 보여 줍니다.RDM은 고도로 분산된 데이터 스토리지 및 처리를 지원하므로 이 기능은 분산된 데이터를 통합하는 메커니즘을 제공하여 단일 대형 데이터베이스처럼 보이게 합니다.

간단한 예로 시애틀에 본사를 두고 보스턴, 런던 및 뭄바이에 지사를 두고 있는 조직을 위해 널리 분산된 데이터베이스를 생각해 보십시오.각 사무실은 직원 기록을 로컬로 소유 및 유지 관리하지만 본사는 조직 전체에 대한 보고서도 수행합니다.각 로케이션의 데이터베이스는 다른 로케이션과 동일한 구조를 가지며, 각 로케이션의 완전한 데이터베이스이지만 더 큰 글로벌 데이터베이스의 파티션으로도 간주됩니다.이 경우 파티셔닝은 지리적 위치를 기반으로 합니다.분산 데이터베이스를 쿼리하는 메커니즘은 프로그래머에게 간단합니다.데이터베이스가 열리면 모든 파티션이 개별 파티션 이름 사이에 OR 기호("")와 함께 참조됩니다.

파티션화 및 통합 쿼리는 성능 확장에도 사용됩니다.각 작업이 레코드의 기본 키 검색에서 시작되는 데이터베이스를 고려합니다."데이터베이스"가 4개의 파티션으로 구성되어 있으며, 각 파티션은 같은 멀티코어 컴퓨터에 저장되어 있지만 다른 디스크 컨트롤러에 의해 제어되는 다른 디스크에 저장되어 있는 경우, 유일한 요건은 프라이머리 키를 4개의 파티션으로 나누는 스킴입니다.이 스킴이 프라이머리 키의 모듈로인 경우, 애플리케이션은 레코드를 저장하거나 읽을 파티션을 빠르게 결정합니다.여러 프로세스(애플리케이션과 TFS 모두)를 실행하기 위한 여러 CPU 코어가 있으며 4개의 파티션에 병렬로 액세스할 수 있기 때문에(4개의 컨트롤러가 이를 허용) 처리 용량은 싱글 코어, 싱글 디스크 및 싱글 파티션 구성의 4배입니다.

데이터베이스 암호화

RDM을 사용하면 모든 데이터베이스 콘텐츠가 네트워크를 통해 전송되어 데이터베이스 파일에 기록되기 전에 암호화될 수 있습니다.RDM의 암호화는 애플리케이션별 암호화 키를 기반으로 128, 192 또는 256비트 키를 사용하는 Rijndael/AES 암호화 알고리즘을 지원합니다.

데이터베이스 미러링 및 HA 지원

RDM의 데이터베이스 미러링은 마스터 데이터베이스의 바이트 단위 복사본을 미러링된(또는 슬레이브) 데이터베이스에 정확하게 복제합니다.데이터베이스 미러링은 고가용성(HA)이 필요한 애플리케이션에서 중요한 데이터베이스 기능입니다. 어떤 이유로 TFServer에 장애가 발생했을 경우 애플리케이션의 HA 모니터가 미러링된 TFServer로 자동으로 전환됩니다.

RDM은 마스터 TFServer에서 커밋된 각 트랜잭션이 미러 TFServer에도 안전하게 커밋되는 동기 미러링을 제공합니다.또한 RDM은 애플리케이션의 HA 모니터에서 호출하여 TFServer의 작동 상태를 모니터링할 수 있는 HA 지원 API 기능을 제공합니다.

또한 미러링은 마스터에만 업데이트가 이루어지지만 여러 대의 컴퓨터에 가능한 많은 데이터베이스 리더를 배포하기 위해 미러링된 슬레이브 중 하나로 연결되는 데이터베이스의 여러 복사본을 유지하기 위해 사용할 수도 있습니다.이 경우 마스터는 각 슬레이브가 각 트랜잭션의 성공적인 커밋을 확인할 때까지 기다릴 필요가 없으며 미러링 프로세스는 비동기적으로 실행될 수 있습니다.

RDM 데이터베이스 미러링을 사용하려면 마스터 및 미러링된 모든 데이터베이스가 동일한 컴퓨터/운영 체제 플랫폼에서 유지 관리되어야 합니다.

데이터베이스 리플리케이션

이것은 Q2/18에 출시될 예정입니다.복제는 미러링과 유사하지만 실제로는 HA 지원을 위한 것이 아니라 데이터베이스(마스터)의 전체 또는 일부를 다른 데이터베이스(슬레이브)로 전송하기 위한 것입니다.복제는 데이터베이스가 반드시 동일한 플랫폼에서 유지 관리되지 않는 곳에서 작동하도록 설계되었습니다.슬레이브 데이터베이스는 다른 RDM 관리 데이터베이스이거나 타사 DBM일 수 있습니다.

RDM 리플리케이션에는 원형 테이블 데이터의 여러 마스터에서 단일 슬레이브로의 선택적 리플리케이션 지원이 포함되어 있습니다.이는 상태 및 상태 감시가 이루어지는 데이터 그리드의 가장자리에 있는 임베디드 컴퓨터와 디바이스에 중요합니다.각 마스터의 원형 테이블에 저장된 상태 데이터는 모든 디바이스 상태의 영구 이력을 유지하는 중앙 제어 시스템에 복제됩니다. 그러면 다양한 시계열 및 기타 분석에 사용할 수 있습니다.

또한 RDM은 데이터를 데이터베이스에 저장 및 관리하지 않고도 슬레이브가 마스터 복제 로그에 액세스할 수 있는 데이터베이스 변경 알림 API 라이브러리도 제공합니다.이를 통해 예를 들어 마스터는 디바이스의 동작을 효율적으로 제어하기 위해 알림 API를 통해 디바이스에 복제된 데이터베이스에 디바이스 제어 정보를 저장할 수 있습니다.

SQL/PL

RDM SQL 프로그래밍 언어(SQL PL)는 ansi/ISO SQL PSM(영구 저장 모듈) 사양(ISO/IEC 90756-4:2011 +2012)을 기반으로 합니다.RDM SQL 시스템 내에서 저장 프로시저 및 함수를 작성, 컴파일 및 호출할 수 있는 고급 언어를 제공합니다.

  • SQL PL은 RDM SQL 저장 루틴(프로시저 또는 함수)에서 사용하기 위한 완전한 계산 프로그래밍 언어입니다.이 언어는 값을 할당할 수 있도록 할당문을 사용하여 일반적인 범위 지정 규칙에 적합한 변수를 선언하는 기능으로 블록 구조화되어 있습니다.제공되는 제어 흐름 구조에는 if-elseif-else 및 case 문과 여러 루프 제어 구조(while, repeat-until 및 loop 문 포함)가 포함됩니다.
  • SQL에 대한 매끄러운 액세스는 로컬로 선언된 변수에 대한 참조를 포함할 수 있는 대부분의 SQL 문을 실행하는 기능을 통해 제공됩니다.또한 선택한 문의 행을 로컬로 선언된 변수로 가져올 수 있는 커서를 선언하는 기능도 제공되므로 결과 열 값을 확인하고 저장된 루틴 내에서 조작할 수 있습니다.
  • 예외 처리도 제공되므로 SQL 문의 실행에서 반환되는 특정 오류 또는 상태의 클래스 또는 클래스에 대해 핸들러를 코드화할 수 있습니다.또, 유저 조건과 예외 핸들러를 정의해, 프로그램 자체의 특수한 목적의 예외를 시그널링 하는 것도 가능합니다.

RDM SQL은 임베디드 시스템 애플리케이션에서 사용하도록 특별히 설계되었습니다.RDM SQL의 가장 중요한 기능에는 다음이 포함됩니다.

  • 설치 공간이 작습니다. SQL 뷰나 보안 기능은 임베디드 시스템 애플리케이션에서는 일반적으로 필요하지 않으며 SQL 설치 공간이 부족하여 SQL 설치 공간을 [2]줄일 수 있습니다.
  • 표준 SQL 트랜잭션 및 참조 무결성 지원.
  • SQL 시스템 카탈로그 및 저장 프로시저는 파일에 저장하거나 C 모듈에서 정적으로 선언된 데이터 구조로 저장할 수 있습니다.
  • 풍부한 내장 스칼라 및 집약 함수를 통한 비용 기반 쿼리 최적화옵티마이저는 다양한 테이블액세스 방법을 검토할 수 있습니다.직접 행 액세스(rowid primary key 경유), 네트워크 모델세트를 통한 최적의 프라이머리/외부 키 조인 액세스, B-tree 및 해시 인덱스입니다.
  • C 기반의 사용자 정의 스칼라 및 집약 함수를 통해 SQL 기능을 확장할 수 있습니다.
  • 실시간 센서 데이터 등 외부 데이터 소스에 대한 SQL 액세스를 제공하는 C 기반 사용자 정의 가상 테이블 인터페이스를 통해 SQL 기능을 확장할 수 있습니다.
  • 쉼표로 구분된 파일 또는 XML 파일에서 데이터베이스 테이블 가져오기/내보내기
  • SQL에서 비 SQL(코어 레벨) 데이터베이스로의 읽기 전용 액세스 가능.즉, 예를 들어 원격 RDM SQL 애플리케이션은 리소스가 매우 제한된 디바이스에서 실행되는 비 SQL RDM 데이터베이스에 액세스할 수 있습니다.

응용 프로그램 프로그래밍 인터페이스

RDM은 다양한 프로그래밍 언어로 애플리케이션을 개발할 수 있는 애플리케이션 프로그래밍 인터페이스를 제공합니다.

  • C 기반 커서 API – 데이터베이스 레코드의 취득, 삽입, 갱신 및 삭제를 위한 데이터베이스 레코드 트래버스가 용이합니다.기록, 키 및 설정 커서를 사용하면 RDM의 데이터베이스 개념과 완벽하게 일치합니다.이는 컬렉션에 대한 반복의 현대적인 프로그래밍 개념과 유사합니다.
  • 포괄적인 SQL API – Raima 설계를 사용하는 단순화된 ODBC 유사 API를 통해 내부적으로 액세스합니다.또한 스토어드 프로시저 및 기타 대부분의 표준 SQL을 지원합니다.
  • SQL Programming Language(PL) API – 순수 SQL을 통해 프로그래밍 로직을 수행할 수 있습니다.개발자는 SQL에 대한 지식을 활용하여 프로그래밍 조건과 논리를 추가할 수 있습니다.
  • 표준 기반 ODBC API – ODBC 표준에 따라 개발자가 RDM 데이터베이스 엔진을 익숙한 방법으로 사용할 수 있도록 ODBC API가 개발되었습니다.
  • JDBC – RDM 데이터베이스 엔진에 대한 표준 JAVA 인터페이스.첫 번째 모드는 TCP/IP를 경유하고 두 번째 모드는 JNI를 경유하는 직접 링크입니다.
  • ADO.NET – 표준 C# 인터페이스.지원되는 연결 방식은 TCP/IP를 통한 것입니다.
  • RESTful – REST-ful API는 데이터베이스 콘텐츠를 JSON의 반환 포맷으로 HTTP GET, POST, PUT 및 DELETE 방식으로 표시 및 수정할 수 있는 애플리케이션 개발자를 위해 설계된 최신 API입니다.또한 전체 RDM 하위 시스템의 상태를 빠르게 볼 수 있도록 관리 API 집합이 노출됩니다.메모리 사용량, CPU 사용량, 데이터베이스 크기 및 데이터베이스 구성 등의 항목은 모두 HTTP 인터페이스를 통해 사용할 수 있습니다.이 API는 웹 개발에 관심이 있거나 웹 브라우저를 통해 모든 플랫폼에서 액세스할 수 있는 RDM 데이터베이스에 대한 빠른 인터페이스를 만들고자 하는 개발자에게 적합합니다.
  • 오브젝트 지향 C++ 커서 API – C++ API는 사용하기 쉽게 설계되어 개발자에게 RDM의 네트워크 기능과 관계형 기능 모두에 대한 완전한 액세스와 제어를 제공합니다.
  • 레거시 내비게이션 C API – RDM의 로우 레벨 C는 계속 지원되며 개발자에게 약간의 변경이 필요합니다.

지원되는 플랫폼

RDM은 다양한 컴퓨터와 운영 체제에 이식되었습니다.패키지는 다음 플랫폼에서 사용할 수 있습니다.

RDM 패키지

RDM은 RDM Core와 RDM Enterprise의 두 가지 패키지로 구성됩니다.

  • RDM Core에는 코어 커서 API 인터페이스만 포함되어 있습니다.이것은 C 프로그래밍 언어로 사용하도록 설계된 가장 최적화된 기본 API입니다.
  • RDM Enterprise에는 나머지 모든 API와 더불어 코어 커서 API와 SQL 인터페이스가 모두 포함되어 있습니다.이 패키지에서는, C#ADO 를 사용할 수 있습니다.NET 인터페이스, JAVA JDBC 인터페이스, RESTful API 및 ODBC 인터페이스.또한 이전 버전의 RDM 제품군에서 완전한 레거시 API를 지원할 뿐만 아니라 타사 연결 및 관리 도구도 완벽하게 지원합니다.

고객 및 응용 프로그램

RDM 기반 애플리케이션은 오늘날 항공우주 및 방위, 자동차, 비즈니스 자동화, 금융, 정부, 산업 자동화, 의료, 통신 등 모든 주요 산업에서 사용되고 있습니다.RDM 사용자의 샘플에는 다음이 포함됩니다.

  • 미쓰비시 전기 - iQ 플랫폼 C 컨트롤러 PLC
  • Schneider Electric - OASyS DNA 제품의 "ezXOS"
  • Hydro-Qébec—발전소 교류발전기 설정 및 구성을 관리하는 CEDA 시스템
  • General Dynamics--"TIEF" – 전술 정보 교환 기능 데이터베이스 에이전트
  • 보잉 -"AWACS" – 항공 경고 및 제어 시스템의 레이더 전자 장치 시스템
  • 레이시온—페이브 호크의 저수준 전술 비행 프로파일 관리
  • 록히드 마틴-비행 시뮬레이터
  • Benu Networks: 광대역서비스 전달 플랫폼
  • 존슨&존슨--VITROS 환자 시스템
  • Beckman Coulter - UniCel DxC 800 동기 임상 시스템
  • Siemens—RapidPoint 400 의료용 유체 테스트 장비
  • IBM: ClearCase 소스 코드 제어 시스템
  • 마젤란 항법--MAPSEND PC 기반 및 임베디드 제품에 사용되는 GPS
  • NSE - 신뢰성 높은 주식 거래 데이터 스토리지
  • NCDEX: 거래 어플리케이션용 실시간 데이터베이스 서비스

레퍼런스

  1. ^ Laura Arnold (2013-05-08). "Top Alliance Partner Achievements Recognized During NIWeek 2013 - Discussion Forums - National Instruments". Decibel.ni.com. Retrieved 2017-06-25.
  2. ^ Randy Merilatt (2010-06-09). "Is using SQL in an embedded computer application like trying to squeeze an ELEPHANT into a MINI? - Embedded Computing Design". Embedded-computing.com. Retrieved 2017-06-25.

외부 링크