.NET

Uso do Couchbase para armazenar dados não JSON

Acredito que a maior parte do poder de Servidor Couchbase vem quando você o usa como um banco de dados de documentos para armazenar documentos JSON. Você pode usar N1QLpor exemplo! No entanto, há ocasiões em que você precisa do Couchbase para armazenar outra coisa. Nesta postagem do blog, mostrarei como armazenar dados XML e binários no Couchbase. Usarei o SDK do .NET, mas acredito que os outros SDKs também ofereçam suporte a essas operações.

Revisão do armazenamento de documentos JSON

Uma rápida revisão do armazenamento de documentos JSON no Couchbase. Depois de ter um bucket, você pode simplesmente usar Inserir/Upsert para criar/atualizar um documento e, em seguida, usar Obter para obter o documento de volta. Com o SDK do .NET, a serialização é tratada automaticamente para o tipo que você especificar.

Armazenamento de XML

O armazenamento de XML exige um pouco mais de trabalho. Primeiro, eu seralizo um objeto em uma string XML, usando XmlSerializer. Então, eu Inserir esse valor como uma string. Para recuperá-lo, uso o comando XmlSeralizador novamente para passar de string para um tipo.

Armazenamento de uma serialização de matriz de bytes

Em seguida, vou serializar um objeto em um objeto byte matriz. Ao contrário do JSON e do XML, o armazenamento em uma matriz de bytes significa que o objeto só pode ser serializado novamente em um objeto .NET.

O processo é semelhante ao XML, exceto Inserir e Obter especificará byte[] em vez de stringe estou usando o BinaryFormatter em vez de XmlSerializer.

Resumo

Executar o programa de console de amostra (O código-fonte está disponível no Github) produz:

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

Depois de executar os exemplos de código acima, isso é o que você verá no Console do Couchbase:

View of JSON and byte array values in Couchbase Console

Os documentos não JSON existem no mesmo bucket que os documentos JSON. Mas, como você pode ver, o Couchbase Server não sabe como interpretá-los. Portanto, você não poderá executar a maioria das operações N1QL nesses documentos. Não é possível indexar seus valores como em um documento JSON. E, no caso da matriz de bytes .NET, um programa que não seja .NET não conseguirá interpretá-los de forma alguma.

Se você puder armazenar seus valores em JSON, eu o recomendaria. Mas o Couchbase Server lhe dá a flexibilidade de armazenar outros tipos de valores.

Tem dúvidas? Precisa de ajuda com o Couchbase Server? Dê uma olhada na seção Fóruns do Couchbase ou Siga-me no Twitter.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Matthew Groves

Matthew D. Groves é um cara que adora programar. Não importa se é C#, jQuery ou PHP: ele enviará solicitações de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente sênior de marketing de produtos da Couchbase. Seu tempo livre é passado com a família, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele é autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.