MongoDB에서 Couchbase로 문서 이동하기

아마 제 포스팅을 기억하실 겁니다. 카우치DB에서 카우치베이스로 데이터 이동하기. CouchDB가 아닌 MongoDB를 사용 중이시라면 실망감을 느끼셨을 것입니다. 죄송합니다. 이 문제를 해결해 보겠습니다. MongoDB에서 Couchbase로 데이터를 이동하는 방법은 다음과 같습니다.

사용의 좋은 점 중 하나는 RxJava 이 API가 점점 더 널리 보급되고 있다는 점입니다. 저희는 오래 전에 이러한 선택을 했고, 최근 몽고처럼 더 많은 사람들이 이 대열에 합류하는 것을 보게 되어 기쁩니다.

스트림 API를 공유한다는 사실은 일을 정말 쉽게 만들어줄 것입니다. 제 목표는 다음과 같은 옵저버블을 확보하는 것입니다. 몽고 문서를 생성하고 이를 Couchbase 문서에 매핑한 다음 Couchbase에 작성합니다. 보시다시피 이 프로세스는 RxJava로 모델링하기가 정말 쉽습니다. 의사 코드로는 다음과 같이 보일 것입니다:

getMongoCollectionStream().fromMongoDocumentToCouchbaseDocuments().writeCBdocToCouchbase()

다시 말하지만 이것은 RxJava와 매우 잘 맞습니다.

MongoDB를 사용하면 컬렉션을 열고 이를 문서의 Observable로 반환할 수 있습니다. 이것이 바로 우리에게 필요한 기능이며 몇 줄이면 가능합니다:

그런 다음 들어오는 문서를 카우치베이스 문서로 변환해야 합니다. 이를 위해 Rx 맵 연산자를 쉽게 사용할 수 있습니다. 카우치베이스에서 문서를 작성할 때는 키 또는 ID가 필요합니다. Mongo 문서에서는 ObjectID 추상화를 사용하여 _id 필드에 저장됩니다. 이는 몇 가지 기준에 따라 Mongo에서 생성됩니다. 일단 ID를 얻으면 문서를 JSON 문자열로 가져와서 그 문자열과 ID를 기반으로 RawJsonDocument를 생성하기만 하면 됩니다.

이 map.operation이 끝나면 관찰 가능한 카우치베이스 문서가 남습니다. 마지막 단계는 이를 Couchbase에 작성하는 것입니다.

이 코드를 모두 포함했으며 couchbase-java-importer에서 구성할 수 있도록 만들었습니다. Github에서 사용할 수 있습니다. 여기.

컬렉션에서 Couchbase로 바로 JSON 문서를 가져오는 것 외에 다른 작업이 필요하지 않다면 이것으로 충분합니다. 그냥 바이너리 를 실행하여 XML 구성 파일이 클래스 경로에 있고 올바른 정보를 포함하고 있는지 확인합니다.

이것은 MongoDB에서 Couchbase로 데이터를 이동하는 한 가지 특별한 방법입니다. 다른 방법도 있습니다. 예를 들어 두 데이터베이스 모두 CSV 가져오기를 지원하며, Mongo에는 CSV 내보내기가 있습니다. 따라서 CSV 파일이 있으면 다음을 사용할 수 있습니다. cbtransfer 또는 couchbase-java-importer를 사용하여 콘텐츠를 CouchBase로 가져올 수 있습니다.

이 모든 예제는 데이터를 가져오기 전에 데이터를 변환하지 않는다고 가정하고 있습니다. 변환 단계는 RxJava 임포터에 플러그인하면 정말 쉽게 할 수 있습니다. 코드는 매우 간단하므로 자유롭게 포크하거나 풀 리퀘스트를 보내주세요! 해당 프로젝트에 임포터를 더 추가하는 것도 CB 커뮤니티에 참여하는 좋은 방법이 될 수 있습니다 :)

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 로랑 도귄

Laurent는 파리에 사는 괴짜 금속공학도입니다. 주로 Java로 코드를 작성하고 AsciiDoc으로 구조화된 텍스트를 작성하며 데이터, 리액티브 프로그래밍 및 기타 유행어에 대해 자주 이야기합니다. 또한 Clever Cloud와 Nuxeo의 개발자 옹호자로 활동하며 해당 커뮤니티가 더 크고 강력하게 성장할 수 있도록 자신의 시간과 전문성을 바쳤습니다. 현재 Couchbase에서 개발자 관계를 운영하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.