ODBC (오픈 데이터베이스 연결성)
1992년, 마이크로소프트 코퍼레이션은 데이터베이스와 관련된 Windows Open Services Architecture(WOSA)의 필수 부분으로 설립되었으며, 이 아키텍처는 데이터베이스 접근을 위한 표준 API(응용 프로그래밍 인터페이스)를 규정하고 표준 API(응용 프로그래밍 인터페이스) 세트를 제공했습니다. 이 API들은 SQL을 활용해 대부분의 작업을 수행합니다. ODBC 자체도 SQL 언어를 지원하며, 사용자는 ODBC에 SQL 문장을 직접 보낼 수 있습니다. --- 가장 초기이지만 항상 전능하지는 않습니다. ODBC(Open Database Connectivity)는 마이크로소프트가 주장하고 현재 업계에서 널리 받아들여지는 애플리케이션 프로그래밍 인터페이스(API)로, X/Open 및 ISO/IEC 호출 수준 인터페이스(CLI) 사양을 기반으로 하며, 데이터베이스 접근 언어로 구조화된 쿼리 언어(SQL)를 사용합니다. ODBC의 전체 구조는 네 가지 구성 요소로 이루어져 있습니다:
A. 애플리케이션: 처리 실행을 실행하고 ODBC API 함수를 호출하여 SQL 문장을 제출하고 결과를 검색합니다. B. 드라이버 관리자: 애플리케이션의 필요에 따라 드라이버를 로드/삭제하고, ODBC 함수 호출을 처리하거나 드라이버로 전송합니다. C. 드라이버: ODBC 함수 호출을 처리하고, 지정된 데이터 소스에 SQL 요청을 제출하며, 결과를 애플리케이션에 반환합니다. 필요하다면 드라이버는 프로그램 요청을 해당 DBMS가 지원하는 문법과 일치하도록 수정합니다. D. 데이터 소스: 사용자가 접근할 데이터와 관련 운영체제, DBMS, DBMS 접근에 사용되는 네트워크 플랫폼을 포함합니다.
DAO (데이터 액세스 객체)
1993년 마이크로소프트는 Microsoft Jet 데이터베이스 엔진(원래 Microsoft Access용으로 사용되었으나 현재는 다른 데이터베이스도 지원)을 도입했으며, 개발자들이 ODBC를 통해 다른 데이터베이스와 마찬가지로 Access 테이블에 직접 연결할 수 있게 합니다. DAO는 단일 시스템 애플리케이션이나 소규모 로컬 분산 사용에 가장 적합합니다. Jet 데이터베이스 접근은 내부적으로 최적화되어 사용하기 쉽습니다. 따라서 데이터베이스가 Access 데이터베이스이고 로컬에서 사용된다면, 애플리케이션의 특수성에 따라 이 접근 방식을 사용하는 것이 권장---
RDO (원격 데이터 객체)
1995년 RDO는 ODBC의 객체지향 데이터 접근 인터페이스로, 사용하기 쉬운 DAO 스타일과 결합되어 ODBC의 모든 기본 기능과 유연성을 보여주는 인터페이스를 제공했습니다. 하지만 RDO는 Jet 또는 ISAM 데이터베이스에 대한 접근이 제한적이며, 기존 ODBC 드라이버를 통해서만 관계형 데이터베이스에 접근할 수 있습니다. 하지만 RDO는 많은 SQL Server, Oracle 및 기타 대형 관계형 데이터베이스 개발자들에게 최고의 인터페이스임이 입증되었습니다. RDO는 저장 프로시저와 복잡한 결과 집합에 접근하기 위한 점점 더 복잡한 객체, 속성, 메서드를 제공합니다. --- 분명히 ODBC를 기반으로 하고 있습니다
OLE DB (객체 연결 및 임베딩, 데이터베이스)
1997년, 마이크로소프트는 조직 전반에 걸쳐 데이터를 관리하기 위한 전략적 시스템 수준 프로그래밍 인터페이스를 출시했습니다. OLE DB는 ODBC 기능 위에 구축된 개방형 명세입니다. ODBC는 관계형 데이터베이스 접근을 위해 특별히 개발되었으며, OLE DB는 호스트 ISAM/VSAM 및 계층적 데이터베이스, 이메일 및 파일 시스템 저장, 텍스트, 그래프, 지리 데이터, 맞춤형 비즈니스 객체와 같은 관계형 및 비관계형 정보 소스에 접근하는 데 사용됩니다. OLE DB는 다양한 데이터베이스 관리 시스템 서비스를 캡슐화하고 이러한 서비스를 구현하기 위한 소프트웨어 구성 요소를 생성할 수 있도록 하는 COM 인터페이스 집합을 정의합니다. OLE DB 구성 요소에는 데이터 제공자(데이터를 포함하고 표현하는 것), 데이터 소비자(데이터 사용), 서비스 구성 요소(쿼리 프로세서 및 커서 엔진과 같은 데이터 처리 및 전달)가 포함됩니다. OLE DB 인터페이스는 부품의 원활한 통합을 가능하게 하여, OLE DB 부품 공급업체가 고품질 OLE DB 부품을 시장에 신속하게 공급할 수 있도록 합니다. 또한 OLE DB는 ODBC를 연결하는 '브리지'를 포함하여 사용 중인 다양한 ODBC 관계형 데이터베이스 드라이버에 대한 일관된 지원을 제공합니다. --- ODBC를 대체한다고 주장하지만, ODBC와도 호환됩니다
ADO (ActiveX 데이터 객체)
1996년에는 ADO가 DAO/RDO의 후신이 되었습니다. ADO 2.0은 기능적으로 RDO와 더 유사하며, 일반적으로 두 모델 간의 매핑 관계도 유사합니다. ADO는 DAO와 RDO에서 사용하는 객체 모델을 "확장"하여, 객체 수는 적고, 속성, 메서드(및 매개변수), 이벤트를 더 많이 포함합니다. 최신 데이터베이스 접근 방식인 ADO는 간단하고 사용하기 쉬워서, 마이크로소프트는 앞으로 ADO에 집중하고 DAO/RDO는 업그레이드하지 않을 것임을 분명히 밝혔고, ADO는 현재 데이터베이스 개발의 주류가 되었습니다. ADO는 DSN(데이터 소스 이름), ODBC(오픈 데이터 연결), OLE DB의 세 가지 유형의 데이터 저장을 포함합니다. 다음 루틴들은 이 세 가지 방법의 구체적인 구현 방식을 자세히 설명할 것입니다. --- ODBC, OLEDB와 같은 시스템 수준 프로그래밍 인터페이스의 융합과 DAO, RDO와 같은 애플리케이션 레벨 프로그래밍 인터페이스의 업그레이드라고 할 수 있습니다.
ADO.NET
은 데이터 공유를 위한 분산 애플리케이션을 만드는 데 사용할 수 있는 표준 기반 프로그래밍 모델입니다. ADO.NET 데이터셋은 데이터베이스 내 일부 데이터의 메모리 내 복사본 역할을 하는 중요한 역할을 합니다. ADO의 RecordSet과 달리, DataSet은 데이터베이스 테이블이나 뷰의 데이터를 표현하는 데 사용할 수 있는 모든 데이터 테이블을 포함할 수 있습니다. DataSet은 메모리에 존재하며 원래 데이터베이스에 부착되어 있지 않아, 원래 데이터베이스에 계속 연결할 필요가 없습니다. 이 역할을 수행하는 기본 기술은 DataSets에서 사용하는 저장 및 전송 형식인 XML입니다. 런타임 동안 DataSet 내 데이터는 비즈니스 로직 객체나 asp.net 웹 폼과 같은 컴포넌트 간에 교환되어야 합니다. 데이터는 XML 파일 형태로 한 구성 요소에서 다른 구성 요소로 전송되며, 이 파일은 DataSet 형태로 복원됩니다. DataSet 접근법은 관계형 데이터 모델과 정확히 동일한데, 각 데이터 소스의 프로토콜이 다르기 때문에 올바른 프로토콜을 통해 데이터 소스에 접근해야 하기 때문입니다. 일부 오래된 데이터 소스는 ODBC 프로토콜을 사용하고, 일부 후기 데이터 소스는 OleDb 프로토콜을 사용하며, 현재도 많은 새로운 데이터 소스가 등장하여 데이터 소스에 대한 공통 접근 방식을 제공 ADO.NET 하고, 서로 다른 데이터 소스에 대해서는 서로 다른 라이브러리를 사용합니다. 이 라이브러리들은 데이터 제공자(Data Provider)라고 하며, 보통 데이터 소스의 유형과 프로토콜의 이름을 따서 명명됩니다
ODBC, DAO, ADO, OLEDB 데이터베이스 간의 차이점과 연결
ODBC는 기본 접근 기술이므로, ODBC API는 데이터베이스를 하단에서 설정하고 제어할 수 있는 고객 애플리케이션이 될 수 있으며, 고급 데이터베이스 기술이 수행할 수 없는 기능들을 수행할 수 있습니다; 하지만 단점은 ODBC가 관계형 데이터베이스에만 사용할 수 있어, 객체 데이터베이스나 기타 비관계형 데이터베이스에 ODBC를 사용해 접근하기 어렵다는 점입니다. DAO는 절차적 코드를 통해 데이터베이스를 생성하고 조작하는 메커니즘을 제공합니다. 가장 큰 장점은 MICROSOFT JET 데이터베이스를 쉽게 사용할 수 있다는 점이며, JET 데이터베이스 운영에 있어 최고의 기술 인터페이스 중 하나입니다. 그리고 DAO 기술을 통해 텍스트 파일부터 대규모 백그라운드 데이터베이스에 이르기까지 다양한 데이터 형식에 접근할 수 있습니다. ADO는 OLE DB를 기반으로 한 접근 인터페이스로, OLE DB의 장점을 계승한 객체지향 OLE DB 기술입니다. 데이터베이스 접근을 위한 고수준 인터페이스입니다.
ADO와 OLEDB의 관계
OLEDB는 기본 데이터 접근 인터페이스입니다. 서드파티 드라이버, ADO 기술로 데이터 소스를 출력하는 애플리케이션을 개발하는 판매자, 또는 C++ 개발자가 맞춤형 데이터베이스 구성 요소를 개발하는 데 사용됩니다. OLE DB는 데이터 접근을 위한 중요한 시스템 수준 프로그래밍 인터페이스이며, ADO의 기초 기술과 ADO.NET 의 데이터 소스입니다. ADO는 OLE DB를 기반으로 한 접근 인터페이스로, OLE DB의 장점을 계승한 객체지향 OLE DB 기술입니다. 데이터베이스 접근을 위한 고수준 인터페이스입니다.
ADO는 OLEDB를 위한 고급 애플리케이션 API 기능을 제공한다고 할 수 있습니다.
|