{"id":4462,"date":"2018-01-18T13:42:38","date_gmt":"2018-01-18T21:42:38","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4462"},"modified":"2023-06-13T23:54:06","modified_gmt":"2023-06-14T06:54:06","slug":"csv-migrating-couchbase-relational","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/csv-migrating-couchbase-relational\/","title":{"rendered":"Ferramenta CSV para migrar do Relacional para o Couchbase"},"content":{"rendered":"<div class=\"paragraph\">\n<p>CSV (Comma-seperated values, valores separados por v\u00edrgula) \u00e9 um formato de arquivo que pode ser exportado de um banco de dados relacional (como Oracle ou SQL Server). Em seguida, ele pode ser importado para o Couchbase Server com o comando <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/tools\/cbimport.html\">cbimport<\/a> utilidade.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Observa\u00e7\u00e3o: o cbimport \u00e9 fornecido com o Couchbase Enterprise Edition. Para o Couchbase Community Edition, voc\u00ea pode usar a vers\u00e3o mais limitada <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/cli\/cbtransfer-tool.html\">cbtransfer\u00eancia<\/a> ou usar a ferramenta <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/cli\/cbdocloader-tool.html\">carregador de arquivos cbdocloader<\/a> se JSON for uma op\u00e7\u00e3o.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Um ETL relacional direto\u2192CSV\u2192Couchbase provavelmente n\u00e3o ser\u00e1 a solu\u00e7\u00e3o completa para a migra\u00e7\u00e3o de dados. Em um post posterior, escreverei sobre as decis\u00f5es de modelagem de dados que voc\u00ea ter\u00e1 de considerar. Mas esse \u00e9 um ponto de partida: considere esses dados como \"em est\u00e1gios\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Observa\u00e7\u00e3o: para esta postagem, estou usando o SQL Server e um cluster do Couchbase Server, ambos instalados localmente. As etapas ser\u00e3o semelhantes para o SQL Server, Oracle, MySQL, PostgreSQL, etc.<\/em><\/p>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_export_to_csv\">Exportar para CSV<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>A primeira coisa que voc\u00ea precisa fazer \u00e9 exportar para CSV. Tenho um banco de dados relacional com duas tabelas: Invoices (faturas) e InvoiceItems (itens de fatura).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/09501-relational-tables.png\" alt=\"Relational tables example\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Vou exportar os dados dessas duas tabelas para dois arquivos CSV. Com o SQL Server Management Studio, isso pode ser feito de v\u00e1rias maneiras diferentes. Voc\u00ea pode usar <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/tools\/sqlcmd-utility\">sqlcmd<\/a> ou <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/tools\/bcp-utility\">bcp<\/a> na linha de comando. Ou voc\u00ea pode usar a fun\u00e7\u00e3o <a href=\"https:\/\/docs.microsoft.com\/en-us\/powershell\/module\/sqlserver\/invoke-sqlcmd?view=sqlserver-ps\"><code>Invoke-Sqlcmd<\/code><\/a> e canaliz\u00e1-lo atrav\u00e9s de <code>Exportar-Csv<\/code>. Voc\u00ea tamb\u00e9m pode usar a interface do usu\u00e1rio do SQL Server Management Studio.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/09504-export-csv-with-UI.png\" alt=\"Export CSV from SQL Server Management Studio\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Outros bancos de dados relacionais ter\u00e3o utilit\u00e1rios de linha de comando, ferramentas de interface do usu\u00e1rio etc. para exportar CSV.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Aqui est\u00e1 um exemplo de uma exporta\u00e7\u00e3o CSV de uma tabela chamada \"Invoices\" (Faturas):<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code>Id,InvoiceNum,InvoiceDate,BillTo,ShipTo\r\n1,ABC123,2018-01-15 00:00:00.000,Lynn Hess,\"Herman Trisler, 4189 Oak Drive\"\r\n2,XYZ987,2017-06-23 00:00:00.000,Yvonne Pollak,\"Clarence Burton, 1470 Cost Avenue\"\r\n3,FOO777,2018-01-02 00:00:00.000,Phillip Freeman,\"Ronda Snell, 4685 Valley Lane\"<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Aqui est\u00e1 uma exporta\u00e7\u00e3o de uma tabela relacionada chamada \"InvoiceItems\":<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code>InvoiceId,Product,Quantity,Price\r\n1,Tire,2,20.00\r\n1,Steering Wheel,5,10.00\r\n1,Engine Oil,10,15.00\r\n1,Brake Pad,24,1000.00\r\n2,Mouse pad,1,3.99\r\n2,Mouse,1,14.99\r\n2,Computer monitor,1,199.98\r\n3,Cupcake,12,.99\r\n3,Birthday candles,1,.99\r\n3,Delivery,1,30.00<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_load_csv_into_couchbase\">Carregar CSV no Couchbase<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Vamos importar esses dados para um bucket do Couchbase. Presumo que voc\u00ea j\u00e1 tenha criado um bucket vazio chamado \"staging\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Primeiro, vamos importar invoices.csv.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_loading_invoices\">Carregamento de faturas<\/h3>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-Powershell\">C:\\Program Files\\Couchbase\\Server\\bin\\cbimport csv -c localhost -u Administrator -p password -b staging -d file:\/\/invoices.csv --generate-key invoice::%Id%<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Observa\u00e7\u00e3o: no Linux\/Mac, em vez de <code>C:\\Arquivos de programas\\Couchbase\\Server\\bin<\/code>o caminho ser\u00e1 diferente.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Vamos detalhar isso:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><strong>cbimport<\/strong>: Esse \u00e9 o utilit\u00e1rio de linha de comando que voc\u00ea est\u00e1 usando<\/p>\n<\/li>\n<li>\n<p><strong>csv<\/strong>: Estamos importando de um arquivo CSV. Voc\u00ea tamb\u00e9m pode importar de arquivos JSON.<\/p>\n<\/li>\n<li>\n<p><strong>-c localhost<\/strong>: O local do seu cluster do Couchbase Server.<\/p>\n<\/li>\n<li>\n<p><strong>-u Administrador -p senha<\/strong>: Credenciais para seu cluster. Esperamos que voc\u00ea tenha credenciais mais seguras do que as deste exemplo!<\/p>\n<\/li>\n<li>\n<p><strong>-b prepara\u00e7\u00e3o<\/strong>: O nome do bucket do Couchbase em que voc\u00ea deseja que os dados sejam armazenados<\/p>\n<\/li>\n<li>\n<p><strong>-generate-key invoice::%Id%<\/strong> O modelo que ser\u00e1 usado para criar chaves exclusivas no Couchbase. Cada linha do CSV corresponder\u00e1 a um \u00fanico documento. Cada documento precisa de uma chave exclusiva. Decidi usar a chave prim\u00e1ria (n\u00famero inteiro) com um prefixo indicando que se trata de um documento de fatura.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>O resultado final da importa\u00e7\u00e3o de um arquivo de 3 linhas s\u00e3o 3 documentos:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/09502-csv-documents-imported-to-couchbase.png\" alt=\"CSV documents imported into Couchbase\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nesse ponto, o bucket de prepara\u00e7\u00e3o <em>somente<\/em> cont\u00e9m documentos de fatura, portanto, talvez voc\u00ea queira realizar transforma\u00e7\u00f5es agora. Talvez eu fa\u00e7a isso em exemplos de modelagem posteriores, mas, por enquanto, vamos passar para o pr\u00f3ximo arquivo.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_loading_invoice_items\">Carregamento de itens da fatura<\/h3>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-Powershell\">C:\\Program Files\\Couchbase\\Server\\bin\\cbimport csv -c localhost -u Administrator -p password -b staging -d file:\/\/invoice_items.csv --generate-key invoiceitem::#UUID#<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Essa importa\u00e7\u00e3o \u00e9 praticamente id\u00eantica \u00e0 \u00faltima. Uma diferen\u00e7a \u00e9 que se trata de um novo arquivo (invoice_items.csv). Mas a diferen\u00e7a mais importante \u00e9 que <strong>-generate-key<\/strong>. Esses registros cont\u00eam apenas chaves estrangeiras, mas cada documento no Couchbase deve ter uma chave exclusiva. Por fim, podemos decidir <em>incorporar<\/em> esses registros em seus documentos de fatura principal. Mas, por enquanto, decidi usar o UUID para gerar chaves exclusivas para os registros.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>O resultado final da importa\u00e7\u00e3o desse arquivo de 10 linhas s\u00e3o mais 10 documentos:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/09503-more-csv-documents-imported-to-couchbase.png\" alt=\"More CSV documents imported into Couchbase\"><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_what_s_next\">O que vem a seguir?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Uma vez que voc\u00ea tenha um arquivo CSV, \u00e9 muito f\u00e1cil colocar os dados no Couchbase. Entretanto, esse tipo de tradu\u00e7\u00e3o direta muitas vezes n\u00e3o \u00e9 suficiente por si s\u00f3. Explorei alguns aspectos da modelagem de dados em um <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/moving-from-sql-server-to-couchbase-part-1-data-modeling\/\">Postagem anterior do blog sobre migra\u00e7\u00e3o do SQL Server<\/a>Mas, em breve, revisitarei esse exemplo de Invoices em uma postagem de atualiza\u00e7\u00e3o no blog.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Enquanto isso, n\u00e3o deixe de conferir <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/comparing-couchbase-vs-oracle\/\">Como o Couchbase supera a Oracle<\/a> para obter mais informa\u00e7\u00f5es sobre por que as empresas est\u00e3o substituindo a Oracle em determinados casos de uso. E tamb\u00e9m d\u00ea uma olhada na <a href=\"https:\/\/resources.couchbase.com\/c\/relational-no-sql-wp?x=Y7B0ca\">Mudan\u00e7a do sistema relacional para o NoSQL: Como come\u00e7ar<\/a> white paper.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Se tiver alguma pergunta ou coment\u00e1rio, fique \u00e0 vontade para deix\u00e1-los aqui, entre em contato comigo em <a href=\"https:\/\/twitter.com\/mgroves\">Twitter @mgroves<\/a>ou fa\u00e7a sua pergunta na se\u00e7\u00e3o <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/\">F\u00f3runs do Couchbase<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>CSV (Comma-seperated values) is a file format that can be exported from a relational database (like Oracle or SQL Server). It can then be imported into Couchbase Server with the cbimport utility. Note: cbimport comes with Couchbase Enterprise Edition. For [&hellip;]<\/p>","protected":false},"author":71,"featured_media":4464,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[1614,1592,1857,1556],"ppma_author":[8937],"class_list":["post-4462","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","tag-csv","tag-oracle","tag-relational","tag-sql-server"],"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>CSV tooling for migrating to Couchbase from Relational - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"CSV can be exported from a relational database (e.g. Oracle, SQL Server). It can then be imported into Couchbase Server with cbimport.\" \/>\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\/csv-migrating-couchbase-relational\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CSV tooling for migrating to Couchbase from Relational\" \/>\n<meta property=\"og:description\" content=\"CSV can be exported from a relational database (e.g. Oracle, SQL Server). It can then be imported into Couchbase Server with cbimport.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/csv-migrating-couchbase-relational\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-18T21:42:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-14T06:54:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/095-hero-etl-data-migration-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"288\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"CSV tooling for migrating to Couchbase from Relational\",\"datePublished\":\"2018-01-18T21:42:38+00:00\",\"dateModified\":\"2023-06-14T06:54:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/\"},\"wordCount\":697,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png\",\"keywords\":[\"csv\",\"oracle\",\"relational\",\"SQL Server\"],\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/\",\"name\":\"CSV tooling for migrating to Couchbase from Relational - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png\",\"datePublished\":\"2018-01-18T21:42:38+00:00\",\"dateModified\":\"2023-06-14T06:54:06+00:00\",\"description\":\"CSV can be exported from a relational database (e.g. Oracle, SQL Server). It can then be imported into Couchbase Server with cbimport.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png\",\"width\":1024,\"height\":288,\"caption\":\"ETL diagram by JakobVoss licensed through Creative Commons 3.0 https:\/\/commons.wikimedia.org\/wiki\/File:Etl-process.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CSV tooling for migrating to Couchbase from Relational\"}]},{\"@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\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CSV tooling for migrating to Couchbase from Relational - The Couchbase Blog","description":"CSV can be exported from a relational database (e.g. Oracle, SQL Server). It can then be imported into Couchbase Server with cbimport.","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\/csv-migrating-couchbase-relational\/","og_locale":"pt_BR","og_type":"article","og_title":"CSV tooling for migrating to Couchbase from Relational","og_description":"CSV can be exported from a relational database (e.g. Oracle, SQL Server). It can then be imported into Couchbase Server with cbimport.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/csv-migrating-couchbase-relational\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-01-18T21:42:38+00:00","article_modified_time":"2023-06-14T06:54:06+00:00","og_image":[{"width":1024,"height":288,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/095-hero-etl-data-migration-1.png","type":"image\/png"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"CSV tooling for migrating to Couchbase from Relational","datePublished":"2018-01-18T21:42:38+00:00","dateModified":"2023-06-14T06:54:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/"},"wordCount":697,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png","keywords":["csv","oracle","relational","SQL Server"],"articleSection":["Couchbase Server"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/","url":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/","name":"CSV tooling for migrating to Couchbase from Relational - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png","datePublished":"2018-01-18T21:42:38+00:00","dateModified":"2023-06-14T06:54:06+00:00","description":"CSV can be exported from a relational database (e.g. Oracle, SQL Server). It can then be imported into Couchbase Server with cbimport.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/095-hero-etl-data-migration-1.png","width":1024,"height":288,"caption":"ETL diagram by JakobVoss licensed through Creative Commons 3.0 https:\/\/commons.wikimedia.org\/wiki\/File:Etl-process.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/csv-migrating-couchbase-relational\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CSV tooling for migrating to Couchbase from Relational"}]},{"@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\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves \u00e9 um cara que adora programar. N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","first_name":"Matthew","last_name":"Groves","user_url":"https:\/\/crosscuttingconcerns.com","author_category":"","description":"Matthew D. Groves \u00e9 um cara que adora programar.  N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa.  Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90.  Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores.  Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4462","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\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=4462"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4462\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/4464"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=4462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=4462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=4462"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=4462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}