Carbonado는 Java 응용 프로그램을위한 확장 가능한 고성능 지속성 추상화 계층으로 기본 지속성 기술에 대한 관계형 견해를 제공합니다. JDBC 액세스 가능한 SQL 관계형 데이터베이스에서 지속성을 제공하거나 버클리 DB 일 수 있습니다. 또한 둘 사이에 완전히 복제 될 수 있습니다.
후원 데이터베이스가 SQL 기반이 아닌 경우에도 Carbonado는 여전히 모든 종류의 관계형 데이터베이스에서 발견되는 많은 핵심 기능을 지원합니다. 쿼리, 조인, 인덱스를 지원하며 쿼리 최적화를 수행합니다. 이러한 방식으로 사용될 때 Carbonado는 단순히 관계형 데이터베이스의 계층 일뿐 만 아니라 관계형 데이터베이스 입니다 . SQL은 관계형 데이터베이스를 구현하기위한 요구 사항이 아닙니다.
Carbonado에서 새로운 유형을 정의하려면 Java Bean 컨벤션을 따르는 인터페이스 또는 초록 클래스를 만드는 것이 포함됩니다. 추가 정보는 특수 주석을 삽입하여 지정됩니다. 최소한 기본 키를 지정하려면 주석이 필요합니다. 주석은 Java 5에서 처음으로 사용할 수있는 기능이며, 결과적으로 Carbonado는 Java 5에 따라 다릅니다.
표면적으로, Carbonado 유형은 Pojos처럼 정의 된 것으로 보일 수 있습니다. 차이점은 Carbonado에서 유형이 관계의 객체 표현이라는 것입니다. 객체 데이터베이스 나 객체 관계 브리지가 아닙니다. 또한 데이터 유형 정의는 단순히 인터페이스이며 외부 구성 파일이 없습니다. 유형을 구현하기위한 모든 코드는 자동으로 생성되지만 추가 빌드 시간 단계는 없습니다.
Carbonado는 실제 스토리지에 액세스 할 때 매우 낮은 오버 헤드를 부과하여 고성능을 달성 할 수 있습니다. Cojen 라이브러리를 통해 성능 임계 코드를 자동 생성함으로써 낮은 오버 헤드가 부분적으로 달성됩니다.
Carbonado 1.2는 여기와 릴리스 노트에 요약 된 많은 새로운 기능을 추가합니다.
일반적인 특징
저장소
JDBC 기능
쿼리 엔진 기능
Carbonado는 더 나은 의존성 관리를 위해 여러 패키지 번들로 분류됩니다. Carbonado를 시작하는 가장 쉬운 방법은 Berkeley DB JE Backed Repository를 사용하는 것입니다. 이를 위해서는 Carbonado와 Carbonados Sleepycatje 패키지 번들을 가져와야합니다.
Carbonado Core Carbonado Code는 Apache Commons Logging, Joda-Time 및 Cojen에 따라 다릅니다.
Carbonadosleepycatje에는 Sleepycat/Oracle, Berkeley DB Java Edition을 지원하기위한 저장소가 포함되어 있습니다. 버클리 DB JE 코드는 별도로 다운로드하고 설치해야합니다.
CarbonAdosleePyCATDB에는 Sleepycat/Oracle Berkeley DB를 지원하기위한 저장소가 포함되어 있습니다. 버클리 DB 코드는 별도로 다운로드하고 설치해야합니다.
Carbonado Terminology에서 SQL 용어로의 느슨한 매핑 :
카르 보도 | SQL |
---|---|
저장소 | 데이터 베이스 |
저장 | 테이블 |
저장 가능한 정의 | 테이블 정의 |
저장 가능한 인스턴스 | 표 행 |
재산 | 열 |
질문 | 명령문을 선택/삭제합니다 |
커서 | 결과 세트 |
Carbonado Queries는 SQL이 선택한 것만 큼 표현력이 없습니다. SQL과 달리 Carbonado Queries는 데이터 처리 또는 집계 기능을 지원하지 않습니다.
Carbonado는 자동 색인 선택을 가능하게하는 최소 쿼리 기능을 지원합니다. SQL에서 사용 가능한 다른 기능은 코드로 에뮬레이션 할 수 있습니다. 데이터베이스가 로컬 인 경우 성능 손실을 제공하지 않습니다.
SQL을 통해 편리한 층으로 카르 보도를 사용하려는 응용 프로그램은 전체 SQL 기능을 사용할 수 없습니다. Carbonado는 결코 JDBC를 대체하지 않습니다. 이러한 종류의 응용 프로그램은 Carbonado와 JDBC의 혼합을 선택할 수 있습니다. 이를 용이하게하기 위해 현재 트랜잭션에서 사용중인 JDBC 연결에 대한 액세스가 지원됩니다.
Berkeley DB가 뒷받침하는 Carbonado 저장소는 규칙 기반 쿼리 최적화기를 사용하여 쿼리 계획을 세웁니다. 비용 기반 최적화기는 I/O 비용을 추정하기 때문에 일반적으로 훨씬 더 효과적입니다. Carbonado는 주로 쓰기가 더 쉽기 때문에 규칙 기반 최적화기를 가지고 있습니다.
Carbonado는 다양한 종류의 지속성 기술을 지원할 수 있습니다. 그러나 노력을 정당화하기에 충분한 카르 보도 기능을 제공하기 위해서는 최소한의 기능 세트가 필요합니다.
이상적으로는 지속성 기술은 거래를 지원해야합니다. 그렇지 않은 경우 메모리의 업데이트를 배치하여 거래를 구현해야합니다. 거래가 커밋 될 때까지 업데이트는 지속되지 않습니다. 원자 배치 업데이트가 지원되면 저장소는 "Commited"의 격리 수준을 지원하는 것을보고 할 수 있습니다. 그렇지 않으면 가장 낮은 수준의 "커밋되지 않은 읽기"만 지원할 수 있습니다.
보유하기에 좋지만 엄격하게 필요하지 않은 추가 기능 :