R2D1 / 모듈형 JAVA 영속성

Java를 위한 문서 저장과 인덱스 쿼리.

완전한 문서는 하나의 DocumentStore에, 인덱스 조회는 하나의 IndexStore에 맡기세요. R2D1은 지원되는 백엔드와 통합 방식에 관계없이 컬렉션 API를 동일하게 유지합니다.

Latest stable: 1.8.0

R2D1하나의 컬렉션 API
구현 버전

사용할 구현 버전을 선택하세요.

Maven Central의 Java 라이브러리 또는 Node.js와 Cloudflare Workers용 TypeScript 패키지를 사용할 수 있습니다.

JAVA / MAVEN CENTRAL

Java

Cloudflare R2와 D1, 로컬 저장소, JDBC, 프레임워크 통합을 위한 Java 모듈입니다.

Java 문서 →
TYPESCRIPT / NPM

TypeScript

Node.js와 Cloudflare Workers를 지원하며 Java와 호환되는 저장소 규약을 사용하는 TypeScript 패키지입니다.

TypeScript 개요 →
지원 백엔드

두 부분을 먼저 선택하세요.

R2D1은 하나의 DocumentStore와 하나의 IndexStore를 조합합니다. 각 열에서 하나를 선택하고 설정 가이드를 따른 다음 공통 컬렉션 API를 사용하세요.

문서 저장소

완전한 문서

직렬화된 원본 콘텐츠, 식별자 조회, 문서 목록을 담당합니다.

R2

CLOUDFLARE

비동기 AWS SDK 클라이언트를 통한 Cloudflare R2입니다.

R2 설정 →

FILESYSTEM

LOCAL

원자적 교체 의미를 제공하는 로컬 canonical 파일입니다.

Filesystem 설정 →
인덱스 저장소

인덱스 조회

필터와 정렬에 사용하는 문서 식별자 및 명시적으로 인덱싱한 필드를 담당합니다.

D1

CLOUDFLARE

Java 비동기 REST 클라이언트를 통한 Cloudflare D1입니다.

D1 설정 →

JDBC

H2 / HSQLDB / SQLITE

애플리케이션이 소유하는 DataSource와 JDBC 실행 경계입니다.

JDBC 설정 →
공통 API

한 번 설정하고 같은 API를 사용하세요.

두 백엔드를 설정하면 어떤 조합에서도 같은 annotation, 컬렉션 생명주기, 변경 메서드, 인덱스 쿼리 빌더를 사용합니다.

@Document("users")
record User(@Id String id, @Index String country, @Index long score) {}

R2D1 database = R2D1.builder()
    .collectionFactory(new PersistenceCollectionFactory(
        documentStore, indexStore, documentCodec, indexStore::initialize))
    .build();

R2D1Collection<User> users = database.collection(User.class);
users.put(new User("user-123", "NZ", 42));

Page<User> page = users.query()
    .where("country").eq("NZ")
    .sortBy("score", SortDirection.DESC)
    .limit(20)
    .fetch();

전체 설정, adapter 선택, 생명주기 규칙은 시작하기 문서.

MODULES & INTEGRATIONS

모듈과 프레임워크 통합.

R2D1 1.8.0에는 공통 API와 저장소 어댑터, Micronaut·Spring Boot 통합과 함께 Quarkus 확장이 포함됩니다.

CORE + CLOUDFLARE

R2D1

dev.nexcraft:r2d1

공통 컬렉션 API와 R2 DocumentStore 및 D1 IndexStore adapter입니다.

모듈 설정 →
INDEX STORE

R2D1-JDBC

dev.nexcraft:r2d1-jdbc

애플리케이션 소유 DataSource를 통한 H2, HSQLDB, 로컬 SQLite 인덱스입니다.

JDBC 설정 →
DOCUMENT STORE

R2D1-FILESYSTEM

dev.nexcraft:r2d1-filesystem

원자적 교체와 명시적 executor 소유권을 사용하는 canonical 로컬 문서 파일입니다.

Filesystem 설정 →
FRAMEWORK INTEGRATION

R2D1-MICRONAUT

dev.nexcraft:r2d1-micronaut

동일한 프레임워크 독립 컬렉션 API를 Micronaut 5 bean 설정과 연결합니다.

Micronaut 설정 →
FRAMEWORK INTEGRATION

R2D1-SPRING-BOOT-STARTER

dev.nexcraft:r2d1-spring-boot-starter

Maven Central에 게시된 Spring Boot 4 starter와 별도 auto-configuration입니다.

Spring Boot 설정 →
FRAMEWORK INTEGRATION

R2D1-QUARKUS

dev.nexcraft:r2d1-quarkus

CDI 설정과 애플리케이션 소유 리소스를 제공하는 Quarkus 3.39.5 확장으로 R2D1 1.8.0에 포함됩니다.

Quarkus 설정 →

백엔드를 선택하고 하나의 API를 사용하세요.

문서 저장소와 인덱스 저장소를 설정하고 metadata를 정의한 다음 컬렉션을 여세요.

시작하기 읽기