오브젝트 데이터베이스
Object database오브젝트 데이터베이스 또는 오브젝트 지향 데이터베이스는 정보가 오브젝트 지향 프로그래밍에서 사용되는 오브젝트 형태로 표현되는 데이터베이스 관리 시스템이다.오브젝트 데이터베이스는 테이블 지향의 관계형 데이터베이스와는 다릅니다.객체-관계형 데이터베이스는 두 가지 접근 방식을 혼합한 것입니다.
오브젝트 데이터베이스는 1980년대 [2]초부터 검토되어 왔습니다.
개요
ODBMS(Object Database Management System)라고도 불리는 객체 지향 데이터베이스 관리 시스템(OODBMS)은 데이터베이스 기능과 객체 지향 프로그래밍 언어 기능을 결합합니다.OODBMS는 오브젝트 지향 프로그래머가 제품을 개발하고 오브젝트로 저장하고 기존 오브젝트를 복제 또는 수정하여 OODBMS 내에서 새로운 오브젝트를 만들 수 있도록 합니다.데이터베이스가 프로그래밍 언어와 통합되기 때문에 프로그래머는 OODBMS와 프로그래밍 언어 모두에서 하나의 환경 내에서 일관성을 유지할 수 있습니다.ge는 동일한 표현 모델을 사용합니다.반면 관계형 DBMS 프로젝트는 데이터베이스 모델과 애플리케이션 간의 명확한 구분을 유지합니다.
인트라넷과 엑스트라넷의 구현으로 웹 기반 기술의 사용이 증가함에 따라, 기업들은 복잡한 데이터를 표시하기 위한 OODBMS에 대한 기득권을 갖게 되었습니다.데이터를 객체로 저장하도록 특별히 설계된 DBMS를 사용하면 멀티미디어 프레젠테이션을 지향하는 기업이나 CAD([3]컴퓨터 지원 설계)를 사용하는 조직에 이점이 있습니다.
일부 객체 지향 데이터베이스는 Dellphi, Ruby, Python, JavaScript, Perl, Java, C#, Visual Basic과 같은 객체 지향 프로그래밍 언어에서 잘 작동하도록 설계되었습니다.NET, C++, Objective-C 및 Smalltalk. JADE 등의 다른 프로그램 언어도 있습니다.OODBMS는 객체 지향 프로그래밍 언어와 정확히 동일한 모델을 사용합니다.
역사
오브젝트 데이터베이스 관리 시스템은 1970년대 초반부터 중반까지 연구가 부족하여 그래프 구조화된 오브젝트에 대한 데이터베이스 관리 지원을 제공하게 되었습니다."객체 지향 데이터베이스 시스템"이라는 용어가 [4]처음 등장한 것은 1985년 경이었다.주목할 만한 연구 프로젝트로는 Encor-Ob/Server(Brown University of Wisconsin-Madison), EXODS(University of Wisconsin-Packard), ODE(Bell Labs), ORION(Microelectronics and Computer Technology Corporation 또는 MCC), Vodak(GMD-IPSI), ZeTexist(ZE) 등이 있습니다.오리온 프로젝트는 다른 어떤 노력보다 더 많은 논문을 발표했다.MCC의 원 김은 그 [5]논문들 중 최고의 것을 MIT 프레스에서 출판한 책에 정리했다.
초기 상용 제품으로는 Gemstone(Servio Logic, GemStone Systems로 이름 변경), Gbase(Graphael), Vbase(Ontology) 등이 있습니다.1980년대 후반부터 1990년대 중반까지 상업용 제품이 추가로 시장에 진출했다.이 ITASCA(이타스카 시스템), 쟈스민(후지츠, 컴퓨터 어소시에이츠에 의해), 마티스는(마티스는 소프트웨어), Objectivity/DB(Objectivity, Inc.), ObjectStore(프로그레스 소프트웨어, eXcelon으로부터 얻어지는 원래 개체 디자인 주식 회사), ONTOS(Ontos, Inc., 이름 Ontologic으로 바꾸었다), O2[6](O2기술, 서버에 합병을 포함했다.알 cIBM이 차례로 인수한 Informix, POST(현재는 Poet Software를 인수한 Versant의 Fast Objects), Versant Object Database(Versant Corporation), VOSS(Logic Arts) 및 JADE(Jade Software Corporation)가 인수했습니다.이러한 제품 중 일부는 시장에 남아 있으며 InterSystems Caché와 같은 새로운 오픈 소스 및 상용 제품과 함께 출시되었습니다.
객체 데이터베이스 관리 시스템은 객체 프로그래밍 언어에 지속성의 개념을 추가했습니다.초기 상용 제품은 다양한 언어로 통합되었습니다.GemStone(Smalltalk), Gbase(LISP), Vbase(COP), VOSS(Smalltalk용 가상 객체 스토리지 시스템)가 있습니다.1990년대 대부분 C++는 상업용 객체 데이터베이스 관리 시장을 장악했습니다.벤더는 1990년대 후반에 Java를 추가했고 최근에는 C#을 추가했습니다.
2004년 이후 오브젝트 데이터베이스는 비용 효율이 뛰어나고 사용하기 쉬운 오픈 소스 오브젝트 데이터베이스가 등장하면서 두 번째 성장기를 맞이했습니다.이는 오픈 소스 오브젝트 데이터베이스가 완전히 Versant의 db4o(db4objects), Ovsidian Dynamics의 DTS/S1 및 Perstmc Dual과 같은 OOP 언어로 작성되었기 때문입니다.소스 라이선스 및 상용 라이선스.
타임라인
- 1966
- 1979
- 인터시스템즈 M
- 1980
- 1982
- Gemstone은 (Servio Logic으로) 설정된 이론 모델 데이터베이스 머신을 구축하기 시작했습니다.
- 1985 – Term Object Database 최초 도입
- 1986
- Servio Logic (Gemstone Systems) Gemstone 1.0 출하
- 1988
- Object Design, Incorporated 설립, Object Store 개발 시작
- Versant Corporation은 (Object Sciences Corporation으로) 시작
- Objectivity, Inc. 설립
- 1990년대 초반
- 1990년대 중반
- 2000년대
- lambda-DB: 레오니다스 페가라스, 찬드라세카르 스리니바산, 아르빈드 라젠드란, 데이비드 마이어의 ODMG 기반 객체 지향 DBMS
- Carl Rosenberger가 시작한 db4o 프로젝트
- 오브젝트 데이터베이스
- 2001년 IBM, Informix 인수
- 2003 odbpp 일반 출시
- 2004년 db4o의 db4objects, Inc.로 상용 출시
- 2008년 db4o를 Versant Corporation에 인수
- 2010년 VMware가 GemStone 인수[8]
- 2011년 db4o 개발이 중지되었습니다.
- 2012년 Wakanda 최초 운영 버전 오픈 소스 및 상용 라이센스 제공
- 2013 GemTalk Systems, VMware로부터[9] Gemstone 제품 인수
- 2014년 db4o의 상용 서비스는 Versant를 [10]인수한 Actian에 의해 공식적으로 중단되었습니다.
- 2014[11] 왕국
- 2017년[12] 오브젝트박스
객체 데이터베이스 채택
지속적 프로그래밍에 기반한 객체 데이터베이스는 엔지니어링 및 공간 데이터베이스, 통신과 같은 응용[13] 분야와 고에너지 물리학 및 분자 [14]생물학 같은 과학 분야에서 틈새를 확보했습니다.
다른 개체 데이터베이스 그룹은 장치, 패키지 소프트웨어 및 실시간 시스템에 내장된 사용에 초점을 맞춥니다.
기술적 특징
또한 대부분의 객체 데이터베이스는 선언형 프로그래밍 접근 방식을 사용하여 객체를 찾을 수 있도록 일종의 쿼리 언어를 제공합니다.제품 간에 가장 큰 차이가 발견되는 것은 객체 쿼리 언어 영역과 쿼리 인터페이스와 내비게이션 인터페이스 통합 영역입니다.ODMG는 객체 쿼리 언어(OQL)를 사용하여 표준화를 시도했습니다.
포인터를 따라 검색 없이 개체를 직접 검색할 수 있으므로 데이터에 대한 액세스 속도가 더 빠를 수 있습니다.
제품 간의 또 다른 변동 영역은 데이터베이스의 스키마를 정의하는 방법입니다.그러나 일반적인 특징은 프로그래밍 언어와 데이터베이스 스키마가 동일한 유형 정의를 사용한다는 것입니다.
데이터와 관련된 클래스 메서드가 올바른 해석을 담당하기 때문에 멀티미디어 응용 프로그램이 쉬워집니다.
Gemstone 또는 VOSS와 같은 많은 개체 데이터베이스는 버전 관리를 지원합니다.개체는 모든 버전의 집합으로 볼 수 있습니다.또한 오브젝트 버전은 그 자체로 오브젝트로 취급할 수 있습니다.또한 일부 객체 데이터베이스는 활성 데이터베이스의 기본인 트리거 및 제약 조건을 체계적으로 지원합니다.
이러한 데이터베이스의 효율은 한 항목에 대해 대량의 데이터를 요구하는 영역에서도 크게 향상됩니다.예를 들어, 은행 기관은 사용자의 계좌 정보를 취득하고 거래, 계좌 정보 입력 등 광범위한 정보를 효율적으로 제공할 수 있습니다.
표준
Object Data Management Group은 객체 데이터베이스와 객체 관계 매핑 벤더, 학계 구성원 및 이해관계자들의 컨소시엄이었습니다.그 목적은 데이터베이스 관리 시스템에 객체를 저장하는 휴대용 애플리케이션을 허용하는 사양 세트를 만드는 것이었습니다.몇 가지 버전의 사양을 발표했습니다.마지막 릴리스는 ODMG 3.0이었습니다.2001년까지 대부분의 주요 객체 데이터베이스 및 객체 관계 맵핑 벤더는 ODMG Java Language Binding에 준거하고 있다고 주장했습니다.규격의 다른 구성 요소에 대한 준수 사항이 혼합되었습니다.2001년에는 Java Data Object 사양의 기반으로 ODMG Java 언어 바인딩이 Java Community Process에 제출되었습니다.그 후 ODMG 회원사들은 Java Data Objects 규격에 주력하기로 결정했다.그 결과 ODMG는 2001년에 해체되었다.
또한 많은 객체 데이터베이스 아이디어가 SQL:1999에 흡수되어 객체 관계형 데이터베이스 제품에서 다양한 수준으로 구현되었습니다.
2005년 Cook, Rai 및 Rosenberger는 추가 객체 지향 쿼리 API를 도입하기 위한 모든 표준화 노력을 중단하고 대신 Java와 같은 OO 프로그래밍 언어 자체를 사용할 것을 제안했습니다.NET, 쿼리를 표현합니다.그 결과 네이티브 쿼리가 등장했습니다.마찬가지로 Microsoft는 2005년9월에 언어통합쿼리(LINQ)와 LINQ의 실장 DLINQ를 발표하여 프로그래밍 언어 C# 및 VB에 근접한 언어통합 데이터베이스 쿼리 기능을 제공하고 있습니다.NET 9 。
2006년 2월, 객체 관리 그룹(OMG)은 ODMG 3.0 사양과 객체 데이터베이스 기술 워킹 그룹(ODBT WG)의 구성에 근거해 새로운 사양을 개발할 권리를 부여받았다고 발표했습니다.ODBT WG는 객체 데이터베이스 기술(예: 복제), 데이터 관리(예: 공간 색인) 및 데이터 형식(예: XML)의 발전을 통합하고 객체 데이터베이스가 채택되는 도메인(예: 실시간 시스템)을 지원하는 새로운 기능을 이러한 표준에 포함시킬 계획이었다.ODBT WG의 작업은 2008년 말 경제 혼란 이후인 2009년 3월에 중단되었다.
2007년 1월에 World Wide Web Consortium은 XQuery 언어에 대한 최종 추천 지위를 부여했습니다.XQuery는 XML을 데이터 모델로 사용합니다.원래 객체 데이터베이스를 위해 개발된 아이디어 중 일부는 XQuery에 적용되었지만 XQuery는 본질적으로 객체 지향적이지 않습니다.XML의 인기로 인해 XQuery 엔진은 너무 복잡하고 가변적인 데이터를 관계형 데이터베이스에 저장하기 위한 수단으로 객체 데이터베이스와 경쟁합니다.또한 XQuery에서는 객체 지향 시스템에서 제공되는 캡슐화 기능을 제공하기 위해 모듈을 쓸 수 있습니다.
XQuery v1 및 XPath v2는 XPath v1 및 XSLT v1에 비해 매우 복잡합니다(공개된 지 10년이 지난 FOSS 소프트웨어는 이러한 표준을 구현하지 않았습니다).XML은 모든 커뮤니티 요구를 오픈 포맷으로 충족시키지 못했습니다.2000년대 초반부터 JSON은 커뮤니티에서 채택되어 2010년대에는 XML을 능가하는 인기를 얻고 있습니다.XQuery for JSON(XQuery의 핵심 표현식 및 작업 공유)의 쿼리-아날로그인 JSONiq는 JSON 및 XML 형식의 기능적 동등성을 입증했습니다.이러한 맥락에서, OODBMS 유지관리자들의 주요 전략은 (내부 데이터 유형으로 사용하여) JSON을 데이터베이스에 개조하는 것이었다.
2016년 1월, 포스트그레와 함께SQL 9.5[15] 릴리즈는 모든 기본적인 관계형 및 비관계형 조작에 대해 완전한 기능 및 연산을 갖춘 효율적인 JSON 내부 데이터형(JSONB)을 제공하는 최초의 FOSS OODB입니다.
RDBMS와의 비교
오브젝트 데이터베이스는 복잡한 데이터 및 데이터 간의 관계를 관계행 및 열에 매핑하지 않고 직접 저장하기 때문에 매우 복잡한 [16]데이터를 다루는 애플리케이션에 적합합니다.개체는 다대다 관계를 가지며 포인터를 사용하여 액세스합니다.포인터는 오브젝트에 링크되어 관계를 확립합니다.OODBMS의 또 다른 장점은 전체 [17]시스템에 영향을 미치지 않고 작은 절차 차이로 프로그래밍할 수 있다는 것이다.
「 」를 참조해 주세요.
- 객체 데이터베이스 관리 시스템 비교
- 컴포넌트 지향 데이터베이스
- EDA 데이터베이스
- 엔터프라이즈 오브젝트 프레임워크
- NoSQL
- 오브젝트 데이터 관리 그룹
- 객체-관계 데이터베이스
- 지속성(컴퓨터 과학)
- 관계형 모델
- 릴레이셔널 데이터베이스 관리 시스템(RDBMS)
레퍼런스
- ^ 데이터 통합 용어집 2009년 3월 20일 미국 교통부 Wayback Machine, 2001년 8월.
- ^ ODBMS.ORG :: ODBMS(Object Database) 객체 지향 데이터베이스(OODBMS) Free Resource Portal.ODBMS(2013-08-31)2013-09-18에 회수.2014년 3월 6일 Wayback Machine에서 보관
- ^ O'Brien, J. A., & Marakas, G. M. (2009)관리정보시스템(9일자)뉴욕, 뉴욕: 맥그로힐/어윈
- ^ T라는 용어를 사용하는 1985년의 세 가지 참조 예.앳우드, "설계 지원 애플리케이션을 위한 객체 지향 DBMS", IEEE COMPINT 85, 페이지 299-307, 1985년 9월, N.Derrett, W. Kent, P.Lyngback, "객체지향 데이터베이스 운영의 일부 측면", 데이터베이스 엔지니어링, 제8권, 제4호, IEEE Computer Society, 1985년 12월, D.마이어, A.오티스, 그리고 A.Purdy, "Servio Logic에서의 객체 지향 데이터베이스 개발", 데이터베이스 엔지니어링, vol. 18, no.4, 1985년 12월.
- ^ 김원.객체 지향 데이터베이스 소개 MIT 프레스, 1990년. ISBN0-262-11124-1
- ^ 프랑수아 방실롱, 클로드 델로벨, 파리 카넬라키스.객체 지향 데이터베이스 시스템 구축: O의 이야기2모건 카우프만 출판사, 1992년ISBN 1-55860-169-4.
- ^ Ulfsby; et al. (July 1981). "TORNADO: a DBMS for CAD/CAM systems". Computer-Aided Design. 13 (4): 193–197. doi:10.1016/0010-4485(81)90140-8.
- ^ "SpringSource to Acquire Gemstone Systems Data Management Technology". WMware. May 6, 2010. Archived from the original on August 8, 2014. Retrieved August 5, 2014.
- ^ GemTalk Systems (May 2, 2013). "GemTalk Systems Acquires GemStone/S Products from VMware". PRWeb. Archived from the original on August 10, 2014. Retrieved August 5, 2014.
- ^ "restructuring our Versant Community Website".
- ^ "Realm Releases Object Database for Node.js". InfoQ. Archived from the original on 2017-02-02.
- ^ DB-Engines. "Object Database Ranking on DB-Engines". DB-Engines. Retrieved 2021-05-21.
{{cite web}}
: CS1 maint :url-status (링크) - ^ "Stanford Linear Accelerator (SLAC)".
- ^ Herde, Patrick; Sibbald, Peter R. (1992). "Integration of molecular biology data collections using object oriented databases and programming". Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum) - OOPSLA '92. pp. 177–178. doi:10.1145/157709.157747. ISBN 0897916107. S2CID 45269462.
- ^ "PostgreSQL: Documentation: 10: 9.15. JSON Functions and Operators". www.postgresql.org. Archived from the original on 2016-05-18.
- ^ Radding, Alan (1995). "So what the Hell is ODBMS?". Computerworld. 29 (45): 121–122, 129.
- ^ 벌슨, 도널드 (1994년)OODBMS가 MIS를 획득하고 있지만 RDBMS는 여전히 도로를 점유하고 있습니다.소프트웨어 매거진, 14(11), 63
외부 링크
- 개체 DBMS 리소스 포털
- 객체 지향 DBMS 순위 - 인기별, DB-Engines에서 매월 갱신