순수 TypeScript로 서버 함수와 데이터 로직을 작성할 수 있는 웹 앱용 오픈소스 리액티브 데이터베이스입니다.
pubkey/rxdb
브라우저, Node.js, React Native, Electron에서 실행되며 자체 백엔드와 복제할 수 있는 JavaScript 앱용 로컬 우선 반응형 NoSQL 데이터베이스입니다.
대체할 수 있는 제품:Firebase Realtime Database
Firestore
- 스타
- 23,411
- 포크
- 1,182
- 열린 이슈
- 19
- 마지막 커밋
- 8시간 전
어떤 프로젝트인가요?
RxDB는 데이터를 로컬 우선으로 관리하고 변경 사항을 구독할 수 있는 JavaScript 애플리케이션용 NoSQL 데이터베이스입니다. 쿼리는 한 번 실행하거나 변경을 관찰할 수 있어, 쿼리 결과나 단일 필드가 바뀌면 UI가 자동으로 업데이트됩니다.
스토리지 계층은 플러그인 방식으로 교체할 수 있습니다. 같은 데이터베이스 코드를 LocalStorage, IndexedDB, OPFS, SQLite, 메모리 내 저장소, WebWorker 또는 다른 엔진 위에서 실행할 수 있어 브라우저, Node.js, React Native, Capacitor, Flutter, Electron에서 사용할 수 있습니다.
동기화를 위해 RxDB에는 직접 구현한 HTTP 엔드포인트와 연동되는 복제 엔진이 포함되어 있으며, GraphQL, CouchDB, WebSocket, WebRTC, Supabase, Firestore, NATS, Google Drive용 플러그인도 제공합니다. 스키마 검증, 암호화, 마이그레이션, 충돌 처리, 첨부 파일, CRDT도 지원합니다.
핵심 기능
- 01쿼리 결과나 단일 필드가 변경되면 업데이트를 내보내는 반응형 쿼리.
- 02IndexedDB, OPFS, SQLite, 메모리 내 저장소 등을 지원하는 플러그인 방식의 스토리지 엔진.
- 03자체 HTTP 엔드포인트 또는 GraphQL, CouchDB, Supabase 등의 플러그인을 통한 복제.
- 04스키마 검증, 암호화, 마이그레이션, 충돌 처리.
- 05브라우저, Node.js, React Native, Capacitor, Flutter, Electron에서 실행.
활용 사례
- 클라이언트에 데이터를 저장하는 오프라인 지원 또는 실시간 UI 앱 구축.
- 특정 클라우드 데이터베이스를 도입하지 않고 기존 백엔드에 동기화 기능 추가.
- 웹, 모바일, 데스크톱 JavaScript 환경에서 하나의 데이터 계층 공유.
- 뷰가 실시간으로 업데이트되는 멀티플레이어 또는 협업 기능 구현.
빠른 시작
- 1
npm으로 RxDB와 RxJS를 설치합니다
npm install rxdb rxjs --save - 2
컬렉션이 포함된 데이터베이스를 만들고 문서를 삽입합니다
- 3
데이터를 한 번 쿼리하거나 라이브 쿼리 결과를 구독합니다
사용 전 알아둘 점
- 퀵스타트에서는 브라우저 저장소로 LocalStorage를 사용하며, 다른 환경에서는 별도의 저장소 플러그인이 필요합니다.
- 일부 복제 플러그인과 고급 기능은 유료이며 구매해야 합니다.
토픽
자주 묻는 질문
- rxdb은(는) 무엇인가요?
- 브라우저, Node.js, React Native, Electron에서 실행되며 자체 백엔드와 복제할 수 있는 JavaScript 앱용 로컬 우선 반응형 NoSQL 데이터베이스입니다. RxDB는 데이터를 로컬 우선으로 관리하고 변경 사항을 구독할 수 있는 JavaScript 애플리케이션용 NoSQL 데이터베이스입니다. 쿼리는 한 번 실행하거나 변경을 관찰할 수 있어, 쿼리 결과나 단일 필드가 바뀌면 UI가 자동으로 업데이트됩니다.
- rxdb은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- rxdb은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- rxdb은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. rxdb의 마지막 커밋은 2026년 10월 21일입니다.
- rxdb은(는) 어디에 사용할 수 있나요?
- 클라이언트에 데이터를 저장하는 오프라인 지원 또는 실시간 UI 앱 구축. 특정 클라우드 데이터베이스를 도입하지 않고 기존 백엔드에 동기화 기능 추가. 웹, 모바일, 데스크톱 JavaScript 환경에서 하나의 데이터 계층 공유. 뷰가 실시간으로 업데이트되는 멀티플레이어 또는 협업 기능 구현.
- rxdb는 어떻게 설치하나요?
- npm으로 RxDB와 RxJS를 설치합니다: npm install rxdb rxjs --save 컬렉션이 포함된 데이터베이스를 만들고 문서를 삽입합니다 데이터를 한 번 쿼리하거나 라이브 쿼리 결과를 구독합니다
- rxdb은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/pubkey/rxdb
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
뷰어, 발표 모드, 편집기를 모두 포함한 단일 HTML 파일로 제공되는 PowerPoint 대안입니다.
JavaScript, TypeScript, CSS, HTML, Markdown, YAML 등의 코드를 일관된 스타일로 다시 출력하는 주관이 뚜렷한 코드 포매터입니다.
네이티브 렌더링 엔진을 사용해 웹 프론트엔드(React, Vue, Svelte 등)를 갖춘 크로스 플랫폼 데스크톱 앱을 만들 수 있는 Go 프레임워크입니다.
React Native 앱 개발에 유용한 라이브러리, 도구, 뉴스 출처와 학습 자료를 모아 정리한 목록입니다.
JavaScript 또는 TypeScript로 네이티브 UI와 API를 직접 사용하는 iOS, Android, visionOS 앱을 만들기 위한 프레임워크입니다.