객관성/DB

Objectivity/DB

Objectivity/DB는 Objectivity, Inc.에서 제작한 상용 객체 데이터베이스입니다.이를 통해 애플리케이션은 표준 C++, C#, Java 또는 Python 개체를 RDBMS(Relational Database Management System)에서 사용하는 행과 열로 변환할 필요 없이 영속적으로 만들 수 있습니다.Objectivity/DB는 SQL/ODBC 및 XML과 함께 가장 일반적인 객체 지향 언어를 지원합니다.Linux, Macintosh, UNIXWindows 플랫폼에서 실행됩니다.모든 언어와 플랫폼은 상호 운용되며 Objectivity/DB 커널은 컴파일러와 하드웨어 플랫폼의 차이를 처리합니다.

역사

객관성/DB는 1990년에 처음 판매되었습니다.Objectivity/DB용 C++ 및 Java 인터페이스에는 ODMG'93 표준에 정의된 기능이 포함되어 있습니다.[1] 이후 C# 및 Python 인터페이스가 추가되었습니다.

아키텍처의 특징

Objectivity/DB는 네트워크를 통해 분산된 데이터베이스 연합 전체에서 단일 논리적 뷰를 제공하는 분산 데이터베이스입니다.소규모 소프트웨어 라이브러리를 클라이언트 응용 프로그램과 연결하는 분산 컴퓨팅 모델을 사용합니다.클라이언트는 일원화된 데이터베이스 서버 아키텍처의 동등한 서버보다 기능적으로 단순한 리모트서버와 투과적으로 통신합니다.잠금, 원격 데이터 전송 및 쿼리 에이전트 서버 프로세스가 있습니다.분산형 아키텍처는 본질적으로 Objectivity/DB확장성과 신뢰성으로 만드는 데 도움이 됩니다.데이터 퓨전 및 쿼리 작업을 동시에 지원하면서 시간당 1TB 이상의 수집 속도를 유지했습니다.[3]

객관성/DB는 분산 스토리지 계층을 사용합니다.개체는 컨테이너라는 논리적 클러스터에 저장됩니다.컨테이너는 연합 데이터베이스에 카탈로그화된 데이터베이스에 저장됩니다.모든 개체에는 복합 논리 구조인 고유한 64비트 개체 식별자(OID)가 있습니다.단일 페더레이션의 물리적 주소 공간 제한은 수백만 테라바이트 범위입니다.SLAC의 BaBar 실험에서 공개된 가장 큰 Objectivity/DB 설치로,[4][5] 페타바이트 이상의 개체가 저장됩니다.

Objectivity/DB는 주어진 스토리지 계층 내에서 개체를 배치하는 방법을 정의하는 유연한 접근 방식을 제공합니다.[6] 데이터베이스 설계자는 XML 구성 파일에 캡슐화되어 응용 프로그램에서 사용할 수 있는 사용자 지정 배치 전략을 정의할 수 있습니다.이 전략은 함께 저장되는 영구 개체, 배포되는 개체 및 지정된 개체 근처에 저장되는 개체를 정의할 수 있습니다.

오브젝트는 이름 있는 단방향 또는 양방향 링크를 사용하여 다른 오브젝트에 링크할 수 있습니다.링크의 카디널리티는 1:1, 1:1, many:1 또는 many:1로 설정할 수 있으며 OID를 사용하여 오브젝트 네트워크의 네비게이션을 고속화할 수 있습니다.[7] OID는 확장 가능한 컬렉션(트리, 목록, 세트 등), 인덱스 및 해시 테이블 지원에도 사용됩니다.관계형 데이터베이스에 내재된 관계형 참여 작업을 제거함으로써 객관성/DB에 성능 이점이 생깁니다.[8] [9] [10]

오브젝티비티/DB는 쿼리를 처리하는 방식에서도 RDBMS와 다릅니다.응용 프로그램은 정규화된 개체를 찾은 즉시 해당 개체를 찾고 반환하는 반복기를 선언하고 초기화합니다.Objectivity/DB Parallel Query Engine은 쿼리를 개별 데이터베이스 또는 컨테이너에 대한 하위 작업으로 나눕니다.원격 쿼리 에이전트는 각 하위 작업을 처리하고 결과를 반복자에게 반환합니다.병렬 쿼리 엔진에는 두 가지 교체 가능한 구성 요소가 있습니다. 즉, 태스크를 가장 잘 세분화하는 방법을 결정할 수 있는 스플리터와 쿼리를 더욱 세분화할 수 있는 쿼리 에이전트의 필터입니다.유럽의 도시와 관련된 질의는 국가별로 하나씩 49개의 하위 태스크로 나눌 수 있습니다.필터는 Query Agent가 Objectivity/DB 데이터베이스 또는 컨테이너에서 발견한 개체를 한정하거나 부적격하기 전에 외부 데이터 소스에 액세스할 수 있습니다.

