Uso de Couchbase para almacenar datos no JSON

Creo que la mayor parte del poder de Servidor Couchbase viene cuando lo utilizas como base de datos documental para almacenar documentos JSON. Puede utilizar N1QLpor ejemplo. Sin embargo, hay algunas ocasiones en las que necesitas Couchbase para almacenar algo más. En esta entrada del blog, voy a mostrarte cómo almacenar XML y datos binarios en Couchbase. Usaré el SDK .NET, pero creo que los otros SDKs también soportan estas operaciones.

Revisar el almacenamiento de documentos JSON

Un rápido repaso al almacenamiento de documentos JSON en Couchbase. Una vez que tengas un bucket, sólo tienes que utilizar Inserte/Upsert para crear/actualizar un documento y, a continuación, utilice Visite para volver a sacar el documento. Con el SDK .NET, la serialización se gestiona automáticamente al tipo que especifiques.

Almacenamiento de XML

Almacenar XML requiere un poco más de trabajo. Primero, seralizo un objeto en una cadena XML, usando XmlSerializer. Entonces, yo Inserte ese valor como cadena. Para recuperarlo, utilizo la función XmlSeralizer de nuevo para pasar de cadena a tipo.

Almacenamiento de una serialización de matriz de bytes

A continuación, voy a serializar un objeto en un archivo byte array. A diferencia de JSON y XML, almacenar en una matriz de bytes significa que el objeto sólo puede serializarse de nuevo en un objeto .NET.

El proceso es similar al de XML, salvo que Inserte y Visite especificará byte[] en lugar de cadenay estoy utilizando el BinaryFormatter en lugar de XmlSerializer.

Resumen

Ejecutar el programa de consola de ejemplo (El código fuente está disponible en Github) produce:

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

Después de ejecutar los ejemplos de código anteriores, esto es lo que verás en la consola de Couchbase:

View of JSON and byte array values in Couchbase Console

Los documentos no JSON existen en el mismo bucket que los documentos JSON. Pero como puedes ver, Couchbase Server no sabe cómo interpretarlos. Así que no podrás realizar la mayoría de las operaciones N1QL en estos documentos. No puedes indexar sus valores como en un documento JSON. Y, en el caso de la matriz de bytes .NET, un programa que no sea .NET no podrá interpretarlos en absoluto.

Si puedes almacenar tus valores en JSON, te lo recomiendo. Pero Couchbase Server te da la flexibilidad de almacenar otros tipos de valores.

¿Tienes preguntas? ¿Necesitas ayuda con Couchbase Server? Consulta el Foros de Couchbase o Sígame en Twitter.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Matthew Groves

A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviará pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribió una aplicación de punto de venta en QuickBASIC para la pizzería de sus padres, allá por los años noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.