{"id":9527,"date":"2020-10-19T23:43:40","date_gmt":"2020-10-20T06:43:40","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9527"},"modified":"2025-06-13T19:27:19","modified_gmt":"2025-06-14T02:27:19","slug":"couchbase-views-and-better-alternatives-part-1-of-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-views-and-better-alternatives-part-1-of-2\/","title":{"rendered":"Vistas de Couchbase y mejores alternativas [Parte 1 de 2]."},"content":{"rendered":"<h5><strong>Introducci\u00f3n<\/strong><\/h5>\n<p>Este blog est\u00e1 dirigido a usuarios familiarizados con los conceptos b\u00e1sicos de Couchbase Server y Views. Los usuarios novatos deber\u00edan<a href=\"https:\/\/docs.couchbase.com\/server\/current\/getting-started\/start-here.html\"> Empieza aqu\u00ed<\/a> para obtener una comprensi\u00f3n b\u00e1sica de Couchbase Server y luego<a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/learn\/views\/views-basics.html\"> continuar aqu\u00ed<\/a> para conocer Views.<\/p>\n<p>Las vistas se a\u00f1adieron en Couchbase Server hace casi nueve a\u00f1os para soportar el acceso a claves secundarias en los datos json almacenados. Nos han servido bien, pero ahora tenemos mejores alternativas, a saber <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/services-and-indexes\/indexes\/global-secondary-indexes.html\">Indexaci\u00f3n secundaria global<\/a> y <a href=\"https:\/\/docs.couchbase.com\/server\/current\/getting-started\/try-a-query.html\">Consulta N1QL<\/a>, <a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/full-text-intro.html\">B\u00fasqueda de texto completo<\/a> y <a href=\"https:\/\/docs.couchbase.com\/server\/current\/analytics\/introduction.html\">Anal\u00edtica<\/a>. En este blog trataremos de obtener una comprensi\u00f3n b\u00e1sica de Views, los casos de uso comunes que soportan y sus limitaciones. M\u00e1s adelante, en un segundo blog, echaremos un vistazo a las mejores alternativas antes mencionadas.<\/p>\n<h5><strong>\u00bfQu\u00e9 es una vista Couchbase?<\/strong><\/h5>\n<p>En primer lugar, vamos a aprender qu\u00e9 es una vista Couchbase y c\u00f3mo funciona. Una vista es b\u00e1sicamente una versi\u00f3n materializada de partes seleccionadas de un conjunto de datos. Su definici\u00f3n se almacena en un documento de dise\u00f1o que comprende una funci\u00f3n \"Map\" que opera sobre los datos Clave-Valor que luego se alimentan a una fase posterior (opcional) \"Reduce\" que resume a\u00fan m\u00e1s los datos. Ambas salidas se materializan en disco en el directorio \"views\" de cada nodo de datos del cl\u00faster.<\/p>\n<h5><strong>\u00bfC\u00f3mo funciona una vista?<\/strong><\/h5>\n<p>Las vistas de Couchbase son finalmente consistentes con sus datos de origen. Cada vista se actualiza a intervalos frecuentes, por defecto cada 5 segundos o 5000 mutaciones, lo que ocurra primero. Son similares a las vistas materializadas de Oracle que son locales a las particiones de datos y se actualizan utilizando un conjunto de reglas en algunos intervalos predefinidos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-9528\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Views-blog-grphic-1-300x126.png\" alt=\"\" width=\"1066\" height=\"447\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-1-300x126.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-1-768x322.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-1-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-1.png 991w\" sizes=\"auto, (max-width: 1066px) 100vw, 1066px\" \/><\/p>\n<p>Las r\u00e9plicas de vistas y la compactaci\u00f3n son muy f\u00e1ciles de configurar. Las r\u00e9plicas pueden activarse f\u00e1cilmente por bucket. La compactaci\u00f3n puede configurarse con la misma facilidad junto con la pol\u00edtica de compactaci\u00f3n de los buckets.<\/p>\n<p>Las vistas utilizan funciones map y reduce para precalcular y almacenar sus resultados, minimizando as\u00ed la necesidad de realizar c\u00e1lculos justo a tiempo. Las funciones de las vistas est\u00e1n escritas en JavaScript. Por lo tanto, se puede expresar una l\u00f3gica bastante compleja en la definici\u00f3n de una vista sin tener que sufrir largas latencias en el momento de la consulta. Una funci\u00f3n de mapa es la parte m\u00e1s importante de cualquier vista, ya que crea una correspondencia l\u00f3gica entre el conjunto de datos de origen y el subconjunto que contiene la vista. Cada funci\u00f3n de mapa recibe un argumento \"doc\" y un argumento \"meta\" que dan a la funci\u00f3n acceso a cada elemento almacenado y a sus metadatos.<\/p>\n<p>La forma b\u00e1sica de una funci\u00f3n de mapa es la siguiente:<\/p>\n<pre class=\"font-size:11 lang:default decode:true\">function(doc, meta)\r\n{\r\n    if (doc.attribute){\r\n        emit(doc.attribute);\r\n    }\r\n}\r\n<\/pre>\n<p>Esta funci\u00f3n devuelve filas que contienen claves y valores de doc.attribute.<\/p>\n<p>Couchbase proporciona algunas funciones de reducci\u00f3n integradas, a saber, _count (proporciona un simple recuento de las filas que se obtienen mediante la funci\u00f3n map), _sum (proporciona una suma de los valores obtenidos mediante la funci\u00f3n map siempre que sean num\u00e9ricos; admite la suma a nivel de grupo) y _stats (proporciona recuento, m\u00ednimo, m\u00e1ximo, suma y cuadrado de la suma de los valores obtenidos mediante la funci\u00f3n map siempre que sean num\u00e9ricos).<\/p>\n<p>Es posible escribir funciones de reducci\u00f3n personalizadas, as\u00ed como sobrescribir las funciones de reducci\u00f3n incorporadas.<\/p>\n<h5><strong>Consulta de una vista<\/strong><\/h5>\n<p>Las consultas de vista pueden basarse en una sola clave, en un conjunto de claves o en rangos de claves con un inicio y un final especificados. Una consulta de vista puede dirigirse a cualquier nodo de Datos, que la difunde al resto de nodos de Datos del cl\u00faster y recoge los resultados de los mismos, los coteja y responde a la consulta. Este enfoque se denomina \"dispersar y reunir\".<\/p>\n<p>Las vistas ofrecen tres niveles de coherencia en el momento de la consulta mediante el uso de un par\u00e1metro denominado 'stale'. El valor 'update_after' es el predeterminado. Devuelve los resultados de la consulta de la vista y, a continuaci\u00f3n, activa una actualizaci\u00f3n del \u00edndice. Ofrece respuestas r\u00e1pidas, pero los resultados de la consulta pueden ser obsoletos. El valor 'ok' significa que los resultados de la consulta se devuelven sin activar una actualizaci\u00f3n del \u00edndice. Obviamente, ofrece respuestas r\u00e1pidas pero tienen el potencial de ser obsoletas. El valor 'false' significa que el \u00edndice de la vista se actualiza antes de ejecutar la consulta, por lo que la respuesta puede retrasarse.<\/p>\n<h5><strong>Casos de uso habituales de las vistas<\/strong><\/h5>\n<p>Las vistas admiten f\u00e1cilmente casos de uso comunes como:<\/p>\n<ul>\n<li>generar listas de datos sobre determinados tipos de objetos<\/li>\n<li>generar tablas y listas de informaci\u00f3n a partir de los datos almacenados<\/li>\n<li>extraer o filtrar informaci\u00f3n de la base de datos<\/li>\n<li>devolver agregaciones o reducciones precalculadas sobre colecciones de datos almacenados<\/li>\n<li>agrupaciones multinivel por agregaciones<\/li>\n<li>consulta de datos geoespaciales<\/li>\n<li>paginaci\u00f3n<\/li>\n<\/ul>\n<p>Ahora vamos a crear y consultar una vista para ver c\u00f3mo un mapa y las funciones de reducci\u00f3n construidas trabajan juntos para darnos agregaciones estad\u00edsticas de la altitud geogr\u00e1fica de todos los aeropuertos en el conjunto de datos de la muestra de viajes. Esta captura de pantalla de la Consola del Administrador de Couchbase muestra c\u00f3mo se puede crear una vista.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-9529\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Views-blog-grphic-2-300x248.png\" alt=\"\" width=\"1290\" height=\"1066\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-2-300x248.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-2-1024x847.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-2-768x635.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-2-20x17.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Views-blog-grphic-2.png 1241w\" sizes=\"auto, (max-width: 1290px) 100vw, 1290px\" \/><\/p>\n<p>\u00a1Impresionante!<\/p>\n<p>Sin duda, las vistas son f\u00e1ciles de crear y de utilizar. Sin embargo, tienen sus inconvenientes y limitaciones. Echemos un vistazo a c\u00f3mo el ejemplo anterior se puede servir f\u00e1cilmente mediante el uso de caracter\u00edsticas modernas y mejores de Couchbase; Global Secondary Indexing y N1QL.<\/p>\n<p>En primer lugar, cargue el bucket travel-sample y cree un \u00edndice secundario con la siguiente definici\u00f3n.<\/p>\n<pre class=\"font-size:11 lang:default decode:true\">CREATE INDEX geo_altitude_idx ON `travel-sample`(geo.alt);<\/pre>\n<p>A continuaci\u00f3n, ejecute la siguiente consulta N1QL.<\/p>\n<pre class=\"font-size:11 lang:default decode:true\">SELECT SUM(geo.alt) as sum, COUNT (geo.alt) as count, MIN(geo.alt) as min, MAX(geo.alt) as mix, SUM(POWER(geo.alt,2)) as sumsqr FROM `travel-sample`;<\/pre>\n<p>Esta consulta devuelve el siguiente conjunto de resultados.<\/p>\n<pre class=\"font-size:11 lang:default decode:true\">{\r\n\"count\": 1968,\r\n\"min\": -54,\r\n\"mix\": 9078,\r\n\"sum\": 1712485,\r\n\"sumsqr\": 5303561573\r\n}<\/pre>\n<p>As\u00ed de f\u00e1cil.<\/p>\n<h5><strong>Limitaciones de las vistas<\/strong><\/h5>\n<p>Aunque las vistas ofrecen una gran facilidad y flexibilidad a la hora de expresar la l\u00f3gica de indexaci\u00f3n y consulta, tienen sus puntos d\u00e9biles y desventajas, como:<\/p>\n<ol>\n<li>No son f\u00e1ciles de escalar porque est\u00e1n ligados a particiones de datos. Por lo tanto, no pueden beneficiarse del escalado multidimensional de Couchbase.<\/li>\n<li>No es posible lograr el aislamiento de la carga de trabajo con Views por la raz\u00f3n antes mencionada.<\/li>\n<li>No pueden ofrecer un rendimiento superior a unos pocos miles de QPS debido a su dependencia de la persistencia en disco y a la sobrecarga de la recolecci\u00f3n dispersa.<\/li>\n<li>El almacenamiento de \u00edndices de vistas en disco junto con las particiones de datos aumenta la cantidad total de datos en el disco de cada nodo de datos. Esto se traduce en tiempos de reequilibrio m\u00e1s largos. Del mismo modo, el almacenamiento, la actualizaci\u00f3n y la compactaci\u00f3n de los \u00edndices de vistas aumenta la utilizaci\u00f3n de IO de disco.<\/li>\n<li>No se reserva ninguna cuota de memoria para el almacenamiento en cach\u00e9 de los \u00edndices de vistas. Por lo tanto, no pueden ofrecer el mejor rendimiento.<\/li>\n<li>Las vistas no ofrecen una s\u00f3lida comprobaci\u00f3n de errores, por lo que es f\u00e1cil cometer errores en sus definiciones. Por ejemplo, es f\u00e1cil intentar analizar un atributo json que s\u00f3lo existe en un subconjunto de documentos. La funci\u00f3n map de una vista de este tipo registra los errores de an\u00e1lisis de los documentos en los que no existe ese atributo.<\/li>\n<li>Las actualizaciones de las vistas suelen tardar mucho tiempo porque est\u00e1n vinculadas al disco. La modificaci\u00f3n de una definici\u00f3n de vista existente o la ejecuci\u00f3n de una compilaci\u00f3n completa en una vista de desarrollo hace que se vuelva a crear toda la vista. El problema se agrava cuando un \u00fanico documento de dise\u00f1o tiene varias vistas.<\/li>\n<li>Los buckets ef\u00edmeros ofrecen baja latencia y lecturas y escrituras consistentes de alto rendimiento, pero no se pueden crear vistas en ellos porque estos buckets no tienen persistencia en disco.<\/li>\n<li>Las vistas son finalmente coherentes con respecto a los documentos almacenados subyacentes.<\/li>\n<\/ol>\n<h5><strong>Conclusi\u00f3n<\/strong><\/h5>\n<p>Las Vistas de Couchbase han tenido un buen recorrido, pero ahora tenemos mejores alternativas que ofrecen mucha mejor manejabilidad, escalabilidad, rendimiento y rendimiento. Dado el poder expresivo de las consultas N1QL, la facilidad de escalado ofrecida por el escalado multidimensional, un rendimiento mucho mayor y a lo largo entregado por la Indexaci\u00f3n Secundaria Global y la B\u00fasqueda de Texto Completo, es muy probable que las Vistas queden obsoletas pronto. Se recomienda a los usuarios que conozcan las nuevas alternativas y empiecen a planificar la migraci\u00f3n. Se hablar\u00e1 m\u00e1s de estas alternativas en el pr\u00f3ximo blog.<\/p>","protected":false},"excerpt":{"rendered":"<p>Introduction This blog is meant for users who are familiar with the basics of Couchbase Server and Views. Novice users should start here to gain basic understanding of Couchbase Server and then continue here to get acquainted with Views. Views [&hellip;]<\/p>","protected":false},"author":64938,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,9381,9411,1812],"tags":[1696,9271,2108,1241],"ppma_author":[8923],"class_list":["post-9527","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-indexing","category-multi-dimensional-scaling","category-n1ql-query","tag-indexing","tag-multi-dimensional-scaling","tag-scaling","tag-views"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.7 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase Views and Better Alternatives [Part 1 of 2] - The Couchbase Blog<\/title>\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\/couchbase-views-and-better-alternatives-part-1-of-2\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Views and Better Alternatives [Part 1 of 2]\" \/>\n<meta property=\"og:description\" content=\"Introduction This blog is meant for users who are familiar with the basics of Couchbase Server and Views. Novice users should start here to gain basic understanding of Couchbase Server and then continue here to get acquainted with Views. Views [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-views-and-better-alternatives-part-1-of-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-20T06:43:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:27:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Couchbase-Views-and-better-alternatives-part-1-of-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nirvair Singh, Solutions Architect, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Couchbase-Views-and-better-alternatives-part-1-of-2.png\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nirvair Singh, Solutions Architect, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/\"},\"author\":{\"name\":\"Nirvair Singh, Solutions Architect, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e45019e9f99fc655864989d50ccc792a\"},\"headline\":\"Couchbase Views and Better Alternatives [Part 1 of 2]\",\"datePublished\":\"2020-10-20T06:43:40+00:00\",\"dateModified\":\"2025-06-14T02:27:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/\"},\"wordCount\":1217,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Indexing\",\"Multi-Dimensional Scaling (MDS)\",\"scaling\",\"views\"],\"articleSection\":[\"Couchbase Server\",\"Indexing\",\"Multi-Dimensional Scaling (MDS)\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/\",\"name\":\"Couchbase Views and Better Alternatives [Part 1 of 2] - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2020-10-20T06:43:40+00:00\",\"dateModified\":\"2025-06-14T02:27:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#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\/couchbase-views-and-better-alternatives-part-1-of-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Views and Better Alternatives [Part 1 of 2]\"}]},{\"@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\/e45019e9f99fc655864989d50ccc792a\",\"name\":\"Nirvair Singh, Solutions Architect, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/baa2c25e4ef21ceae5c4241217e2e13e\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fe50bfb547fe1a261248b5436e3afc4923283be031a5eb8557c939127793f2ce?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fe50bfb547fe1a261248b5436e3afc4923283be031a5eb8557c939127793f2ce?s=96&d=mm&r=g\",\"caption\":\"Nirvair Singh, Solutions Architect, Couchbase\"},\"description\":\"Solutions ArchitectrnCenter of Excellence Team\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/nirvair-singh\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Views and Better Alternatives [Part 1 of 2] - The Couchbase Blog","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\/couchbase-views-and-better-alternatives-part-1-of-2\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase Views and Better Alternatives [Part 1 of 2]","og_description":"Introduction This blog is meant for users who are familiar with the basics of Couchbase Server and Views. Novice users should start here to gain basic understanding of Couchbase Server and then continue here to get acquainted with Views. Views [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-views-and-better-alternatives-part-1-of-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-10-20T06:43:40+00:00","article_modified_time":"2025-06-14T02:27:19+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Couchbase-Views-and-better-alternatives-part-1-of-2.png","type":"image\/png"}],"author":"Nirvair Singh, Solutions Architect, Couchbase","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Couchbase-Views-and-better-alternatives-part-1-of-2.png","twitter_misc":{"Written by":"Nirvair Singh, Solutions Architect, Couchbase","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/"},"author":{"name":"Nirvair Singh, Solutions Architect, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e45019e9f99fc655864989d50ccc792a"},"headline":"Couchbase Views and Better Alternatives [Part 1 of 2]","datePublished":"2020-10-20T06:43:40+00:00","dateModified":"2025-06-14T02:27:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/"},"wordCount":1217,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Indexing","Multi-Dimensional Scaling (MDS)","scaling","views"],"articleSection":["Couchbase Server","Indexing","Multi-Dimensional Scaling (MDS)","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/","name":"Couchbase Views and Better Alternatives [Part 1 of 2] - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2020-10-20T06:43:40+00:00","dateModified":"2025-06-14T02:27:19+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-views-and-better-alternatives-part-1-of-2\/#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\/couchbase-views-and-better-alternatives-part-1-of-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Views and Better Alternatives [Part 1 of 2]"}]},{"@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\/e45019e9f99fc655864989d50ccc792a","name":"Nirvair Singh, Arquitecto de soluciones, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/baa2c25e4ef21ceae5c4241217e2e13e","url":"https:\/\/secure.gravatar.com\/avatar\/fe50bfb547fe1a261248b5436e3afc4923283be031a5eb8557c939127793f2ce?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe50bfb547fe1a261248b5436e3afc4923283be031a5eb8557c939127793f2ce?s=96&d=mm&r=g","caption":"Nirvair Singh, Solutions Architect, Couchbase"},"description":"Arquitecto de soluciones Equipo del Centro de Excelencia","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/nirvair-singh\/"}]}},"authors":[{"term_id":8923,"user_id":64938,"is_guest":0,"slug":"nirvair-singh","display_name":"Nirvair Singh, Solutions Architect, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/fe50bfb547fe1a261248b5436e3afc4923283be031a5eb8557c939127793f2ce?s=96&d=mm&r=g","author_category":"","last_name":"Singh","first_name":"Nirvair","job_title":"","user_url":"","description":"Arquitecto de soluciones Equipo del Centro de Excelencia"}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9527","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\/64938"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=9527"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9527\/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=9527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=9527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=9527"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=9527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}