{"id":1633,"date":"2014-12-16T19:33:34","date_gmt":"2014-12-16T19:33:34","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1633"},"modified":"2017-05-03T12:56:42","modified_gmt":"2017-05-03T19:56:42","slug":"how-move-mysql-couchbase-server-20-part-1","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/how-move-mysql-couchbase-server-20-part-1\/","title":{"rendered":"Como migrar do MySQL para o Couchbase Server 2.0: Parte 1"},"content":{"rendered":"<div class=\"post\">\n<div class=\"post-content\">\n<div class=\"text\">\n<p>Se voc\u00ea tiver um banco de dados criado com MySQL, talvez esteja se perguntando se, e principalmente como, esse banco de dados (e seu aplicativo) pode ser transferido para o Couchbase. O maior obst\u00e1culo n\u00e3o s\u00e3o os aspectos t\u00e9cnicos da cria\u00e7\u00e3o do Couchbase ou do armazenamento das informa\u00e7\u00f5es (embora eles sejam importantes); em vez disso, trata-se de analisar os dados de uma maneira diferente e saber como isso altera o funcionamento do aplicativo.<\/p>\n<p>Vamos come\u00e7ar analisando como voc\u00ea pode transformar a estrutura do seu banco de dados MySQL no Couchbase Server e como a consulta ao seu banco de dados no Couchbase Server difere dos m\u00e9todos usados no MySQL.<\/p>\n<h3>Pense primeiro na estrutura de dados<\/h3>\n<p>O MySQL (e outros bancos de dados baseados em tabelas e SQL) for\u00e7a voc\u00ea a pensar sobre seus dados em termos de tabelas. Todos os seus dados s\u00e3o uma tabela e, ao armazenar estruturas complexas, uma parte individual dos dados pode ser dividida em uma ou mais tabelas. Para alguns aplicativos e tipos de dados, essa \u00e9 uma maneira perfeitamente l\u00f3gica e razo\u00e1vel de abordar e armazenar seus dados. Mas, para alguns aplicativos, a estrutura da tabela n\u00e3o se adapta muito bem aos dados que voc\u00ea deseja armazenar.<\/p>\n<p>Vejamos um exemplo t\u00edpico, um banco de dados de receitas. Isso \u00e9 algo que conhe\u00e7o bem, pois <a href=\"https:\/\/cheffy.com\/\">Cheffy.com<\/a> foi desenvolvido com base no MySQL. A estrutura b\u00e1sica da tabela \u00e9 uma tabela principal, chamada receita, que cont\u00e9m o nome da receita, o subt\u00edtulo, a descri\u00e7\u00e3o e as por\u00e7\u00f5es. Outras informa\u00e7\u00f5es relevantes sobre a receita, como a lista de ingredientes, as etapas do m\u00e9todo, os metadados e as palavras-chave, s\u00e3o armazenadas em outras tabelas, vinculadas \u00e0 receita original por um ID de receita exclusivo. Voc\u00ea pode ver isso, basicamente, na figura abaixo.<\/p>\n<p>???<img decoding=\"async\" src=\"https:\/\/media.tumblr.com\/tumblr_ld4jdzFjii1qai6ym.png\" alt=\"\" \/><\/p>\n<p>H\u00e1 alguns benef\u00edcios potenciais nessa estrutura - certas opera\u00e7\u00f5es, por exemplo, podem ser muito simples e f\u00e1ceis. Por exemplo, deseja encontrar todas as receitas que tenham o ingrediente \"cenoura\"? Voc\u00ea pode realizar uma consulta na tabela de ingredientes procurando por \"cenoura\" e, a partir disso, obter uma lista de receitas correspondentes. Com o uso de uni\u00f5es, voc\u00ea pode obter uma lista de receitas, seu t\u00edtulo e outras informa\u00e7\u00f5es da tabela de receitas, pesquisando na tabela de ingredientes, usando a uni\u00e3o para conectar o ID da receita na tabela de ingredientes ao ID da receita no t\u00edtulo da receita.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.tumblr.com\/tumblr_ld4je9kHbs1qai6ym.png\" alt=\"\" \/>???<\/p>\n<p>Embora esse tipo de pesquisa seja f\u00e1cil, coletar todas as informa\u00e7\u00f5es sobre uma receita, por exemplo, quando se deseja exibir a receita para o usu\u00e1rio, pode ser muito complicado. Voc\u00ea poderia fazer isso com uma \u00fanica consulta, mas \u00e0s vezes pode ser mais f\u00e1cil fazer isso com v\u00e1rias consultas, uma para obter os dados da receita, outra para os ingredientes, outra para os metadados e assim por diante. Na camada de aplicativos, isso \u00e9 feito automaticamente para criar um objeto, que \u00e9 usado como base para exibir a receita ao usu\u00e1rio de forma formatada.<\/p>\n<p>Para muitos usu\u00e1rios e aplicativos, uma camada especial \u00e9 criada para fazer isso ou um dos muitos sistemas de mapeamento objeto-relacional \u00e9 usado para mapear os dados da estrutura tabular subjacente para o objeto de n\u00edvel superior com o qual o aplicativo (e o usu\u00e1rio) est\u00e1 familiarizado. As receitas aqui s\u00e3o um exemplo, mas se estendem a uma ampla variedade de outros aplicativos, incluindo faturamento (fatura, fornecedor, destino, linhas de fatura) e postagens de blog (conte\u00fado da postagem, palavras-chave, criador, coment\u00e1rios).<\/p>\n<p>Essas solu\u00e7\u00f5es baseadas em tabelas n\u00e3o s\u00e3o inerentemente ruins, mas para esse tipo de situa\u00e7\u00e3o, as principais informa\u00e7\u00f5es est\u00e3o sendo armazenadas em v\u00e1rias tabelas, e isso significa manter as v\u00e1rias tabelas sincronizadas entre si. Por exemplo, o que acontece quando um registro \u00e9 exclu\u00eddo? \u00c9 preciso excluir todos os outros registros que possam ter sido vinculados ao original, seja manualmente ou usando exclus\u00f5es em cascata.) Da mesma forma, quando se trata de carregar as informa\u00e7\u00f5es sobre uma receita, voc\u00ea acaba executando de 5 a 10 consultas das informa\u00e7\u00f5es juntas.<\/p>\n<p>O Couchbase adota uma abordagem diferente. Em vez de v\u00e1rias tabelas nas quais voc\u00ea pode armazenar diferentes partes de informa\u00e7\u00f5es, no Couchbase voc\u00ea armazena uma \u00fanica estrutura (no formato JavaScript Object Notation JSON). O formato JSON permite uma estrutura complexa de campos, matrizes, objetos e tipos escalares, que podem ser combinados em um registro inteiro. Isso significa que agora voc\u00ea pode representar sua entidade antiga, com v\u00e1rias tabelas (receita, post de blog), como um \u00fanico \"documento\".<\/p>\n<div class=\"geshifilter\">\n<div class=\"text geshifilter-text\" style=\"font-family: monospace;\">{<br \/>\n\"title\" : \"Carrot and Coriander Soup\" (Sopa de cenoura e coentro)<br \/>\n\"por\u00e7\u00f5es\" : 4,<br \/>\n\"subtitle\" : \"Delicioso com p\u00e3o integral\",<br \/>\n\"preptime\" : 8,<br \/>\n\"cooktime\" : 12,<br \/>\n\"totaltime\" : 20,<br \/>\n\"ingredientes\" : [<br \/>\n{<br \/>\n\"amount\" : 250,<br \/>\n\"ingrediente\" : \"Carrots\" (cenouras),<br \/>\n\"measure\" : \"g\"<br \/>\n},<br \/>\n{<br \/>\n\"amount\" : 75,<br \/>\n\"ingrediente\" : \"Coriander\" (coentro),<br \/>\n\"measure\" : \"g\"<br \/>\n},<br \/>\n{<br \/>\n\"amount\" : 250,<br \/>\n\"ingrediente\" : \"Vegetable Stock\" (caldo de legumes),<br \/>\n\"measure\" : \"ml\"<br \/>\n}<br \/>\n],<br \/>\n\"method\" : [<br \/>\n\"Cortar cenouras\",<br \/>\n\"Cozinhe todos os ingredientes na panela\",<br \/>\n\"Liquidize\" (liquidar)<br \/>\n}<br \/>\n],<br \/>\n}<\/div>\n<\/div>\n<p>Agora, tudo relacionado \u00e0 sua receita est\u00e1 em um \u00fanico lugar e podemos carregar a receita em uma \u00fanica opera\u00e7\u00e3o a partir do banco de dados do Couchbase.<\/p>\n<p>N\u00e3o h\u00e1 estrutura ou defini\u00e7\u00e3o para o conte\u00fado; qualquer documento em um banco de dados do Couchbase pode conter qualquer coisa e qualquer estrutura. No entanto, voc\u00ea pode aplicar uma rotina de valida\u00e7\u00e3o que verifique a estrutura do documento fornecido ao banco de dados. A valida\u00e7\u00e3o pode abranger tanto os campos quanto seu conte\u00fado.<\/p>\n<p>Al\u00e9m disso, lembre-se de que, como n\u00e3o h\u00e1 uma estrutura r\u00edgida, h\u00e1 mais flexibilidade no que e como voc\u00ea armazena as informa\u00e7\u00f5es. Adicionar uma nova se\u00e7\u00e3o ao seu documento de receita que contenha dados sobre quem forneceu a receita ao seu banco de dados \u00e9 um caso de extens\u00e3o da estrutura do documento.<\/p>\n<p>Tamb\u00e9m n\u00e3o h\u00e1 no\u00e7\u00e3o de v\u00e1rias tabelas. H\u00e1 apenas o banco de dados e os documentos contidos nesse banco de dados. Se voc\u00ea quiser oferecer suporte a diferentes tipos de informa\u00e7\u00f5es no mesmo banco de dados, poder\u00e1 adicionar um campo ao documento. Por exemplo, para identificar uma receita, voc\u00ea pode fazer isso:<\/p>\n<div class=\"geshifilter\">\n<div class=\"text geshifilter-text\" style=\"font-family: monospace;\">{<br \/>\n\"tipo\" : \"receita\",<br \/>\n\"title\" : \"Carrot and Coriander Soup\" (Sopa de cenoura e coentro)<br \/>\n\"por\u00e7\u00f5es\" : 4,<br \/>\n\"subtitle\" : \"Delicioso com p\u00e3o integral\",<br \/>\n&#8230;<br \/>\n}<\/div>\n<\/div>\n<p>A identifica\u00e7\u00e3o do tipo de registro pode ser usada em outras \u00e1reas do sistema de banco de dados para ajud\u00e1-lo a reconhecer (e selecionar) os dados que est\u00e3o sendo carregados.<\/p>\n<h3>Se tudo \u00e9 um documento, como posso obter uma lista de registros?<\/h3>\n<p>Na primeira se\u00e7\u00e3o, falei sobre como, com o MySQL, voc\u00ea poderia construir uma instru\u00e7\u00e3o SQL simples para obter uma lista de receitas que incluam cenouras. No MySQL, isso funciona pesquisando valores na tabela de ingredientes para encontrar IDs de receitas e, em seguida, usar uma uni\u00e3o para obter os t\u00edtulos das receitas na tabela de receitas. Para aumentar a velocidade, voc\u00ea normalmente usaria um \u00edndice para melhorar o tempo de resposta da consulta, economizando a an\u00e1lise individual de cada registro.<\/p>\n<p>No Couchbase, tudo \u00e9 um documento, e n\u00e3o h\u00e1 nenhum m\u00e9todo interno para pesquisar o campo de uma tabela, j\u00e1 que n\u00e3o h\u00e1 campos nem tabelas. Como n\u00e3o existe uma estrutura r\u00edgida (e n\u00e3o h\u00e1 como o mecanismo de banco de dados identificar os campos em um documento de forma livre), como fazemos qualquer opera\u00e7\u00e3o que normalmente opera em uma lista (ou tabela)? Tudo, desde uma simples \"listar todas as receitas\" at\u00e9 \"encontrar todas as receitas com um ingrediente de cenoura\", depende do uso de uma lista em algum lugar.<\/p>\n<p>O Couchbase suporta uma constru\u00e7\u00e3o chamada de visualiza\u00e7\u00e3o. Em princ\u00edpio, as visualiza\u00e7\u00f5es s\u00e3o semelhantes \u00e0s visualiza\u00e7\u00f5es do MySQL, exceto pelo fato de que, no Couchbase, as visualiza\u00e7\u00f5es s\u00e3o a \u00fanica maneira de obter listas de documentos do banco de dados, e n\u00e3o um m\u00e9todo de obter uma alternativa .<\/p>\n<p>Na verdade, uma visualiza\u00e7\u00e3o define tr\u00eas coisas:<\/p>\n<ul>\n<li>A estrutura das informa\u00e7\u00f5es inclu\u00eddas na visualiza\u00e7\u00e3o. Voc\u00ea pode pensar nisso como a defini\u00e7\u00e3o da estrutura da tabela, da mesma forma que definiria uma tabela no MySQL.<\/li>\n<li>Os campos ou informa\u00e7\u00f5es que podem ser pesquisados. Uma visualiza\u00e7\u00e3o gera dois elementos, uma chave e um valor. As chaves formam o m\u00e9todo pelo qual voc\u00ea pode pesquisar ou, mais especificamente, selecionar o conte\u00fado do banco de dados que deseja.<\/li>\n<li>Um \u00edndice sobre a estrutura e as chaves. O \u00edndice \u00e9 usado para melhorar a pesquisa dos dados informados na exibi\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>As visualiza\u00e7\u00f5es s\u00e3o definidas em um documento de design, em JavaScript, usando uma fun\u00e7\u00e3o que aceita um documento. Quando a visualiza\u00e7\u00e3o \u00e9 constru\u00edda, todos os documentos do banco de dados s\u00e3o fornecidos \u00e0 visualiza\u00e7\u00e3o, e a visualiza\u00e7\u00e3o emite as informa\u00e7\u00f5es que voc\u00ea deseja que apare\u00e7am na sa\u00edda. N\u00e3o se preocupe com o JavaScript, pois ele \u00e9 executado no servidor, n\u00e3o no cliente.<\/p>\n<p>Ent\u00e3o, voltando ao MySQL por um momento, uma consulta (sem uma cl\u00e1usula WHERE) seleciona os campos a serem retornados na sa\u00edda da consulta e constr\u00f3i uma lista de linhas correspondentes na sa\u00edda. Ent\u00e3o, olhando para uma instru\u00e7\u00e3o SQL:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.tumblr.com\/tumblr_ld4jemtxzm1qai6ym.png\" alt=\"\" \/><\/p>\n<p>Ao executar uma consulta no MySQL, o servidor MySQL obt\u00e9m as informa\u00e7\u00f5es na tabela ou tabelas e, em seguida, constr\u00f3i a lista de registros (e campos correspondentes) a serem retornados, da seguinte forma:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.tumblr.com\/tumblr_ld4jey7LRX1qai6ym.png\" alt=\"\" \/><\/p>\n<p>No Couchbase, as visualiza\u00e7\u00f5es constroem uma lista de registros a partir das informa\u00e7\u00f5es individuais do documento, criando um \u00edndice como efeito colateral desse processo. O resultado \u00e9 uma lista de todos os documentos gerados pela visualiza\u00e7\u00e3o.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.tumblr.com\/tumblr_ld4jfawsDZ1qai6ym.png\" alt=\"\" \/><\/p>\n<p>???<\/p>\n<p>No MySQL, quando voc\u00ea executa uma consulta com uma cl\u00e1usula WHERE, o \u00edndice (espero) \u00e9 usado para ajudar a selecionar os registros que voc\u00ea deseja escolher:<\/p>\n<p>???<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.tumblr.com\/tumblr_ld4jfoNw7F1qai6ym.png\" alt=\"\" \/><\/p>\n<p>No Couchbase, a visualiza\u00e7\u00e3o gerada \u00e9 a sua tabela e, quando voc\u00ea consulta a visualiza\u00e7\u00e3o, o Couchbase usa os valores-chave (e o \u00edndice associado que foi gerado), com os valores de consulta que voc\u00ea especifica filtrando as informa\u00e7\u00f5es retornadas para gerar a lista final de registros correspondentes.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/media.tumblr.com\/tumblr_ld4jfxTbTD1qai6ym.png\" alt=\"\" \/><\/p>\n<p>Esse m\u00e9todo de especificar as tabelas que voc\u00ea deseja consultar permite simplificar e otimizar a maneira como voc\u00ea extrai informa\u00e7\u00f5es do banco de dados. Mas isso tamb\u00e9m significa que voc\u00ea precisa pensar um pouco mais sobre como deseja consultar as informa\u00e7\u00f5es.<\/p>\n<h3>Pr\u00f3xima vez<\/h3>\n<p>Agora voc\u00ea sabe como o MySQL armazena e consulta informa\u00e7\u00f5es e como esse conhecimento pode ser traduzido quando voc\u00ea migra informa\u00e7\u00f5es para o Couchbase Server 2.0. Na pr\u00f3xima vez, come\u00e7aremos a criar algumas consultas com base no que aprendemos e a examinar consultas mais avan\u00e7adas e o processo de migra\u00e7\u00e3o.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<style id=\"_clearly_component__css\" type=\"text\/css\">#next_pages_container { width: 5px; hight: 5px; position: absolute; top: -100px; left: -100px; z-index: 2147483647 !important; }<br \/>\n<\/style>\n<div id=\"_clearly_component__next_pages_container\"><\/div>\n<style id=\"_clearly_component__css\" type=\"text\/css\">#next_pages_container { width: 5px; hight: 5px; position: absolute; top: -100px; left: -100px; z-index: 2147483647 !important; }<br \/>\n<\/style>\n<style id=\"_clearly_component__css\" type=\"text\/css\">#next_pages_container { width: 5px; hight: 5px; position: absolute; top: -100px; left: -100px; z-index: 2147483647 !important; }<br \/>\n<\/style>","protected":false},"excerpt":{"rendered":"<p>If you have a database built using MySQL, you might be wondering if, and more importantly how, that database (and your application) can be moved to Couchbase. The biggest stumbling block is not the technical aspects of creating the Couchbase [&hellip;]<\/p>","protected":false},"author":35,"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":[1336],"ppma_author":[9012],"class_list":["post-1633","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-mysql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Move from MySQL to Couchbase Server 2.0: Part 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\/pt\/how-move-mysql-couchbase-server-20-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Move from MySQL to Couchbase Server 2.0: Part 1\" \/>\n<meta property=\"og:description\" content=\"If you have a database built using MySQL, you might be wondering if, and more importantly how, that database (and your application) can be moved to Couchbase. The biggest stumbling block is not the technical aspects of creating the Couchbase [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/how-move-mysql-couchbase-server-20-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T19:33:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-05-03T19:56:42+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=\"MC Brown\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"MC Brown\" \/>\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\/how-move-mysql-couchbase-server-20-part-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/\"},\"author\":{\"name\":\"MC Brown\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/52986346eb631b1a48e46835090d367f\"},\"headline\":\"How to Move from MySQL to Couchbase Server 2.0: Part 1\",\"datePublished\":\"2014-12-16T19:33:34+00:00\",\"dateModified\":\"2017-05-03T19:56:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/\"},\"wordCount\":1623,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"mysql\"],\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/\",\"name\":\"How to Move from MySQL to Couchbase Server 2.0: Part 1 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T19:33:34+00:00\",\"dateModified\":\"2017-05-03T19:56:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-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\/how-move-mysql-couchbase-server-20-part-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Move from MySQL to Couchbase Server 2.0: Part 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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\/52986346eb631b1a48e46835090d367f\",\"name\":\"MC Brown\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/dd98ed7be15f11839c69e0379e0894fa\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a994eaa1c5f25839d2f602c410a8dc5080b3520d435d27e2d98c7ff87988355b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a994eaa1c5f25839d2f602c410a8dc5080b3520d435d27e2d98c7ff87988355b?s=96&d=mm&r=g\",\"caption\":\"MC Brown\"},\"description\":\"Mc Brown is a Vice President, Technical Publications &amp; Education at Couchbase. Responsible for building the documentation &amp; supporting information.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/mc-brown\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Move from MySQL to Couchbase Server 2.0: Part 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\/pt\/how-move-mysql-couchbase-server-20-part-1\/","og_locale":"pt_BR","og_type":"article","og_title":"How to Move from MySQL to Couchbase Server 2.0: Part 1","og_description":"If you have a database built using MySQL, you might be wondering if, and more importantly how, that database (and your application) can be moved to Couchbase. The biggest stumbling block is not the technical aspects of creating the Couchbase [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/how-move-mysql-couchbase-server-20-part-1\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T19:33:34+00:00","article_modified_time":"2017-05-03T19:56:42+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":"MC Brown","twitter_card":"summary_large_image","twitter_misc":{"Written by":"MC Brown","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/"},"author":{"name":"MC Brown","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/52986346eb631b1a48e46835090d367f"},"headline":"How to Move from MySQL to Couchbase Server 2.0: Part 1","datePublished":"2014-12-16T19:33:34+00:00","dateModified":"2017-05-03T19:56:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/"},"wordCount":1623,"commentCount":7,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["mysql"],"articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/","url":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/","name":"How to Move from MySQL to Couchbase Server 2.0: Part 1 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T19:33:34+00:00","dateModified":"2017-05-03T19:56:42+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-1\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/how-move-mysql-couchbase-server-20-part-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\/how-move-mysql-couchbase-server-20-part-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Move from MySQL to Couchbase Server 2.0: Part 1"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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\/52986346eb631b1a48e46835090d367f","name":"MC Brown","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/dd98ed7be15f11839c69e0379e0894fa","url":"https:\/\/secure.gravatar.com\/avatar\/a994eaa1c5f25839d2f602c410a8dc5080b3520d435d27e2d98c7ff87988355b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a994eaa1c5f25839d2f602c410a8dc5080b3520d435d27e2d98c7ff87988355b?s=96&d=mm&r=g","caption":"MC Brown"},"description":"Mc Brown \u00e9 vice-presidente de publica\u00e7\u00f5es t\u00e9cnicas e educa\u00e7\u00e3o da Couchbase. Respons\u00e1vel pela cria\u00e7\u00e3o da documenta\u00e7\u00e3o e das informa\u00e7\u00f5es de suporte.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/mc-brown\/"}]}},"authors":[{"term_id":9012,"user_id":35,"is_guest":0,"slug":"mc-brown","display_name":"MC Brown","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a994eaa1c5f25839d2f602c410a8dc5080b3520d435d27e2d98c7ff87988355b?s=96&d=mm&r=g","author_category":"","last_name":"Brown","first_name":"MC","job_title":"","user_url":"","description":"Mc Brown \u00e9 vice-presidente de publica\u00e7\u00f5es t\u00e9cnicas e educa\u00e7\u00e3o da Couchbase. Respons\u00e1vel pela cria\u00e7\u00e3o da documenta\u00e7\u00e3o e das informa\u00e7\u00f5es de suporte."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1633"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1633\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1633"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}