{"id":1532,"date":"2013-10-22T10:00:00","date_gmt":"2013-10-22T08:00:00","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1532"},"modified":"2023-06-28T01:37:48","modified_gmt":"2023-06-28T08:37:48","slug":"couchbase-101-102-103-series-1","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-101-102-103-series-1\/","title":{"rendered":"Couchbase 101-102-103 (Serie 1)"},"content":{"rendered":"<p><strong>Recientemente comenzamos una serie de webinars online para cubrir los componentes principales de Couchbase Server, desde la instalaci\u00f3n hasta la configuraci\u00f3n para el desarrollo y la comprensi\u00f3n de la indexaci\u00f3n. Varias preguntas surgieron durante los webinars y estoy publicando un escrito Q &amp; A aqu\u00ed.<\/strong><\/p>\n<p>Mi generador de carga basado en Ruby puede descargarse aqu\u00ed:\u00a0<a href=\"https:\/\/github.com\/scalabl3\/ruby-couchbase-loadgen\">https:\/\/github.com\/scalabl3\/ruby-couchbase-loadgen<\/a><\/p>\n<h2>Couchbase 101 - Instalaci\u00f3n y configuraci\u00f3n<\/h2>\n<p class=\"p1\"><strong>P: Cuando se a\u00f1ade un servidor, \u00bfse hace sharding?<\/strong><\/p>\n<p class=\"p1\">R: S\u00ed, usamos \"Hash Sharding\" para todos los datos, lo que significa que para cada par clave-valor, hacemos un hash de la cadena clave para obtener el n\u00famero de partici\u00f3n (un contenedor l\u00f3gico) en el que deber\u00eda vivir. Buscamos el n\u00famero de partici\u00f3n en el mapa del cluster para ver d\u00f3nde se encuentra esa partici\u00f3n en el cluster de Couchbase, y luego hacemos CRUD directamente con el nodo de Couchbase responsable de esa partici\u00f3n. Cuando a\u00f1ades un nuevo servidor (o m\u00e1s de uno), simplemente redistribuimos las particiones uniformemente entre el nuevo n\u00famero de nodos.<\/p>\n<p class=\"p2\"><strong>P: \u00bfTenemos que a\u00f1adir servidores s\u00f3lo para la r\u00e9plica?<\/strong><\/p>\n<p class=\"p2\">R: Las replicas, para ser efectivas en una situaci\u00f3n de failover, necesitan estar localizadas en diferentes nodos para que los nodos puedan ser \"failover\". Para una r\u00e9plica, tiene que haber al menos dos nodos Couchbase. Para dos r\u00e9plicas tiene que haber al menos tres nodos Couchbase, y para tres r\u00e9plicas tiene que haber al menos cuatro nodos Couchbase. Por supuesto, aumentar el n\u00famero de r\u00e9plicas tambi\u00e9n aumenta la necesidad de mayores recursos para un rendimiento \u00f3ptimo.<\/p>\n<p class=\"p2\"><strong><span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">P: \u00bfTodos los documentos con el mismo valor hash se almacenan en la misma partici\u00f3n?<\/span><\/strong><\/p>\n<p class=\"p2\">R: Si, nuestra funci\u00f3n Hash simplemente convierte una cadena de claves en un n\u00famero de [0...1023], todas las claves que tengan como hash el n\u00famero 2 vivir\u00e1n dentro del contenedor de particiones #2. Esa partici\u00f3n residir\u00e1 en un nodo particular de Couchbase en el cluster, si a\u00f1ades m\u00e1s servidores y reequilibras, esa partici\u00f3n puede ser movida a otro servidor, pero s\u00f3lo hay un nodo que es el \"maestro\" para esa partici\u00f3n. La \"r\u00e9plica\" de esa partici\u00f3n vivir\u00e1, por supuesto, en un nodo separado.<\/p>\n<p class=\"p1\"><strong>P: En tu ejemplo de escala horizontal, el total de particiones es siempre 1024.  Es 1024 el m\u00e1ximo de particiones en un cl\u00faster?<\/strong><\/p>\n<p class=\"p1\">R: Al conocer por primera vez nuestro esquema de fragmentaci\u00f3n y distribuci\u00f3n, muchos desarrolladores ven este n\u00famero como un bot\u00f3n que ajustar, naturalmente, ya que todos somos unos manitas. Sin embargo, el n\u00famero de particiones no cambia las caracter\u00edsticas de rendimiento. Creemos que 1024 es un buen n\u00famero de particiones para una distribuci\u00f3n uniforme de los datos, no es realmente algo que deba cambiarse y no es un par\u00e1metro de configuraci\u00f3n. El n\u00famero podr\u00eda ser f\u00e1cilmente 10.000 o 990, y no cambiar\u00eda la arquitectura de c\u00f3mo distribuimos los datos (s\u00f3lo aumentar\u00eda o reducir\u00eda el n\u00famero de archivos de datos).<\/p>\n<p class=\"p1\"><strong>P: \u00bfCu\u00e1ntos Buckets se pueden instalar en una sola m\u00e1quina virtual?<\/strong><\/p>\n<p class=\"p2\">R: Esta es una pregunta dif\u00edcil para dar una regla general, porque los recursos asignados a esa m\u00e1quina virtual pueden variar mucho, pero en general para una m\u00e1quina de tama\u00f1o considerable de 8+ n\u00facleos, alrededor de 10-12 Buckets es factible. Para cada Bucket asignamos recursos para gestionar y monitorizar, por lo que tener un gran n\u00famero de Buckets aumenta la sobrecarga de la CPU y generalmente no es recomendable.<\/p>\n<p class=\"p1\"><strong>P: \u00bfEl reequilibrio de los nodos tiene alg\u00fan efecto sobre la eficiencia de Couchbase?<\/strong><\/p>\n<p class=\"p1\">R: Priorizamos las operaciones primarias sobre las operaciones de rebalanceo en Couchbase, pero dicho esto, hay un incremento de CPU y tr\u00e1fico de red entre los nodos de Couchbase durante un rebalanceo. Se recomienda hacer el rebalanceo en horas de menor uso, por supuesto, lo mismo va para hacer copias de seguridad, al igual que cualquier otro sistema. Hacer un rebalanceo en horas punta de uso ralentizar\u00e1 el tiempo de rebalanceo si el pico de uso es muy alto.<\/p>\n<p class=\"p1\"><strong>P: Al reequilibrar, \u00bfse mueven las particiones a otro nodo o se duplican?<\/strong><\/p>\n<p class=\"p1\">R: Se copian hasta que finaliza el reequilibrio, en caso de que se produzca un fallo durante el reequilibrio. El nodo maestro original sigue siendo el nodo maestro hasta que el reequilibrio finaliza por completo. Una vez finalizado el reequilibrio, el nuevo nodo maestro para esa partici\u00f3n se convierte en el maestro y el antiguo elimina sus datos, y los mapas del cl\u00faster se actualizan en consecuencia en todo el cl\u00faster, y luego los sdk del cliente.<\/p>\n<p class=\"p1\"><strong>P: \u00bfQu\u00e9 herramientas hay disponibles para hacer copias de seguridad\/restaurar y para ayudar a la recuperaci\u00f3n en caso de cat\u00e1strofe?<\/strong><\/p>\n<p class=\"p1\">R: Disponemos de las herramientas de l\u00ednea de comandos cbbackup y cbrestore para este prop\u00f3sito, puede leer sobre ellas aqu\u00ed:\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/docs\/\/couchbase-manual-2.0\/couchbase-backup-restore-backup-cbbackup.html\/\">https:\/\/www.couchbase.com\/docs\/\/couchbase-manual-2.0\/couchbase-backup-restore-backup-cbbackup.html<\/a><\/p>\n<h2 class=\"p1\">Couchbase 102 - Desarrollo<\/h2>\n<p class=\"p1\"><strong>P: \u00bfQu\u00e9 ocurre cuando se almacenan im\u00e1genes en Couchbase?\u00a0<\/strong><\/p>\n<p class=\"p1\">R: Puedes almacenar im\u00e1genes de dos maneras diferentes con Couchbase, una es almacenar datos binarios directamente como un valor Document. La segunda opci\u00f3n es almacenarla como bases64 pre-codificadas dentro de un documento JSON, entonces es un documento JSON est\u00e1ndar con una o m\u00e1s im\u00e1genes codificadas como valores JSON (con claves JSON). La ventaja de <a href=\"https:\/\/www.couchbase.com\/blog\/es\/the-best-database-for-storing-images-might-not-be-a-database-at-all\/\">almacenamiento de im\u00e1genes<\/a> en Couchbase es que se servir\u00e1 desde RAM en lugar de disco, por lo que tendr\u00e1 un gran rendimiento. Combina esto con XDCR (Cross Data Center Replication) y podr\u00e1s crear tu propia CDN para im\u00e1genes.<\/p>\n<p class=\"p1\"><strong><span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">P: \u00bfC\u00f3mo se modifican\/actualizan varios documentos y se da marcha atr\u00e1s si se produce un error en uno de ellos?<\/span><\/strong><\/p>\n<p class=\"p1\">R: En Couchbase puedes usar f\u00e1cilmente Optimistic (CAS) o Pessimistic (Lock) Concurrency para transacciones en <em>solo<\/em> pero para m\u00faltiples documentos en una \u00fanica \"transacci\u00f3n\", necesitar\u00e1 utilizar lo que se denomina Two-Phase Commit. Puede leer m\u00e1s sobre ello aqu\u00ed:\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/docs\/couchbase-devguide-2.0\/two-phase-commits.html\/\">https:\/\/www.couchbase.com\/docs\/couchbase-devguide-2.0\/two-phase-commits.html<\/a><\/p>\n<p class=\"p1\"><strong>P: \u00bfExiste la posibilidad de realizar transacciones en Couchbase?<\/strong><\/p>\n<p class=\"p1\">R: Como en la pregunta anterior, puede realizar f\u00e1cilmente transacciones de un solo documento utilizando Optimistic Concurrency con (CAS - Compare and Swap), o Get and Lock.<\/p>\n<p class=\"p1\"><strong>P: \u00bfExiste una operaci\u00f3n de inserci\u00f3n\/actualizaci\u00f3n por lotes que devuelva la llamada con una lista de inserciones\/actualizaciones fallidas despu\u00e9s de la escritura en el disco primario?<\/strong><\/p>\n<p class=\"p1\">R: En algunos SDK's (Python por ejemplo) tienen operaciones de tipo multi-conjunto (todos ellos tienen operaciones multi-get), pero no creo que tengamos soporte para operaciones de tipo multi-conjunto Y observar.<\/p>\n<p class=\"p1\"><strong>P: \u00bfC\u00f3mo puedo hacer una consulta con m\u00faltiples par\u00e1metros a pasar, como nombre, fecha y estado?\u00a0<span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">\u00bfalgo as\u00ed como un \"where\" en SQL?<\/span><\/strong><\/p>\n<p class=\"p1\">R: Esto se hace con nuestras Vistas (\u00cdndices), la consulta de m\u00faltiples par\u00e1metros puede requerir a) consultar vistas separadas y hacer una intersecci\u00f3n dentro de su aplicaci\u00f3n, o ser creativo con la clave de su \u00edndice para que pueda realizar una consulta de rango. Hay varias estrategias diferentes para esto, y ser\u00e1 particular a un caso de uso y el dise\u00f1o del documento para ser capaz de responder de manera sucinta.<\/p>\n<p class=\"p1\"><strong>P: \u00bfSon compatibles con otros lenguajes como Go o Clojure?<\/strong><\/p>\n<p class=\"p1\">R: \u00a1S\u00ed! Tenemos ediciones comunitarias para Go (<a href=\"https:\/\/github.com\/dustin\/go-couchbase\">https:\/\/github.com\/dustin\/go-couchbase<\/a>), puedes ver todos los clientes de la comunidad en nuestra p\u00e1gina Todos los clientes en couchbsae.com:\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/communities\/all-client-libraries\/\">https:\/\/www.couchbase.com\/communities\/all-client-libraries<\/a>\u00a0Las bibliotecas de clientes de la comunidad no est\u00e1n soportadas oficialmente por nuestros contratos de soporte, pero puedes encontrar f\u00e1cilmente ayuda de nuestros ingenieros a trav\u00e9s de IRC o twitter.<\/p>\n<p class=\"p1\"><strong>P: \u00bfLos patrones clave son m\u00e1s r\u00e1pidos que las vistas?<\/strong><\/p>\n<p class=\"p1\">R: En la mayor\u00eda de los casos en los que se pueden utilizar Key Patterns, s\u00ed, porque son operaciones binarias que salen de la cach\u00e9 RAM, pero no todo se puede modelar utilizando Key Patterns. En esos casos, es cuando nuestras Vistas (\u00cdndices) son \u00fatiles y tambi\u00e9n nuestra integraci\u00f3n con Elastic Search.<\/p>\n<h2 class=\"p1\">Couchbase 103 - Vistas, indexaci\u00f3n y consultas<\/h2>\n<p class=\"p1\"><strong>P: \u00bfLos \u00edndices se guardan en memoria?<\/strong><\/p>\n<p class=\"p1\">R: No, todos los \u00edndices (al igual que otros sistemas de indexaci\u00f3n en otras bases de datos) se crean y consultan desde el disco. El sistema operativo utilizar\u00e1 la RAM para la cach\u00e9 del sistema de archivos, lo que mejorar\u00e1 considerablemente el rendimiento de la consulta de \u00edndices. Por eso dejamos una buena porci\u00f3n de RAM para que lo haga el sistema operativo (40% de RAM disponible).<\/p>\n<p class=\"p1\"><strong>P: \u00bfSe distribuyen autom\u00e1ticamente los \u00edndices entre varios nodos? \u00bfSe pueden colocar \u00edndices s\u00f3lo en determinados nodos por motivos de rendimiento? Por ejemplo, si tuviera una operaci\u00f3n de consulta\/\u00edndice pesada que no quisiera que afectara a varios nodos. \u00a0<\/strong><\/p>\n<p class=\"p1\">R: Cada nodo de Couchbase mantiene \u00edndices para las particiones maestras\/activas que residen en \u00e9l (para las que es el \"maestro\"). Debido a que los datos est\u00e1n distribuidos uniformemente por nuestro Hash sharding de claves a particiones, no podr\u00e1s tener \u00edndices s\u00f3lo en ciertos nodos sin un \u00edndice incompleto. Sin embargo, una vez dicho esto, se podr\u00eda emplear una estrategia diferente de tener un cl\u00faster completo separado que est\u00e1 en el extremo receptor de un XDCR unidireccional (Cross Data Center Replication) que est\u00e1 recibiendo documentos de su almac\u00e9n de datos primario (<em>s\u00f3lo recibiendo,<\/em> no utilizado para la creaci\u00f3n o actualizaci\u00f3n de datos) que puede utilizarse para indexaci\u00f3n y consultas pesadas y optimizarse completamente para ese fin.<\/p>\n<p class=\"p1\"><strong>P: \u00bfSe puede ocultar el meta.id de una vista concreta a nivel de interfaz? \u00bfSimplemente se elimina de los par\u00e1metros de la funci\u00f3n map?\u00a0<span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">Cuando usted est\u00e1 utilizando un sitio web, por ejemplo, y un cliente est\u00e1 consultando la base de datos .. y usted no desea mostrar la meta.id?<\/span><\/strong><\/p>\n<p class=\"p1\">R: No, todas las claves del documento (id's) se incluyen con el conjunto de resultados en JSON para el documento que gener\u00f3 esa \"fila\" de resultados (en realidad un elemento del array de resultados). Dejarlo fuera de la funci\u00f3n map no cambia eso. Lo que puedes hacer para resolver el segundo caso ser\u00eda no hacer que el javascript de tu p\u00e1gina web consulte a Couchbase directamente (lo cual no recomendar\u00eda de todos modos ya que significa que tu servidor Couchbase est\u00e1 expuesto, al igual que cualquier base de datos que normalmente no se expone al p\u00fablico). En su lugar, puedes ejecutar la consulta a trav\u00e9s de tu propia API y filtrar el conjunto de resultados para que no tengan id's de documentos (meta.id).<\/p>\n<p class=\"p1\"><strong>P: Al consultar una vista con skip, el tiempo de respuesta parece proporcional al tama\u00f1o del skip. \u00bfEs eso lo que se espera?<\/strong><\/p>\n<p class=\"p1\">R: Es mejor usar un par de par\u00e1metros en lugar de usar skip, la startkey y startkey_docid para buscar. Los resultados se ordenan primero por startkey (su clave de \u00edndice) y luego, si hay varias claves de \u00edndice id\u00e9nticas en el conjunto de resultados, se ordenan por startkey_docid. La raz\u00f3n para utilizar este m\u00e9todo es doble, una es que evita el problema del tiempo de respuesta, que tambi\u00e9n empeora a medida que crece el cluster porque la dispersi\u00f3n se ver\u00e1 afectada por el salto - cuantos m\u00e1s nodos, m\u00e1s tiempo se tarda en saltar en cada nodo ya que las consultas est\u00e1n dispersas por todo el cluster. En segundo lugar, el conjunto de resultados cambiar\u00e1 cuando se actualice el \u00edndice, por lo que el \"salto\" no saltar\u00e1 exactamente lo mismo despu\u00e9s de la primera consulta.<\/p>\n<p class=\"p1\">Gracias por leerme.<\/p>\n<p class=\"p1\">Jasdeep Jaitla<br \/>\n<a href=\"mailto:jasdeep@couchbase.com?subject=Hello!\">jasdeep@couchbase.com<\/a><a style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\" href=\"https:\/\/twitter.com\/scalabl3\"><br \/>\n@scalabl3<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>We recently started an online webinar series to cover the core components of Couchbase Server from installation through getting set up for development and understanding indexing. A number of questions came up during the webinars and I am posting a [&hellip;]<\/p>","protected":false},"author":2,"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":[8968],"class_list":["post-1532","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase 101-102-103 (Series 1) - 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-101-102-103-series-1\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase 101-102-103 (Series 1)\" \/>\n<meta property=\"og:description\" content=\"We recently started an online webinar series to cover the core components of Couchbase Server from installation through getting set up for development and understanding indexing. A number of questions came up during the webinars and I am posting a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-101-102-103-series-1\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-10-22T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-28T08:37:48+00:00\" \/>\n<meta name=\"author\" content=\"The Couchbase Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"The Couchbase Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 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-101-102-103-series-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/\"},\"author\":{\"name\":\"The Couchbase Team\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\"},\"headline\":\"Couchbase 101-102-103 (Series 1)\",\"datePublished\":\"2013-10-22T08:00:00+00:00\",\"dateModified\":\"2023-06-28T08:37:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/\"},\"wordCount\":1777,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#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\/couchbase-101-102-103-series-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/\",\"name\":\"Couchbase 101-102-103 (Series 1) - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2013-10-22T08:00:00+00:00\",\"dateModified\":\"2023-06-28T08:37:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#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-101-102-103-series-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase 101-102-103 (Series 1)\"}]},{\"@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\/764f4a6771ee19bc7af70b70a326fb93\",\"name\":\"The Couchbase Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"caption\":\"The Couchbase Team\"},\"description\":\"Jennifer Garcia is a Senior Web Manager at Couchbase Inc. As the website manager, Jennifer has overall responsibility for the website properties including design, implementation, content, and performance.\",\"sameAs\":[\"https:\/\/www.couchbase.com\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/jennifer-garcia\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase 101-102-103 (Series 1) - 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-101-102-103-series-1\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase 101-102-103 (Series 1)","og_description":"We recently started an online webinar series to cover the core components of Couchbase Server from installation through getting set up for development and understanding indexing. A number of questions came up during the webinars and I am posting a [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-101-102-103-series-1\/","og_site_name":"The Couchbase Blog","article_published_time":"2013-10-22T08:00:00+00:00","article_modified_time":"2023-06-28T08:37:48+00:00","author":"The Couchbase Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"The Couchbase Team","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/"},"author":{"name":"The Couchbase Team","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93"},"headline":"Couchbase 101-102-103 (Series 1)","datePublished":"2013-10-22T08:00:00+00:00","dateModified":"2023-06-28T08:37:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/"},"wordCount":1777,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#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\/couchbase-101-102-103-series-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/","name":"Couchbase 101-102-103 (Series 1) - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2013-10-22T08:00:00+00:00","dateModified":"2023-06-28T08:37:48+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-101-102-103-series-1\/#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-101-102-103-series-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase 101-102-103 (Series 1)"}]},{"@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\/764f4a6771ee19bc7af70b70a326fb93","name":"El equipo de Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3","url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","caption":"The Couchbase Team"},"description":"Jennifer Garcia es Gerente Senior de Web en Couchbase Inc. Como responsable del sitio web, Jennifer tiene la responsabilidad general de las propiedades del sitio web, incluido el dise\u00f1o, la implementaci\u00f3n, el contenido y el rendimiento.","sameAs":["https:\/\/www.couchbase.com"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/jennifer-garcia\/"}]}},"authors":[{"term_id":8968,"user_id":2,"is_guest":0,"slug":"jennifer-garcia","display_name":"The Couchbase Team","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","first_name":"Jennifer","last_name":"Garcia","user_url":"https:\/\/www.couchbase.com","author_category":"","description":"Jennifer Garcia es Gerente Senior de Web en Couchbase Inc. Como responsable del sitio web, Jennifer tiene la responsabilidad general de las propiedades del sitio web, incluido el dise\u00f1o, la implementaci\u00f3n, el contenido y el rendimiento."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1532","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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=1532"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1532\/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=1532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=1532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=1532"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=1532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}