{"id":1892,"date":"2015-02-27T16:17:40","date_gmt":"2015-02-27T16:17:39","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1892"},"modified":"2020-02-15T14:55:40","modified_gmt":"2020-02-15T22:55:40","slug":"data-modelling-key-design","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/data-modelling-key-design\/","title":{"rendered":"Dise\u00f1o de claves Couchbase y modelado de datos"},"content":{"rendered":"<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">La \u00faltima vez que examinamos la construcci\u00f3n\u00a0<a title=\"\u00edndices secundarios manuales\" href=\"\/blog\/es\/manual-secondary-indexes\/\">\u00edndices secundarios manuales<\/a>\u00a0en Couchbase: en efecto, usando Couchbase m\u00e1s por sus propiedades de almac\u00e9n de valores clave que como almac\u00e9n de documentos.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Siguiendo con el hilo clave-valor llegamos a una de las cuestiones m\u00e1s importantes en el modelado de bases de datos no relacionales: \u00bfc\u00f3mo nombramos nuestras claves? Respuesta: empezamos con un patr\u00f3n de claves. A continuaci\u00f3n veremos c\u00f3mo sacar partido de Couchbase con las mejores pr\u00e1cticas de modelado de datos.<\/p>\n<h2 style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; text-align: left;\">Tres formas de crear y utilizar claves en Couchbase<\/h2>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Existen, a grandes rasgos, tres formas de crear un patr\u00f3n de claves en un almac\u00e9n de claves-valores NoSQL:<\/p>\n<ul style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">\n<li>determinista: por ejemplo, la direcci\u00f3n de correo electr\u00f3nico que alguien utiliza para conectarse a su sistema<\/li>\n<li>generado por ordenador: por ejemplo, un UUID<\/li>\n<li>alguna combinaci\u00f3n de ambos: por ejemplo, un UUID con una parte determinista.<\/li>\n<\/ul>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">El patr\u00f3n de claves que elijamos depender\u00e1 en gran medida de c\u00f3mo pensemos acceder a los datos.<\/p>\n<h2 style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; text-align: left;\">Determinista<\/h2>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Supongamos que almacenamos el perfil de un usuario. Suponiendo que no haya cookies, \u00bfqu\u00e9 podemos saber de nuestro usuario despu\u00e9s de que haya iniciado sesi\u00f3n?<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Bueno, una cosa ser\u00eda su nombre de usuario.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">As\u00ed que, si queremos facilitarnos la vida a la hora de recuperar nuestro perfil de usuario, podemos teclearlo con el nombre de usuario de esa persona. Todo lo dem\u00e1s que necesitemos saber sobre esa persona podr\u00eda derivarse de su perfil de usuario, de un modo u otro.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">R\u00e1pidamente nos topamos con un problema: para que un usuario cambie su nombre de usuario ahora tenemos que crear un nuevo perfil de usuario con una nueva clave o crear un documento de b\u00fasqueda. Podr\u00edamos insistir en que nuestros usuarios nunca puedan cambiar su nombre de usuario, pero no es razonable hacerles sufrir innecesariamente.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Podr\u00edamos decidir que no supone mucho esfuerzo copiar los datos del perfil en un nuevo documento con una nueva clave. Alternativamente, podr\u00edamos utilizar algo no relacionado con los datos del usuario para nuestra clave.<\/p>\n<h2 style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; text-align: left;\">Generado por ordenador<\/h2>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">El principal inconveniente de una clave determin\u00edstica es que, normalmente, ser\u00e1 un elemento de los datos que estamos almacenando.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Si utilizamos algo como un UUID, nuestros usuarios pueden actualizar su direcci\u00f3n de correo electr\u00f3nico, o cualquier otra cosa que estemos utilizando como nombre de inicio de sesi\u00f3n, sin que tengamos que volver a crear su documento de perfil con una clave nueva.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Incluso podemos hacer que Couchbase haga el dise\u00f1o de claves por nosotros usando un contador.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Funciona as\u00ed:<\/p>\n<ol style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">\n<li>Alguien rellena el formulario de nueva cuenta y hace clic en \"Enviar\".<\/li>\n<li>Incrementamos nuestro documento contador y nos devuelve el siguiente n\u00famero hacia arriba (por ejemplo, 1001).<\/li>\n<li>Creamos un nuevo documento de perfil de usuario con la clave 1001.<\/li>\n<li>A continuaci\u00f3n, creamos\u00a0<a href=\"\/blog\/es\/manual-secondary-indexes\/\">buscar documentos<\/a>\u00a0para cosas como su nombre de usuario, lo que nos permite hacer una simple b\u00fasqueda en los datos que tenemos en el momento del inicio de sesi\u00f3n.<\/li>\n<\/ol>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Tambi\u00e9n obtenemos algunos beneficios secundarios al utilizar este patr\u00f3n para nombrar nuestra clave, como un contador que nos indica cu\u00e1ntos perfiles de usuario hemos creado durante la vida de la aplicaci\u00f3n.<\/p>\n<h2 style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; text-align: left;\">Teclas compuestas<\/h2>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Es cuando combinamos ambos m\u00e9todos que podemos empezar a hacer cosas realmente interesantes con Couchbase y c\u00f3mo usamos los nombres de las claves.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Ya hemos visto antes\u00a0<a title=\"incrustar\" href=\"\/blog\/es\/data-modelling-when-embed-or-refer\/\">cu\u00e1ndo incrustar datos en un documento grande y cu\u00e1ndo es mejor remitir<\/a> a otros documentos. Cuando decidimos referirnos a datos contenidos en documentos distintos, podemos construir nombres clave predecibles a partir de componentes que nos digan algo sobre lo que contiene el documento. <span style=\"font-weight: 400;\">Con llaves compuestas, buscamos naturalmente <\/span><span style=\"font-weight: 400;\">en<\/span><span style=\"font-weight: 400;\"> patrones.<\/span><\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Veamos de nuevo nuestro perfil de usuario. El documento principal se almacena bajo la clave\u00a0<em>1001<\/em>. Estamos trabajando en un sitio de comercio electr\u00f3nico, por lo que tambi\u00e9n queremos saber todos los pedidos que ha hecho nuestro cliente. \u00bfC\u00f3mo lo hacemos? Sencillo: almacenamos la lista de pedidos bajo la clave <em>1001::pedidos<\/em>.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">Del mismo modo, nuestro sistema podr\u00eda juzgar qu\u00e9 tipo de correos electr\u00f3nicos de marketing enviar a los clientes en funci\u00f3n de su gasto total en el sitio. En lugar de que el sistema lo calcule de nuevo cada vez, lo hacemos a la manera NoSQL: lo calculamos una vez y lo almacenamos para recuperarlo m\u00e1s tarde con la clave\u00a0<em>1001::pedidos::valor<\/em>.<\/p>\n<h2 style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; text-align: left;\">La pr\u00f3xima vez<\/h2>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">La pr\u00f3xima vez ver\u00e9 c\u00f3mo modelar los datos de la forma m\u00e1s efectiva para usarlos con las vistas de Couchbase.<\/p>\n<p style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'; line-height: 20.7999992370605px; text-align: left;\">","protected":false},"excerpt":{"rendered":"<p>Last time we looked at building\u00a0manual secondary indexes\u00a0in Couchbase: in effect, using Couchbase more for its key-value store properties than as a document store. Continuing that key-value thread takes us to one of the most important questions in non-relational database [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8982],"class_list":["post-1892","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Couchbase key design and data modeling - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Learn the ins and outs of Couchbase key design as well as NoSQL data modeling best practices in this short developer tutorial.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/data-modelling-key-design\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase key design and data modeling\" \/>\n<meta property=\"og:description\" content=\"Learn the ins and outs of Couchbase key design as well as NoSQL data modeling best practices in this short developer tutorial.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/data-modelling-key-design\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-02-27T16:17:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-02-15T22:55:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/\"},\"author\":{\"name\":\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/6c3060a94353df62a71d4672b3454555\"},\"headline\":\"Couchbase key design and data modeling\",\"datePublished\":\"2015-02-27T16:17:39+00:00\",\"dateModified\":\"2020-02-15T22:55:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/\"},\"wordCount\":715,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/\",\"name\":\"Couchbase key design and data modeling - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-02-27T16:17:39+00:00\",\"dateModified\":\"2020-02-15T22:55:40+00:00\",\"description\":\"Learn the ins and outs of Couchbase key design as well as NoSQL data modeling best practices in this short developer tutorial.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/data-modelling-key-design\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase key design and data modeling\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/6c3060a94353df62a71d4672b3454555\",\"name\":\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=gb1bc555cd9166b46d6063003c3b92317\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g\",\"caption\":\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\"},\"description\":\"Matthew Revell is a Lead Dev Advocate, EMEA Couchbase. He developed a global strategy for putting Couchbase front in the minds of the product's developers.\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/es\\\/author\\\/matthew-revell\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase key design and data modeling - The Couchbase Blog","description":"Aprenda los entresijos del dise\u00f1o de claves de Couchbase, as\u00ed como las mejores pr\u00e1cticas de modelado de datos NoSQL en este breve tutorial para desarrolladores.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/data-modelling-key-design\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase key design and data modeling","og_description":"Learn the ins and outs of Couchbase key design as well as NoSQL data modeling best practices in this short developer tutorial.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/data-modelling-key-design\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-02-27T16:17:39+00:00","article_modified_time":"2020-02-15T22:55:40+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/"},"author":{"name":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6c3060a94353df62a71d4672b3454555"},"headline":"Couchbase key design and data modeling","datePublished":"2015-02-27T16:17:39+00:00","dateModified":"2020-02-15T22:55:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/"},"wordCount":715,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/","url":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/","name":"Couchbase key design and data modeling - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-02-27T16:17:39+00:00","dateModified":"2020-02-15T22:55:40+00:00","description":"Aprenda los entresijos del dise\u00f1o de claves de Couchbase, as\u00ed como las mejores pr\u00e1cticas de modelado de datos NoSQL en este breve tutorial para desarrolladores.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/data-modelling-key-design\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase key design and data modeling"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6c3060a94353df62a71d4672b3454555","name":"Matthew Revell, Defensor principal del desarrollador, EMEA, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=gb1bc555cd9166b46d6063003c3b92317","url":"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g","caption":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase"},"description":"Matthew Revell es Lead Dev Advocate, EMEA Couchbase. Ha desarrollado una estrategia global para situar a Couchbase en la mente de los desarrolladores del producto.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-revell\/"}]}},"acf":[],"authors":[{"term_id":8982,"user_id":18,"is_guest":0,"slug":"matthew-revell","display_name":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=1892"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1892\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=1892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=1892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=1892"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=1892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}