{"id":221,"date":"2014-12-16T17:46:30","date_gmt":"2014-12-16T17:46:29","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/"},"modified":"2014-12-16T17:46:30","modified_gmt":"2014-12-16T17:46:29","slug":"use-cases-are-driving-divergence-and-convergence-nosql-solutions","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/","title":{"rendered":"Os casos de uso est\u00e3o impulsionando a diverg\u00eancia, e a converg\u00eancia, das solu\u00e7\u00f5es NoSQL"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Esta manh\u00e3, Matt Aslett, do The 451, publicou um artigo no blog sobre <a href=\"https:\/\/blogs.the451group.com\/information_management\/2010\/11\/12\/the-beginning-of-the-end-of-nosql\/\">O come\u00e7o do fim do NoSQL<\/a> no qual ele destacou a inutilidade do nome da categoria NoSQL. Bom post, como de costume. Mas isso n\u00e3o \u00e9 novidade. As pessoas v\u00eam reclamando do termo desde o dia em que foi cunhado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Concordo plenamente com o Matt que um foco em casos de uso (\u201cqual problema voc\u00ea est\u00e1 tentando resolver?\u201d) ser\u00e1 muito mais produtivo do que focar em r\u00f3tulos. Mas n\u00e3o concordo com o Matt quando ele parece dar a entender que seria muito mais \u00fatil categorizar em termos do modelo de dados subjacente (chave-valor, documento, orientado a colunas, grafo, etc.). <strong>Estas categorias oferecem apenas uma melhoria marginal se o foco for avaliar a adequa\u00e7\u00e3o ao prop\u00f3sito de uma tarefa espec\u00edfica. <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Mongo \u00e9 um banco de dados de documentos. O Couch tamb\u00e9m. No entanto, essas duas solu\u00e7\u00f5es est\u00e3o indo em dire\u00e7\u00f5es drasticamente diferentes sob a perspectiva de caso de uso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mongo \u00e9 um banco de dados de documentos. Cassandra \u00e9 um banco de dados orientado a colunas. <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/what-exactly-membase\/\">Membase<\/a> e o Riak s\u00e3o bancos de dados chave-valor. Mas essas solu\u00e7\u00f5es est\u00e3o em rota de colis\u00e3o direta do ponto de vista de casos de uso. Elas est\u00e3o sendo avaliadas de forma intercambi\u00e1vel pelos clientes hoje e cada uma est\u00e1 vencendo ou perdendo, frequentemente com base em recursos que n\u00e3o t\u00eam nada a ver com o modelo de dados subjacente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sim, NoSQL \u00e9 um nome de categoria in\u00fatil.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e1 pelo menos duas boas raz\u00f5es pelas quais o apelido NoSQL \u00e9 uma droga:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Alguns sistemas \u201cNoSQL\u201d na verdade fornecem dialetos de SQL<\/strong> como a linguagem de consulta para acessar dados dentro do banco de dados. O Google App Engine possui o <a href=\"https:\/\/code.google.com\/appengine\/docs\/python\/datastore\/gqlreference.html\">linguagem GQL<\/a>. A miss\u00e3o tem <a href=\"https:\/\/toadforcloud.com\/index.jspa\">Toad for Cloud Databases<\/a> que busca fornecer uma interface SQL para o HBase, Azure Tables, SimpleDB da Amazon e outros bancos de dados \u201cNoSQL\u201d. <a href=\"https:\/\/wiki.apache.org\/hadoop\/Hive\">Colmeia<\/a> traz um dialecto de SQL para o Hadoop, facilitando o ETL.<\/li>\n\n\n<li>Como Matt aponta, <strong>h\u00e1 muitas classes diferentes de tecnologia agrupadas sob o r\u00f3tulo NoSQL<\/strong> hoje. Sem d\u00favida sobre isso. Mas eu proponho que simplesmente falar em termos de um aspecto de uma pilha de tecnologia complexa nos aproxima apenas marginalmente de resolver o problema real. Os seres humanos s\u00e3o programados para desejar categorias bonitas e organizadas nas quais agrupar conceitos e coisas. Mas eu sugiro que NoSQL como um r\u00f3tulo para o Mongo \u00e9 apenas ligeramente menos \u00fatil do que dizer que o Mongo \u00e9 um banco de dados de documentos,<strong> se o que voc\u00ea est\u00e1 tentando fazer \u00e9 descobrir para que ele serve<\/strong> <strong>para<\/strong>.<\/li>\n\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Categorizar por modelo de dados tamb\u00e9m \u00e9 praticamente in\u00fatil.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ent\u00e3o, qual seria um conjunto bom, limpo e representativo de categorias para todas essas solu\u00e7\u00f5es emergentes? Um que realmente permitisse a um observador determinar se a categoria da solu\u00e7\u00e3o \u00e9 ou n\u00e3o apropriada para um determinado caso de uso? Eu n\u00e3o tenho a resposta e n\u00e3o tenho certeza se existe uma boa resposta.<strong> Talvez os pr\u00f3prios casos de uso forne\u00e7am a categoriza\u00e7\u00e3o correta.<\/strong> De qualquer forma, estou ansioso para ler o relat\u00f3rio da 451 que o Matt indica que ajudar\u00e1 a estruturar o pensamento em torno dessas \u201calternativas de banco de dados\u201d.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em \u00faltima an\u00e1lise, categorizar essas solu\u00e7\u00f5es exigir\u00e1 olhar al\u00e9m do modelo de dados subjacente isoladamente (chave-valor, documento, orientado a colunas, grafo, etc.). Em vez disso, esses sistemas devem ser comparados usando um conjunto maior, e esperamos que gerenci\u00e1vel, de atributos: voc\u00ea deve declarar um esquema antes de inserir dados? Voc\u00ea pode alterar o esquema em tempo de execu\u00e7\u00e3o, caso seja necess\u00e1rio? Qu\u00e3o dif\u00edcil \u00e9 fazer isso? O banco de dados pode se expandir transparentemente (para uma aplica\u00e7\u00e3o) entre m\u00e1quinas ou \u00e9 uma solu\u00e7\u00e3o focada em um \u00fanico servidor? Voc\u00ea precisa desativar o banco de dados para adicionar ou remover capacidade? Voc\u00ea pode consultar o banco de dados usando uma linguagem de consulta ou precisa escrever c\u00f3digo? O sistema mant\u00e9m \u00edndices para acelerar as consultas? Como o banco de dados se sai em opera\u00e7\u00f5es aleat\u00f3rias e sequenciais? Como ele se sai em leituras versus grava\u00e7\u00f5es? Os dados s\u00e3o gravados em m\u00eddia dur\u00e1vel imediatamente ou eventualmente, e qual \u00e9 a minha exposi\u00e7\u00e3o \u00e0 perda de dados em caso de falha de n\u00f3? E quanto \u00e0 falha de datacenter? Posso alterar essa exposi\u00e7\u00e3o por meio de opera\u00e7\u00f5es s\u00edncronas? O que isso far\u00e1 com o desempenho? O banco de dados pode funcionar al\u00e9m dos limites do datacenter? Eu sempre poderei ler minhas pr\u00f3prias grava\u00e7\u00f5es ou h\u00e1 per\u00edodos de inconsist\u00eancia de dados entre leitores?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essas s\u00e3o certamente perguntas muito mais relevantes a serem feitas ao tentar determinar a adequa\u00e7\u00e3o ao prop\u00f3sito para qualquer caso de uso espec\u00edfico. Novamente, <strong>h\u00e1 um coeficiente de correla\u00e7\u00e3o baixo ao comparar as respostas a estas perguntas com as categorias restritas em que esses sistemas est\u00e3o sendo enquadrados<\/strong>; e pouco importa se voc\u00ea os encaixa todos em uma grande categoria \u201cNoSQL\u201d, ou se os divide em subcategorias baseadas em uma abordagem orientada a modelos de dados de eixo \u00fanico (chave-valor, documento, orientado a colunas, grafo, etc.).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O NoSQL \u00e9 apenas uma repeti\u00e7\u00e3o do fiasco do OODBMS do final dos anos 90?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por que h\u00e1 tanto barulho em torno do NoSQL, afinal? Isso \u00e9 apenas uma repeti\u00e7\u00e3o do *hype* do banco de dados orientado a objetos que todos n\u00f3s vivemos no final dos anos 1990? Nesse fiasco, fornecedores de OODBMS, especialistas e investidores descartaram a tecnologia de banco de dados relacional como uma \u201ccorrespond\u00eancia de imped\u00e2ncia\u201d ruim para modelos de desenvolvimento de aplicativos orientados a objetos cada vez mais dominantes. Havia a alega\u00e7\u00e3o de que era mais \u201cnatural\u201d para os desenvolvedores armazenarem dados no banco de dados em sua forma de objeto nativa, com argumentos de que seria mais eficiente tamb\u00e9m.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas, na realidade, havia pouca dor real sendo abordada. De fato, a mudan\u00e7a de uma tecnologia conhecida e funcional para uma solu\u00e7\u00e3o n\u00e3o testada que prometia uma abordagem mais \u201celegante\u201d e teoricamente correta na verdade s\u00f3 tinha uma coisa garantida: disrup\u00e7\u00e3o. Camadas de mapeamento objeto-relacional (ORM) projetadas para unir a \u201cincompatibilidade\u201d entre os modelos de dados de objetos e relacionais n\u00e3o s\u00e3o perfeitas; mas s\u00e3o melhores do que virar seu mundo de cabe\u00e7a para baixo se voc\u00ea n\u00e3o precisar. As dezenas de bilh\u00f5es de d\u00f3lares em receita previstas por analistas para o mercado de OODBMS nunca chegaram perto de se concretizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ent\u00e3o, h\u00e1 um problema real agora? Um caso de uso real, ou casos de uso, para os quais as tecnologias de banco de dados existentes s\u00e3o verdadeiramente insuficientes? Onde a disrup\u00e7\u00e3o de uma mudan\u00e7a tecnol\u00f3gica ter\u00e1 impacto econ\u00f4mico substancial? A resposta \u00e9 um categ\u00f3rico sim.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Os casos de uso est\u00e3o impulsionando a diverg\u00eancia, e a converg\u00eancia, das solu\u00e7\u00f5es NoSQL.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O sof\u00e1 reivindicou a <strong>caso de uso de sincroniza\u00e7\u00e3o de dados m\u00f3veis<\/strong>. Em um mundo da computa\u00e7\u00e3o cada vez mais dominado por dispositivos m\u00f3veis, a sincroniza\u00e7\u00e3o de dados entre a nuvem e os dispositivos m\u00f3veis (para disponibilidade de dados mesmo quando desconectados da rede) \u00e9 um problema que muitas aplica\u00e7\u00f5es precisam resolver. H\u00e1 muitas coisas a considerar \u2013 conectividade intermitente, plataformas amplamente divergentes nas quais esses bancos de dados sincronizados devem ser executados e, talvez, a expectativa de que o conjunto de dados que est\u00e1 sendo movido e sincronizado normalmente precise caber em um \u00fanico aparelho ou dispositivo. O Couch est\u00e1 focando nesses requisitos e fazendo suposi\u00e7\u00f5es simplificadoras apropriadas, permitindo que o Couch atenda ao caso de uso melhor do que qualquer outro. O Couch \u00e9 um banco de dados de documentos. O Mongo tamb\u00e9m. O Mongo \u00e9 uma solu\u00e7\u00e3o ruim para este caso de uso. Ele n\u00e3o foi projetado para manter sistemas conectados transitoriamente em sincronia e, apesar de o Mongo ter sido inicialmente projetado como um banco de dados de n\u00f3 \u00fanico, o trabalho de sharding e replica\u00e7\u00e3o feito no \u00faltimo ano indica claramente que o Mongo est\u00e1 indo em uma dire\u00e7\u00e3o diferente. Neste caso, fica claro que <strong>diverg\u00eancia <\/strong>de solu\u00e7\u00f5es; mesmo dentro do segmento mais restrito de \u201cbancos de dados de documentos\u201d do mercado \u201cNoSQL\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por outro lado, h\u00e1 a categoria cruzada <strong>converg\u00eancia <\/strong>ocorrendo entre outras solu\u00e7\u00f5es NoSQL que buscam atender a outro caso de uso extremamente grande e generalizado: armazenar dados por tr\u00e1s de aplica\u00e7\u00f5es web interativas. Na Membase, conversamos com muitos usu\u00e1rios potenciais lidando com esse problema todas as semanas; e somos consistentemente avaliados em rela\u00e7\u00e3o ao Cassandra (coluna), Mongo (documento) e Riak (tamb\u00e9m chave-valor).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As aplica\u00e7\u00f5es web que permitem \u00e0s organiza\u00e7\u00f5es interagir diretamente com os consumidores s\u00e3o cada vez mais a forma mais comum de novo sistema de software interativo sendo constru\u00eddo. Esses sistemas s\u00e3o caracterizados por padr\u00f5es de uso simult\u00e2neo aleat\u00f3rio por grandes popula\u00e7\u00f5es de usu\u00e1rios (<strong>grande p\u00fablico<\/strong>) e por sua propens\u00e3o a acumular grandes conjuntos de dados (<strong>big data<\/strong>). H\u00e1 tamb\u00e9m um impulso em dire\u00e7\u00e3o ao modelo de computa\u00e7\u00e3o em nuvem, particularmente para esta classe de aplica\u00e7\u00e3o, em que a \u201cexpans\u00e3o horizontal\u201d (adi\u00e7\u00e3o de mais inst\u00e2ncias de m\u00e1quinas em nuvem, m\u00e1quinas virtuais ou servidores comuns) \u00e9 preferida em rela\u00e7\u00e3o \u00e0 execu\u00e7\u00e3o de cargas de trabalho em grandes m\u00e1quinas dedicadas e de grande porte (\u201cbig iron\u201d). Essas realidades levaram \u00e0 necessidade generalizada de uma nova classe de sistema de gerenciamento de banco de dados que seja projetada, desde o in\u00edcio, para permitir <strong>escalabilidade horizontal<\/strong> e apoiar de forma custo-eficiente altos n\u00edveis de concorr\u00eancia em rela\u00e7\u00e3o a conjuntos de dados em r\u00e1pido crescimento. Talvez possamos chamar isso de <strong>banco de dados em nuvem<\/strong>, o caso de uso de banco de dados el\u00e1stico, banco de dados com escala horizontal (scale-out) ou banco de dados com auto-sharding (: P).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ent\u00e3o, o que um banco de dados precisa fornecer para resolver esse problema? Eu diria que ele precisa ser simples, r\u00e1pido, el\u00e1stico e seguro. Se voc\u00ea considerar o Membase, o Mongo, o Cassandra e o Riak, cada um dos quais visa explicitamente resolver esse problema generalizado de \u201cbanco de dados em nuvem\u201d, as pontua\u00e7\u00f5es em cada um desses pontos variam.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos pegar a primeira caracter\u00edstica. Para ter sucesso, um banco de dados em nuvem de prop\u00f3sito geral deve ser simples de obter, de desenvolver e de operar em produ\u00e7\u00e3o.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>O Membase \u00e9 extremamente <strong>f\u00e1cil de obter, instalar e come\u00e7ar a usar<\/strong>. Portanto, o Mongo \u00e9 mais f\u00e1cil que o Membase em alguns casos, e mais dif\u00edcil em outros. O Cassandra \u00e9 desafiador em praticamente todas as situa\u00e7\u00f5es.<\/li>\n\n\n<li>Mongo \u00e9 <strong>f\u00e1cil de desenvolver em cima<\/strong> \u2013 fornecendo consultas ricas, gerenciamento de \u00edndices e a capacidade de operar em uma variedade de tipos de dados interessantes dentro do pr\u00f3prio banco de dados. O Membase fornece aos desenvolvedores uma API de chave-valor compat\u00edvel com Memcached que, embora extremamente f\u00e1cil de usar, imp\u00f5e mais \u00f4nus ao desenvolvedor do aplicativo para muitas opera\u00e7\u00f5es comuns de banco de dados do que o Mongo. O Cassandra apresenta um modelo de desenvolvimento mais complicado, mas permite consultas ricas. As consultas do Riak dependem exclusivamente de map-reduce.<\/li>\n\n\n<li>O Membase \u00e9 <strong>f\u00e1cil de gerenciar em produ\u00e7\u00e3o<\/strong>, fornecendo um rico conjunto de ferramentas de monitoramento e gerenciamento que oferecem profunda visibilidade sobre a opera\u00e7\u00e3o de um cluster de servidores pequeno ou grande, aumentando o tempo de atividade do sistema. O Mongo oferece muito menos visibilidade sobre a opera\u00e7\u00e3o de um cluster, e essa defici\u00eancia foi a apontada principalmente pelo Mongo ap\u00f3s a interrup\u00e7\u00e3o do FourSquare.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Uma compara\u00e7\u00e3o semelhante pode ser feita para cada uma das caracter\u00edsticas restantes: r\u00e1pido, el\u00e1stico e seguro. Cada solu\u00e7\u00e3o \u00e9 forte em certas dessas \u00e1reas e relativamente fraca em outras.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas o ponto mais importante \u00e9 que <strong>cada uma dessas solu\u00e7\u00f5es est\u00e1 se movimentando para suprir suas respectivas defici\u00eancias<\/strong> para melhor atender \u00e0s necessidades dos clientes. H\u00e1 uma converg\u00eancia impulsionada pelo caso de uso. Nenhum projeto est\u00e1 focado simplesmente em ser um \u00f3timo sistema de gerenciamento de banco de dados chave-valor, de documentos ou orientado a colunas. Cada um est\u00e1 focado em resolver um problema do mundo real \u2013 fornecer um local econ\u00f4mico para armazenar dados por tr\u00e1s de aplica\u00e7\u00f5es web interativas, conforme caracterizado anteriormente. Para esse fim, o Membase est\u00e1 adicionando recursos de consulta e indexa\u00e7\u00e3o. O Mongo recentemente retroajustou o suporte a sharding e replica\u00e7\u00e3o \u00e0 sua solu\u00e7\u00e3o inicial de servidor \u00fanico e est\u00e1 reprojetando seu mecanismo de armazenamento para aumentar a seguran\u00e7a dos dados. O Redis, outra solu\u00e7\u00e3o \u201cNoSQL\u201d, est\u00e1 adicionando recursos de gerenciamento de cluster para se tornar verdadeiramente \u201cel\u00e1stico\u201d. <strong>H\u00e1 uma converg\u00eancia clara entre as solu\u00e7\u00f5es direcionadas a este caso de uso.<\/strong> Cada um desses projetos identifica o direcionamento de an\u00fancios e ofertas; jogos sociais; gerenciamento de estado de sess\u00e3o de aplicativos web; e processamento de eventos em tempo real como casos de uso para os quais seus sistemas se destinam. Todos esses s\u00e3o casos de uso de aplicativos web interativos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">N\u00e3o relacional \u00e9 o fio tecnol\u00f3gico real e consistente em bancos de dados em nuvem<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e1 uma coisa que pode ser dita consistentemente sobre essas solu\u00e7\u00f5es de banco de dados em nuvem, de uma perspectiva t\u00e9cnica. Elas visam escalar horizontalmente, e isso \u00e9 muito dif\u00edcil (imposs\u00edvel) de ser feito de maneira econ\u00f4mica, com desempenho aceit\u00e1vel, empregando o modelo de dados relacional. Portanto, cada um desses sistemas de banco de dados \u201cNoSQL\u201d s\u00e3o sistemas \u201cn\u00e3o relacionais\u201d. Isso \u00e9, em \u00faltima an\u00e1lise, o que se pretendia com \u201cNoSQL\u201d.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na verdade, cada um desses sistemas \u00e9, em sua ess\u00eancia, <strong>um armazenamento de chave-valor<\/strong>. Elas variam nas t\u00e9cnicas usadas para examinar os valores ou agrup\u00e1-los para oper\u00e1-los (chave-valor enxerga o valor como um bloco opaco, documento enxerga o valor como uma cole\u00e7\u00e3o formatada de tipos de dados de atributos, o armazenamento orientado a colunas agrupa pares individuais de CV usando estruturas de dados separadas em \u201ccolunas\u201d). Mas, em cada caso, em vez de desagregar um registro de dados (tupla) em entradas armazenadas em um conjunto normalizado de tabelas com refer\u00eancias cruzadas, como no modelo relacional, esses bancos de dados em nuvem armazenam os campos de dados de um \u201cregistro\u201d espec\u00edfico em um \u00fanico local. Isso torna muito f\u00e1cil distribuir registros automaticamente (\u201cfragmentar o banco de dados\u201d ou fazer *shard*) por muitos n\u00f3s em um cluster de banco de dados. H\u00e1 pr\u00f3s e contras nessa abordagem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No lado negativo, a desnormaliza\u00e7\u00e3o leva a aumentos no tamanho total do conjunto de dados (j\u00e1 que alguns dados s\u00e3o inevitavelmente armazenados v\u00e1rias vezes no banco de dados, onde haveria apenas refer\u00eancias em um banco de dados relacional normalizado) e aumenta a complexidade de realizar jun\u00e7\u00f5es. No lado positivo, torna f\u00e1cil espalhar dados por v\u00e1rios servidores baratos e alterar essa distribui\u00e7\u00e3o sob demanda sem interrup\u00e7\u00e3o da aplica\u00e7\u00e3o. Tamb\u00e9m elimina a exig\u00eancia de pr\u00e9-definir um esquema (ou alterar o esquema do banco de dados) antes de inserir dados. Na d\u00favida, armazene-os. Voc\u00ea pode inferir um esquema mais tarde. Isso torna muito mais f\u00e1cil coletar informa\u00e7\u00f5es que anteriormente poderiam ter ficado sem coleta. Em \u00faltima an\u00e1lise, este \u00e9 talvez o ponto onde a tecnologia de banco de dados NoSQL criar\u00e1 mais valor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ent\u00e3o, vamos encontrar um nome melhor.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Estamos bem prontos para abandonar o r\u00f3tulo NoSQL. Se as pessoas conseguirem se unir em torno de uma taxonomia mais centrada em casos de uso, acredito que isso seria uma vit\u00f3ria para os usu\u00e1rios que lutam para entender para que esses sistemas servem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Banco de dados em nuvem \u00e9 um nome que vai direto ao cerne do problema que o Membase est\u00e1 tentando resolver, por todas as raz\u00f5es articuladas acima. Mas pode ser um pouco moderno demais ou amorfo. Adoraria saber o que as pessoas acham.<\/p>","protected":false},"excerpt":{"rendered":"<p>This morning, Matt Aslett of The 451 blogged on The beginning of the end of NoSQL in which he highlighted the uselessness of the NoSQL category name. Good post, as usual. But this isn&#8217;t new news. People have been griping about the term since the day it was coined. I wholeheartedly agree with Matt that [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":18,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_acf":"","footnotes":""},"categories":[1],"tags":[],"ppma_author":[12],"class_list":["post-221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Use cases are driving the divergence, and the convergence, of NoSQL solutions - 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\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use cases are driving the divergence, and the convergence, of NoSQL solutions\" \/>\n<meta property=\"og:description\" content=\"This morning, Matt Aslett of The 451 blogged on The beginning of the end of NoSQL in which he highlighted the uselessness of the NoSQL category name. Good post, as usual. But this isn&#8217;t new news. People have been griping about the term since the day it was coined. I wholeheartedly agree with Matt that [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T17:46:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/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=\"James Phillips\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James Phillips\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/\"},\"author\":{\"name\":\"James Phillips\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/6e7590fb2429a1087b1a2ecdce122477\"},\"headline\":\"Use cases are driving the divergence, and the convergence, of NoSQL solutions\",\"datePublished\":\"2014-12-16T17:46:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/\"},\"wordCount\":2281,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/\",\"name\":\"Use cases are driving the divergence, and the convergence, of NoSQL solutions - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T17:46:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use cases are driving the divergence, and the convergence, of NoSQL solutions\"}]},{\"@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\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/6e7590fb2429a1087b1a2ecdce122477\",\"name\":\"James Phillips\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/da61b438a6eb688cbca9bd9f72e31bbec23a016a7bd0860f53fccb0c4de9f34e?s=96&d=mm&r=g48dc44f8fa0f3bc9b6613c7c0fef87ca\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/da61b438a6eb688cbca9bd9f72e31bbec23a016a7bd0860f53fccb0c4de9f34e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/da61b438a6eb688cbca9bd9f72e31bbec23a016a7bd0860f53fccb0c4de9f34e?s=96&d=mm&r=g\",\"caption\":\"James Phillips\"},\"description\":\"James Phillips is a co-founder, CEO, CSO at Couchbase. James Phillips has more than 20 years of software industry experience. James started his career writing software for the Apple II and TRS-80 microcomputer platforms.\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/pt\\\/author\\\/james-phillips\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Use cases are driving the divergence, and the convergence, of NoSQL solutions - 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\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/","og_locale":"pt_BR","og_type":"article","og_title":"Use cases are driving the divergence, and the convergence, of NoSQL solutions","og_description":"This morning, Matt Aslett of The 451 blogged on The beginning of the end of NoSQL in which he highlighted the uselessness of the NoSQL category name. Good post, as usual. But this isn&#8217;t new news. People have been griping about the term since the day it was coined. I wholeheartedly agree with Matt that [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T17:46:29+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"James Phillips","twitter_card":"summary_large_image","twitter_misc":{"Written by":"James Phillips","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/"},"author":{"name":"James Phillips","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6e7590fb2429a1087b1a2ecdce122477"},"headline":"Use cases are driving the divergence, and the convergence, of NoSQL solutions","datePublished":"2014-12-16T17:46:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/"},"wordCount":2281,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/","url":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/","name":"Use cases are driving the divergence, and the convergence, of NoSQL solutions - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T17:46:29+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/use-cases-are-driving-divergence-and-convergence-nosql-solutions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Use cases are driving the divergence, and the convergence, of NoSQL solutions"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"O Blog da 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":"O Blog da 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\/sites\/5\/2026\/06\/logo.svg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","width":"1024","height":"1024","caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6e7590fb2429a1087b1a2ecdce122477","name":"James Phillips","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/da61b438a6eb688cbca9bd9f72e31bbec23a016a7bd0860f53fccb0c4de9f34e?s=96&d=mm&r=g48dc44f8fa0f3bc9b6613c7c0fef87ca","url":"https:\/\/secure.gravatar.com\/avatar\/da61b438a6eb688cbca9bd9f72e31bbec23a016a7bd0860f53fccb0c4de9f34e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/da61b438a6eb688cbca9bd9f72e31bbec23a016a7bd0860f53fccb0c4de9f34e?s=96&d=mm&r=g","caption":"James Phillips"},"description":"James Phillips \u00e9 cofundador, CEO e CSO da Couchbase. James Phillips tem mais de 20 anos de experi\u00eancia na ind\u00fastria de software. James come\u00e7ou sua carreira escrevendo software para as plataformas de microcomputadores Apple II e TRS-80.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/james-phillips\/"}]}},"acf":[],"authors":[{"term_id":12,"user_id":9,"is_guest":0,"slug":"james-phillips","display_name":"James Phillips","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","author_category":"","first_name":"James","last_name":"Phillips","user_url":"","job_title":"","description":"James Phillips \u00e9 cofundador, CEO e CSO da Couchbase. James Phillips tem mais de 20 anos de experi\u00eancia na ind\u00fastria de software. James come\u00e7ou sua carreira escrevendo software para as plataformas de microcomputadores Apple II e TRS-80."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/221","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\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=221"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/221\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/18"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=221"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}