쿼럼 기반 동기 복제 메커니즘을 사용하여 데이터베이스 및 시스템 데이터(카탈로그 스키마)를 여러 위치에 복제할 수 있습니다.쿼럼에서 일시적으로 분리된 복제본은 해당 복제본과 해당 피어에 서비스를 제공하는 네트워크에 다시 연결될 때 투명하게 다시 동기화됩니다.개별 데이터베이스 및 잠금 서버는 클라이언트가 복제본을 업데이트할 수 있는지 여부를 결정하는 데 사용되는 표를 할당할 수 있습니다.

Objectivity/DB의 분산 데이터베이스와 처리 아키텍처를 통해 많은 그리드 컴퓨팅 환경에서 사용할 수 있게 되었습니다.IBM Ready For Grid 제품 인증을 받았습니다.또한 서비스 지향 아키텍처 애플리케이션에서도 사용됩니다.Objectivity For Java는 J2EE 커넥터 아키텍처(JCA) 표준을 지원합니다.Objectivity/DB의 분산 아키텍처는 클라우드 환경에도 동일하게 적용됩니다.[11]

일반적인 응용 프로그램

객관성/DB는 일반적으로 매우 복잡한 상호 관련 데이터를 처리하는 데이터 집약적인 애플리케이션 또는 실시간 애플리케이션에서 사용됩니다.소프트웨어 또는 하드웨어 제품에 포함되거나 상업, 과학 또는 정부 프로젝트의 일부로 사용될 수 있습니다.

초기 도입은 주로 컴퓨터 지원 설계 및 엔지니어링 애플리케이션에 있었습니다.1990년대 초, 많은 통신 기기 제조업체들이 첨단 지능형 네트워크 및 요소 관리 시스템에 Objectivity/DB를 내장하기 시작했습니다.주목할 만한 배치로는 무선 SprintPCS와 이리듐 저궤도 위성 네트워크가 있다.다수의 프로세스 제어, 제조 및 의료 계장 시스템은 Objectivity/DB의 실시간 성능과 고가용성을 위해 통합되고 있습니다.

방위 계약자와 대형 과학 프로젝트는 1990년대 후반부터 Objectivity/DB를 사용하기 시작했습니다.정부 애플리케이션은 명령 및 제어, 보안, 데이터 융합 및 인텔리전스 애플리케이션을 포함합니다.객관성/DB는 천체물리학, 고에너지 물리학, 핵융합, 지구과학, 수로학 및 생물정보학 분야에서 사용되어 왔습니다.이러한 애플리케이션의 대부분은 매우 큰(수 페타바이트) 데이터베이스를 구축하고 조작합니다.

RDBMS 또는 ODBMS의 선택은 많은 요인에 따라 달라집니다.ODBMS는 컴퓨팅 또는 데이터 집약적인 객체 지향 시스템에서 이상적입니다.그러나 RDBMS가 이용 가능한 프로그래밍 리소스로 애플리케이션의 기능 및 성능 요건을 쉽게 충족할 수 있다면 ODBMS를 고려할 필요가 없을 것입니다.

레퍼런스

  1. ^ R. G. Cattell; Douglas K. Barry; Mark Berler; Mark Berler; Jeff Eastman; David Jordan; Craig Russell; Olaf Schadow; Torsten Stanienda; Fernando Velez (January 2000). Object Data Standard: ODMG 3.0. Academic Press. ISBN 1558606475. Retrieved December 1, 2014.
  2. ^ "Georgetown University taps Objectivity for Big Data research". Government Security News. May 2013. Retrieved December 1, 2014.
  3. ^ "Scaling Objectivity Database Performance with Panasas® Scale-Out NAS Storage" (PDF). August 2011. Retrieved December 1, 2014.
  4. ^ 페타바이트 Jacek Becla와 Daniel L. Wang의 관리에서 얻은 교훈, 2005
  5. ^ BaBar 데이터베이스
  6. ^ Angela Guess (February 6, 2013). "Objectivity Launches Objectivity/DB 11.0". DATAVERSITY. Retrieved December 2, 2014.
  7. ^ Philip Howard (May 29, 2012). "Objectivity and InfiniteGraph". Bloor. Retrieved December 1, 2014.
  8. ^ Suzanne W. Dietrich; Susan D. Urban (2011), Fundamentals of Object Databases, Morgan & Claypool Publishers, p. 2, ISBN 9781608454761, retrieved December 3, 2014
  9. ^ Alan Dearle; Roberto V. Zicari, eds. (2010), Objects and Databases, Third International Conference Proceedings, ICOODB, Springer, p. 34, ISBN 978-3642160912, retrieved December 3, 2014
  10. ^ C.S.R Prabhu (2011), Object-Oriented Database Systems - Approaches and Architecture, Third Edition, Asoke K. Ghosh, PHI Learning Private Limited, p. 67, ISBN 9788120340930, retrieved December 3, 2014
  11. ^ "Objectivity: Complex Data-Management, Simplified". Neovise. 2014. Retrieved December 2, 2014.

외부 링크