Sin categoría

Almacén de perfiles de usuario: Modelado avanzado de datos - Parte 1

Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Kirk Kirkconnell, Ingeniero Superior de Soluciones, Couchbase

Kirk Kirkconnell fue Ingeniero Senior de Soluciones en Couchbase trabajando con clientes en múltiples capacidades para ayudarles en la arquitectura, despliegue y gestión de Couchbase. Su experiencia se centra en operaciones, alojamiento y soporte de aplicaciones a gran escala e infraestructuras de bases de datos.

13 Comentarios

  1. Muy bien escrito Kirk....esperando ansiosamente la parte II de esta serie.

  2. Hola Kirk, impresionante artículo. Apenas estoy entrando en NoSQL y quiero empezar a usar Couchbase, y este es un gran material de aprendizaje.

    Me gusta cómo utiliza las claves de cadena esencialmente como uniones entre documentos. Estoy debatiendo qué hacer en mi escenario más complejo: Digamos que estoy construyendo una aplicación que permite a los usuarios almacenar datos adicionales relacionados con los tweets de Twitter, por ejemplo "guardar este tweet como favorito". Un solo usuario podría tener fácilmente miles de estos favoritos acumulados a lo largo del tiempo. Esencialmente se trata de una relación de muchos a muchos entre Usuarios y Tweets. Siguiendo tu ejemplo, la clave para estos pequeños documentos podría ser: _

    En mi escenario, todas estas relaciones son estrictamente privadas para el usuario que las creó. Y todas ellas necesitan ser replicadas en el dispositivo del usuario a través de Couchbase Lite. Por estas razones, ¿sería mejor almacenarlas todas en un único documento para ese usuario, o quizás en documentos fragmentados en función de la hora, el flujo de Twitter, etc.?

    Gracias.

    1. Esta es una pregunta difícil, ya que hay pros y contras en ambos sentidos. Si los almacenas todos en un documento, ¿en qué momento un usuario superaría el límite de 20 MB del documento o tendría que arrastrar un gran documento JSON sólo para añadirle un tweet? Por otro lado, si cada tweet está en su propia, entonces usted podría llegar a una situación en la que tiene miles de millones de objetos y almacenar un montón de meta-datos como Couchbase almacena ~ 54 bytes por objeto de datos. Podrías expulsar eso también, pero tendrías un impacto en el rendimiento para ver si un documento existe.

      En cualquier caso, lo que yo recomendaría ver son tres posibilidades.

      1) Ver si almacenar cada tweet como un objeto, pero entonces la clave sería algo que describo en mi otro objeto modelado blog post funcionaría. http://bit.ly/1Hx3a74

      2) Otra opción que he visto utilizado con gran efecto es tener cada tweet en un documento separado, pero luego tener un documento de índice manual por usuario. Así que para obtener los favoritos de ese usuario, coges ese documento que tiene su "index" y en ese documento está la lista de los IDs de los objetos de los tweets que son sus favoritos. si necesitas obtenerlos todos, ahora que tienes la lista de objetos a obtener, usas las operaciones masivas del SDK de Couchbase y obtienes todos o la porción que necesitas. ¿Tiene sentido?

      3) Una mezcla de 1 y 2 en función de su caso de uso y del perfil de rendimiento requerido.

  3. Gran artículo. Gracias por la información. Alguien sabe dónde puedo encontrar un espacio en blanco \ "cómo enviar por correo electrónico la solicitud \" para llenar?

    1. Hey jeannie, I
      ha podido "enviar la solicitud por correo electrónico" desde este enlace
      http://goo.gl/yoGwr2. También me permitía descargar, editar, imprimir, guardar, firmar, enviar por correo electrónico o incluso por fax.

    2. ¿Cómo enviar un correo electrónico a quién?

  4. Franco Di Masi marzo 16, 2016 a 10:00 pm

    Buen artículo, ¡gracias! Esperando la segunda parte.

  5. Buen artículo.
    El modelado de datos de la tienda de perfiles de usuario sólo consideran el uso de Couchbase Server, si hay un consejo sobre el modelado de datos cuando uso Couchbase Server y Couchbase Mobile será útil.
    por ejemplo, al utilizar Couchbase Mobile, debemos tener en cuenta la restricción de enrutamiento SG/ACL, la restricción de consulta de CouchbaseLite por map/reduce, etc.

    1. Couchbase Mobile no es mi área de especialización, por lo que dudo que pueda hacer justicia al tema. Sin embargo, voy a pasar esto a los que podrían ser capaces de ayudar y escribir algo para ti. La otra opción para ti, si no lo has hecho ya, es usar los foros de Couchbase para preguntar sobre esto.

    2. También puedes empezar aquí, y publicaremos más formación sobre Couchbase Mobile en las próximas semanas. http://developer.couchbase.com

  6. Gran artículo Kirk. Información muy detallada. ¿Hay alguna fecha en mente para la parte 2 de este artículo?

    Gracias.

  7. [...] ejemplos de cómo podrías utilizar un patrón de ID de objeto estandarizado en tu aplicación, consulta esta y esta entrada de blog que escribí. Incluso si los casos de uso específicos en los blogs no son aplicables a [...]

  8. Cómo bellamente que resolver este problema gracias por compartir hombre sigue así.
    Proveedores de embalaje e impresión

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.