{"id":2219,"date":"2016-04-12T15:00:00","date_gmt":"2016-04-12T15:00:00","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2219"},"modified":"2023-06-23T05:12:02","modified_gmt":"2023-06-23T12:12:02","slug":"moving-from-mysql-to-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/moving-from-mysql-to-couchbase\/","title":{"rendered":"Pasar de MySQL a Couchbase"},"content":{"rendered":"<p>Creo que es seguro asumir que cada desarrollador o administrador de sistemas ha tocado MySQL en alg\u00fan momento. A menudo era el<br \/>\nrito de paso para cualquier nuevo desarrollador hace unos a\u00f1os, cuando florecieron lenguajes como PHP. Ahora puede que te encuentres en una situaci\u00f3n en la que<br \/>\nlas cosas han cambiado y ahora su base de datos puede necesitar un cambio. M\u00e1s concretamente, un cambio a una base de datos NoSQL sin esquema.<\/p>\n<p>A primera vista, si est\u00e1s ojeando las diferencias, puede parecer una tarea aterradora. \u00bfQu\u00e9 hago con todas mis tablas y<br \/>\nrestricciones? \u00bfC\u00f3mo consulto mis datos? \u00bfQu\u00e9 lenguajes de desarrollo puedo utilizar?<\/p>\n<p>Vamos a ir m\u00e1s despacio y a recorrer un escenario en el que est\u00e1s usando un RDBMS MySQL y te gustar\u00eda hacer la transici\u00f3n a Couchbase.<\/p>\n<h2>Principales diferencias entre MySQL y Couchbase<\/h2>\n<p>Viniendo de MySQL, supongo que ya sabes que es una base de datos relacional que consta de tablas, filas y columnas.<br \/>\nBastante est\u00e1ndar cuando se trata de cualquier base de datos relacional. Este no es el caso de una base de datos de documentos NoSQL como Couchbase.<br \/>\nEn su lugar, trabajas con objetos JSON y matrices que no tienen estructura y pr\u00e1cticamente ninguna limitaci\u00f3n.<\/p>\n<p>Aunque el modelado de datos es, en mi opini\u00f3n, la mayor diferencia, no es la \u00fanica. Sin embargo, empecemos por ah\u00ed.<\/p>\n<h3>El modelo de datos de las bases de datos relacionales<\/h3>\n<p>Para simplificar, vamos a ce\u00f1irnos a un modelo de datos peque\u00f1o. Siempre se puede ajustar para dar cabida a un escenario m\u00e1s complejo. Nuestro modelo de datos<br \/>\nser\u00e1n los siguientes:<\/p>\n<p><strong>cliente<\/strong><\/p>\n<ul>\n<li>id: num\u00e9rico clave primaria<\/li>\n<li>nombre: varchar<\/li>\n<li>apellido: varchar<\/li>\n<\/ul>\n<p><strong>direcci\u00f3n_cliente<\/strong><\/p>\n<ul>\n<li>id: num\u00e9rico clave primaria<\/li>\n<li>ciudad: varchar<\/li>\n<li>estado: varchar<\/li>\n<li>zip: varchar<\/li>\n<li>customer_id: clave externa num\u00e9rica<\/li>\n<\/ul>\n<p>Las dos tablas anteriores y sus columnas no son las m\u00e1s complejas, pero a\u00fan as\u00ed demuestran ser relacionales a trav\u00e9s de las tablas primaria y<br \/>\nrelaciones de clave extranjera.<\/p>\n<h3>Opciones para un modelo de datos NoSQL<\/h3>\n<p>Los documentos NoSQL son un poco diferentes porque en este caso carecen de esquema. Esto significa que existen m\u00faltiples opciones a la hora de<br \/>\nse trata de modelar los datos que vimos para MySQL.<\/p>\n<h4>Documentos de referencia<\/h4>\n<p>Probablemente le resultar\u00e1 m\u00e1s familiar referirse a documentos en t\u00e9rminos de datos relacionales. En un RDBMS como MySQL, se hace referencia a<br \/>\na otras filas de datos mediante claves primarias y for\u00e1neas. No existe el concepto de clave primaria o for\u00e1nea en NoSQL, pero eso no significa que no haya una clave primaria o for\u00e1nea.<br \/>\nsignifica que no puedes montar el mismo tipo de relaci\u00f3n.<\/p>\n<p>Por ejemplo, tomemos los siguientes documentos NoSQL:<\/p>\n<p><strong>c::1<\/strong><\/p>\n<pre><code>\r\n{\r\n    \"type\": \"customer\",\r\n    \"first_name\": \"Nic\",\r\n    \"last_name\": \"Raboy\"\r\n}\r\n<\/code><\/pre>\n<p><strong>ca::1<\/strong><\/p>\n<pre><code>\r\n{\r\n    \"type\": \"customer_address\",\r\n    \"city\": \"San Francisco\",\r\n    \"state\": \"CA\",\r\n    \"zip\": \"94101\",\r\n    \"customer_id\": \"c::1\"\r\n}\r\n<\/code><\/pre>\n<p>Supongamos que los documentos anteriores se modelan de forma similar a su equivalente RDBMS. <strong>c::1<\/strong> es s\u00f3lo un valor id que me invent\u00e9 para el<br \/>\ndocumento del cliente y <strong>ca:1<\/strong> es un id que invent\u00e9 para el <strong>direcci\u00f3n_cliente<\/strong> documento.<\/p>\n<p>Aunque todav\u00eda no los vamos a consultar, podemos pensar que cada uno de estos documentos equivale a una fila de un archivo<br \/>\nbase de datos relacional. Por ejemplo, una fila de la base de datos <strong>cliente<\/strong> La tabla MySQL ser\u00eda un documento en<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/es\/\">Couchbase<\/a>.<\/p>\n<p>Muy similares, \u00bfcorrecto?<\/p>\n<h4>Incrustaci\u00f3n de documentos<\/h4>\n<p>Aqu\u00ed es donde las cosas pueden llegar a ser muy diferentes viniendo de MySQL. Dado que JSON son datos complejos, podemos tener matrices dentro de nuestro<br \/>\ndocumentos. \u00bfY si quisi\u00e9ramos tener todos los datos juntos?<\/p>\n<pre><code>\r\n{\r\n    \"type\": \"customer\",\r\n    \"first_name\": \"Nic\",\r\n    \"last_name\": \"Raboy\",\r\n    \"addresses\": [\r\n        {\r\n            \"city\": \"San Francisco\",\r\n            \"state\": \"California\"\r\n        },\r\n        {\r\n            \"city\": \"Mountain View\",\r\n            \"state\": \"California\"\r\n        }\r\n    ]\r\n}\r\n<\/code><\/pre>\n<p>En el documento anterior estamos almacenando todas las direcciones de un cliente concreto en una matriz dentro del documento. Esto es en lugar de<br \/>\ncreando un nuevo documento para cada direcci\u00f3n y haciendo referencia al documento del cliente.<\/p>\n<p>Puede que se pregunte qu\u00e9 ocurre si tiene relaciones muy complejas en sus datos MySQL que, cuando se transponen a<br \/>\nCouchbase, dar\u00eda lugar a que los mismos datos estuvieran incrustados en m\u00e1s de un documento Couchbase. Esto podr\u00eda ocurrir, pero no es<br \/>\nalgo malo. No necesitas datos normalizados en una base de datos NoSQL como Couchbase. Sin embargo, si est\u00e1s realmente preocupado, \u00bfpor qu\u00e9 no<br \/>\n\u00bfmezclar ambos enfoques? Conservar datos como <strong>historial_cliente<\/strong> juntos sin relaciones y se refieren a<br \/>\notras que pueden cambiar con m\u00e1s frecuencia.<\/p>\n<h3>Diferencias de consulta entre MySQL y Couchbase<\/h3>\n<h4>Couchbase N1QL vs MySQL SQL<\/h4>\n<p>MySQL, al igual que todas las plataformas de bases de datos relacionales, utiliza su propio estilo de SQL. Asumiendo que estamos usando el esquema definido anteriormente<br \/>\npara MySQL, podemos consultar los clientes y sus direcciones de la siguiente manera:<\/p>\n<pre><code>\r\nSELECT\r\n    c.firstname, c.lastname, ca.city, ca.state\r\nFROM customer_address ca\r\nLEFT JOIN customer c ON ca.customer_id = c.id\r\n<\/code><\/pre>\n<p>\u00bfY si te dijera que puedes hacer casi lo mismo con datos NoSQL de Couchbase? Toma la siguiente consulta Couchbase N1QL:<\/p>\n<pre><code>\r\nSELECT\r\n    c.firstname, c.lastname, ca.city, ca.state\r\nFROM `bucket-name` ca\r\nLEFT JOIN `bucket-name` c ON KEYS ca.customer_id\r\n<\/code><\/pre>\n<p>No es muy diferente, \u00bfverdad? Usted puede notar que estamos utilizando <strong>`bucket-name`<\/strong> dos veces. Esto se debe a que no hay<br \/>\nen NoSQL y todos los diferentes documentos y tipos de documentos existir\u00e1n en el mismo bucket. La clave del documento es<br \/>\nvalor al que nos unimos.<\/p>\n<p>Ahora digamos que desea insertar nuevos datos en el MySQL <strong>cliente<\/strong> tabla. En MySQL, puede hacer algo como esto:<\/p>\n<pre><code>\r\nINSERT INTO customer (id, first_name, last_name)\r\nVALUES (1, 'Arun', 'Gupta');\r\n<\/code><\/pre>\n<p>Si quieres insertar datos en Couchbase puedes hacer lo siguiente:<\/p>\n<pre><code>\r\nINSERT INTO `bucket-name` (KEY, VALUE)\r\nVALUES (1, {\"first_name\": \"Arun\", \"last_name\": \"Gupta\"});\r\n<\/code><\/pre>\n<p>M\u00e1s informaci\u00f3n sobre Couchbase N1QL en <a href=\"https:\/\/www.couchbase.com\/blog\/es\/n1ql\/\">aqu\u00ed<\/a>.<\/p>\n<h2>Diferencias de desarrollo entre MySQL y Couchbase<\/h2>\n<p>En mi anterior art\u00edculo sobre <a href=\"https:\/\/www.couchbase.com\/blog\/es\/moving-from-oracle-to-couchbase\/\">De Oracle a Couchbase<\/a>escrib\u00ed sobre las diferencias de desarrollo desde la perspectiva de Java. Para<br \/>\ncoherencia, usar\u00e9 Java en los siguientes ejemplos. MySQL ciertamente no est\u00e1 restringido a Java y tampoco lo est\u00e1 Couchbase.<\/p>\n<h3>El controlador MySQL JDBC<\/h3>\n<p>En una aplicaci\u00f3n Java, si quisieras conectarte a una base de datos MySQL utilizar\u00edas el controlador Java Database Connector (JDBC).<br \/>\nCon el controlador incluido en su proyecto, ya sea a trav\u00e9s de herramientas como Maven o manualmente, puede cargarlo y empezar a consultar datos.<\/p>\n<p>Un ejemplo podr\u00eda ser el siguiente:<\/p>\n<pre><code>\r\nClass.forName(\"com.mysql.jdbc.Driver\");\r\nProperties info = new Properties();\r\ninfo.put(\"user\", \"nraboy\");\r\ninfo.put(\"password\", \"password\");\r\nConnection connection = DriverManager.getConnection(\"jdbc:mysql:\/\/HOST:PORT\/DATABASE\", info);\r\nStatement stmt = connection.getConnection().createStatement();\r\nResultSet rs = stmt.executeQuery(\"SELECT * FROM customer\");\r\nwhile(rs.next()) {\r\n    \/\/ rs.getString(\"first_name\");\r\n}\r\nstmt.close();\r\n<\/code><\/pre>\n<h3>El SDK Java de Couchbase<\/h3>\n<p>Para conectarse a Couchbase a trav\u00e9s de una aplicaci\u00f3n Java, debe utilizar el SDK Java de Couchbase en lugar de un controlador JDBC, aunque<br \/>\nexiste uno. La raz\u00f3n por la que usar\u00edamos el SDK es porque las cosas se vuelven incre\u00edblemente f\u00e1ciles con \u00e9l.<\/p>\n<p>Por ejemplo, con el SDK de Couchbase, el mismo tipo de operaci\u00f3n que Oracle podr\u00eda tener el siguiente aspecto:<\/p>\n<pre><code>\r\nCouchbaseCluster.create(HOST).openBucket(BUCKET, PASSWORD);\r\nString query = \"SELECT * FROM `bucket-name-here`\";\r\nN1qlQueryResult queryResult = bucket.query(query);\r\nfor (N1qlQueryRow row : queryResult) {\r\n    \/\/ row.value().toMap();\r\n}\r\n<\/code><\/pre>\n<p>Lo anterior asume, por supuesto, que descargaste el SDK Java de Couchbase o usaste Maven para obtenerlo.<\/p>\n<h2>Diferencias entre herramientas<\/h2>\n<p>Cuando usas MySQL tienes muchas herramientas que puedes usar. Por ejemplo, si desea ejecutar consultas contra la base de datos que<br \/>\npodr\u00eda utilizar el <strong>MySQL CLI<\/strong>. Usted todav\u00eda tiene la posibilidad de utilizar herramientas comparables al hacer el cambio a Couchbase.<br \/>\nSi busca una herramienta de l\u00ednea de comandos, puede utilizar <strong>CBQ<\/strong> para consultar sus datos. Si es un usuario avanzado de<br \/>\nMySQL Workbench, no te preocupes porque Couchbase tiene su <strong>Workbench de consulta<\/strong> como<br \/>\nde <a href=\"https:\/\/www.couchbase.com\/blog\/es\/introducing-couchbase-server-4.5-developer-preview\/\">Servidor Couchbase 4.5<\/a>.<\/p>\n<h2>Migraci\u00f3n de datos<\/h2>\n<p>Cuando se trata de tus datos, puede que te est\u00e9s preguntando c\u00f3mo sacar tus datos de MySQL y meterlos en Couchbase lo m\u00e1s r\u00e1pido posible.<br \/>\nLaurent Doguin escribi\u00f3 una excelente herramienta de migraci\u00f3n para <a href=\"https:\/\/github.com\/ldoguin\/couchbase-java-importer\">mover datos de MySQL a Couchbase<\/a>.<\/p>\n<p>B\u00e1sicamente, lo que hace esta herramienta es conectarse a su base de datos MySQL a trav\u00e9s de Java y el controlador JDBC. Cada fila de cada tabla se convertir\u00e1 en un \u00fanico documento JSON.<\/p>\n<p>Aunque no habr\u00e1 restricciones de base de datos en los nuevos documentos JSON, las claves seguir\u00e1n existiendo y podr\u00e1n consultarse a trav\u00e9s de N1QL.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>MySQL y Couchbase son dos tecnolog\u00edas de bases de datos muy diferentes, pero la forma de utilizarlas no tiene por qu\u00e9 serlo. El modelo de datos relacional<br \/>\npuede conservarse hasta cierto punto en una base de datos de documentos NoSQL. Cualquier dato almacenado puede ser consultado en Couchbase de la misma forma que lo har\u00edas en una base de datos NoSQL.<br \/>\nen una base de datos MySQL mediante consultas SQL. La principal diferencia entre ambos es que no hay l\u00edmites en cuanto a los datos que se pueden almacenar.<br \/>\ny c\u00f3mo puedes almacenarlo.<\/p>\n<p>Si es usuario de una base de datos Oracle, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/moving-from-oracle-to-couchbase\/\">este<\/a> post similar que escrib\u00ed sobre pasar de Oracle a Couchbase.<\/p>","protected":false},"excerpt":{"rendered":"<p>I think it is safe to assume that every developer or system administrator has touched MySQL at some point in time. It was often the rite of passage for any new developer a few years ago when langauges like PHP [&hellip;]<\/p>","protected":false},"author":63,"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,1818],"tags":[1458,1336],"ppma_author":[9032],"class_list":["post-2219","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-java","tag-migration","tag-mysql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Moving from MySQL to Couchbase - 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\/moving-from-mysql-to-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Moving from MySQL to Couchbase\" \/>\n<meta property=\"og:description\" content=\"I think it is safe to assume that every developer or system administrator has touched MySQL at some point in time. It was often the rite of passage for any new developer a few years ago when langauges like PHP [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/moving-from-mysql-to-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/thepolyglotdeveloper\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-12T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-23T12:12:02+00:00\" \/>\n<meta name=\"author\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nraboy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/\"},\"author\":{\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1\"},\"headline\":\"Moving from MySQL to Couchbase\",\"datePublished\":\"2016-04-12T15:00:00+00:00\",\"dateModified\":\"2023-06-23T12:12:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/\"},\"wordCount\":1290,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"migration\",\"mysql\"],\"articleSection\":[\"Couchbase Server\",\"Java\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/\",\"name\":\"Moving from MySQL to Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-04-12T15:00:00+00:00\",\"dateModified\":\"2023-06-23T12:12:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#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\/moving-from-mysql-to-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Moving from MySQL to Couchbase\"}]},{\"@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\/bb545ebe83bb2d12f91095811d0a72e1\",\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"caption\":\"Nic Raboy, Developer Advocate, Couchbase\"},\"description\":\"Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in Java, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Apache Cordova. Nic writes about his development experiences related to making web and mobile development easier to understand.\",\"sameAs\":[\"https:\/\/www.thepolyglotdeveloper.com\",\"https:\/\/www.facebook.com\/thepolyglotdeveloper\",\"https:\/\/x.com\/nraboy\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/nic-raboy-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Moving from MySQL to Couchbase - 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\/moving-from-mysql-to-couchbase\/","og_locale":"es_MX","og_type":"article","og_title":"Moving from MySQL to Couchbase","og_description":"I think it is safe to assume that every developer or system administrator has touched MySQL at some point in time. It was often the rite of passage for any new developer a few years ago when langauges like PHP [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/moving-from-mysql-to-couchbase\/","og_site_name":"The Couchbase Blog","article_author":"https:\/\/www.facebook.com\/thepolyglotdeveloper","article_published_time":"2016-04-12T15:00:00+00:00","article_modified_time":"2023-06-23T12:12:02+00:00","author":"Nic Raboy, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@nraboy","twitter_misc":{"Written by":"Nic Raboy, Developer Advocate, Couchbase","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/"},"author":{"name":"Nic Raboy, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1"},"headline":"Moving from MySQL to Couchbase","datePublished":"2016-04-12T15:00:00+00:00","dateModified":"2023-06-23T12:12:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/"},"wordCount":1290,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["migration","mysql"],"articleSection":["Couchbase Server","Java"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/","name":"Moving from MySQL to Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-04-12T15:00:00+00:00","dateModified":"2023-06-23T12:12:02+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/moving-from-mysql-to-couchbase\/#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\/moving-from-mysql-to-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Moving from MySQL to Couchbase"}]},{"@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\/bb545ebe83bb2d12f91095811d0a72e1","name":"Nic Raboy, Defensor del Desarrollador, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354","url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","caption":"Nic Raboy, Developer Advocate, Couchbase"},"description":"Nic Raboy es un defensor de las tecnolog\u00edas modernas de desarrollo web y m\u00f3vil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y m\u00f3vil m\u00e1s f\u00e1cil de entender.","sameAs":["https:\/\/www.thepolyglotdeveloper.com","https:\/\/www.facebook.com\/thepolyglotdeveloper","https:\/\/x.com\/nraboy"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/nic-raboy-2\/"}]}},"authors":[{"term_id":9032,"user_id":63,"is_guest":0,"slug":"nic-raboy-2","display_name":"Nic Raboy, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","author_category":"","last_name":"Raboy","first_name":"Nic","job_title":"","user_url":"https:\/\/www.thepolyglotdeveloper.com","description":"Nic Raboy es un defensor de las tecnolog\u00edas modernas de desarrollo web y m\u00f3vil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y m\u00f3vil m\u00e1s f\u00e1cil de entender."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2219","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\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2219"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2219\/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=2219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2219"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}