저는 카우치베이스 서버 는 JSON 문서를 저장하는 문서 데이터베이스로 사용할 때 제공됩니다. 다음을 사용할 수 있습니다. N1QL를 예로 들 수 있습니다! 그러나 다른 것을 저장하기 위해 Couchbase가 필요한 경우도 있습니다. 이 블로그 게시물에서는 XML 및 바이너리 데이터를 Couchbase에 저장하는 방법을 보여드리겠습니다. 여기서는 .NET SDK를 사용하지만 다른 SDK에서도 이러한 작업을 지원한다고 생각합니다.

JSON 문서 저장 검토

Couchbase에서 JSON 문서를 저장하는 방법을 간단히 살펴봅니다. 버킷이 있으면, 그냥 삽입/Upsert 를 사용하여 문서를 생성/업데이트한 다음 Get 를 사용하여 문서를 다시 가져올 수 있습니다. .NET SDK를 사용하면 지정한 유형으로 직렬화가 자동으로 처리됩니다.

XML 저장

XML을 저장하려면 조금 더 많은 작업이 필요합니다. 먼저, 객체를 XML 문자열로 직렬화합니다. XmlSerializer. 그런 다음 삽입 해당 값을 문자열로 저장합니다. 이를 다시 꺼내려면 XmlSeralizer 를 다시 입력하면 문자열에서 유형으로 전환됩니다.

바이트 배열 직렬화 저장

다음으로, 객체를 객체를 바이트 배열로 저장합니다. JSON 및 XML과 달리 바이트 배열로 저장하면 개체를 다시 .NET 개체로만 직렬화할 수 있습니다.

프로세스는 다음과 같은 점을 제외하면 XML과 유사합니다. 삽입 그리고 Get 는 다음을 지정합니다. byte[] 대신 문자열를 사용하고 있으며 바이너리포맷터 대신 XmlSerializer.

요약

샘플 콘솔 프로그램 실행(소스 코드는 깃허브에서 확인할 수 있습니다.)가 생산합니다:

Console output of sample program creating non-JSON values in Couchbase Server

위의 코드 예제를 실행하면 Couchbase 콘솔에 다음과 같은 내용이 표시됩니다:

View of JSON and byte array values in Couchbase Console

비 JSON 문서는 JSON 문서와 동일한 버킷에 존재합니다. 하지만 보시다시피, Couchbase Server는 이를 해석하는 방법을 모릅니다. 따라서 이러한 문서에 대해 대부분의 N1QL 작업을 수행할 수 없습니다. JSON 문서처럼 값을 색인할 수 없습니다. 그리고 .NET 바이트 배열의 경우, .NET이 아닌 프로그램은 이를 전혀 해석할 수 없습니다.

값을 JSON으로 저장할 수 있다면 이 방법을 추천합니다. 하지만 카우치베이스 서버는 다른 유형의 값을 저장할 수 있는 유연성을 제공합니다.

질문이 있으신가요? 카우치베이스 서버에 대한 도움이 필요하신가요? 다음을 확인하세요. 카우치베이스 포럼 또는 트위터에서 팔로우하기.

작성자

게시자 매튜 그로브스

Matthew D. Groves는 코딩을 좋아하는 사람입니다. C#, jQuery, PHP 등 무엇이든 풀 리퀘스트를 제출할 정도로 코딩을 좋아합니다. 90년대에 부모님의 피자 가게를 위해 QuickBASIC POS 앱을 만든 이후로 전문적으로 코딩을 해왔습니다. 현재 Couchbase의 선임 제품 마케팅 관리자로 일하고 있습니다. 여가 시간에는 가족과 함께 축구 경기를 관람하고 개발자 커뮤니티에 참여하며 시간을 보냅니다. 그는 .NET의 AOP, .NET의 프로 마이크로서비스, Pluralsight 저자, Microsoft MVP의 저자이기도 합니다.

댓글 남기기