O Dynamo acelerou a revolução NoSQL que está impulsionando o setor de bancos de dados.

Recentemente, a Amazon anunciado PartiQL - uma linguagem de consulta compatível com SQL para seu principal banco de dados NoSQL, o Amazon DynamoDB. Isso fez com que a "re:evolução" do NoSQL fechasse o círculo. É maravilhoso ver a pesquisa colaborativa da UCSD e Couchbase permitindo que o setor avance.

O NoSQL teve um bom desempenho. MapReduce o acionou em 2004. Dínamo  e BigTable  o acelerou em 2007. O NoSQL significava não ter suporte para SQL, não ter suporte para transações com vários documentos, não ter gerenciamento de esquema, não ter linguagem procedural e muitos outros "nãos". No entanto, o NoSQL não era um rebelde sem causa. Ele prometia confiabilidade, escalabilidade e flexibilidade. Alguém brincou: "Se você não está pronto para escalonar, não está pronto para ter sucesso!". Para a diversão do pessoal do SQL, o MongoDB afirmou que é escala da web. Apesar das reservas e oposição da comunidade de bancos de dados, o movimento NoSQL avançou. Muitos se perguntaram se ele é útil para a Amazon, o Google e o Facebook, quem mais o consideraria útil?

Aqui estamos nós. Com mais de 200 NoSQL bancos de dados.

Os sistemas NoSQL não continuaram sendo simples armazenamentos de valores-chave com operações get/set, map/reduce. O MongoDB adicionou uma agregação estrutura, um moderno mecanismo de armazenamentoe caiu ÁCIDO. DynamoDB adicionado transações, índicese agora uma linguagem semelhante ao SQL. O Cassandra começou com CQLO Couchbase, uma linguagem semelhante ao SQL, fez alterações significativas na versão 3.0 e vem adicionando novos tipos de dados, DDLs e DMLs. O Couchbase começou com APIs simples, acrescentou visualizações. Em 2015, o Couchbase introduziu N1QL - SQL para JSON, secundário global índices, e, posteriormente, adicionou o serviço analítico com suporte a N1QL e distribuído transações.

Se você estiver lendo O dilema do inovador, ele deve lembrá-lo do Toyota e o mini moinhos histórias. As empresas estabelecidas deixaram a parte inferior do mercado para a Toyota Corona e as miniusinas, o que as liberou para se concentrarem em mercados com margens mais altas. No setor de bancos de dados, as empresas estabelecidas consideravam o NoSQL com a mesma zombaria ou afirmaram que tinham bancos de dados sem SQL há muito tempo! Ainda assim, houve algumas tentativas tímidas das empresas estabelecidas de entrar no mercado. A Oracle até investiu no NoSQL comprando Software Sleepycatfabricante do banco de dados NoSQL BerkeleyDB. A IBM adicionou suporte a JSON e MongoDB ao Informix e DB2. Isso equivale ao fato de a GM liberar o Geo Metro - Vamos lançar um modelo básico no segmento inferior do mercado e acabar logo com isso. A Microsoft provavelmente fez a melhor tentativa ao criar CosmosDB (anteriormente DocumentDB) desde o início.

O NoSQL não é simplesmente a ausência de SQL. Assim como a Toyota e as miniusinas, o NoSQL tem os principais pontos fortes. O ponto forte da Toyota era a estrutura de molde único, que permitia que eles produzissem o carro no Japão, enviassem-no por 6.000 milhas e ainda fossem acessíveis para os compradores de carros de baixo custo. A estrutura de molde único também lhes proporcionou a base para iterar e inovar para melhorar o carro. As mini usinas continuaram a subir na pilha para produzir aço de melhor qualidade e as usinas de aço integradas geralmente respondiam fugindo do mercado e evitando a concorrência. Um belo dia, a GM declarou falência e as siderúrgicas integradas fecharam as portas.

Então, qual é o principal diferencial do NoSQL? Banco de dados distribuído a partir do núcleo. Os sistemas RDBMS tradicionais foram criados para serem executados em uma única máquina e estendidos para situações de hot-standby e, em seguida, ampliados para escala. Os sistemas NoSQL são projetados para serem executados em um cluster de máquinas desde o início. As falhas de hardware e software são esperadas e tratadas em um nível sistêmico. De fato, COUCH em COUCHBASE significa Cluster Of Unreliable Commodity Hardware. O núcleo do NoSQL começa com um banco de dados distribuído que oferece confiabilidade e expansão. Claro, há 40 anos existem sistemas de bancos de dados distribuídos. Eles se concentravam em armazenamento, não em OLTP.

O NoSQL começou com as míseras APIs get()/set(): apenas o suficiente para cobrir os casos de uso básicos com carrinhos de compras, armazenamentos de sessão e gerenciadores de perfil. Não havia como sua funcionalidade corresponder à sofisticação do SQL. A zombaria dos fornecedores de bancos de dados tradicionais com relação ao NoSQL é reminiscente da resposta da GM e das usinas siderúrgicas integradas. Os "sumos sacerdotes" da Oracle e da IBM ficaram felizes em semear esse mercado de baixo custo para um bando de "desconhecidos".

Desde então, os bancos de dados NoSQL adicionaram índices, SQL com junções, agregados, funções de janela, pesquisa e transações. OK. Este é apenas o Couchbase. Mas outros têm alguns desses recursos. Na Couchbase, trabalhamos com clientes que estão migrando do Oracle, Db2, Informix, SQL Server e Sybase. Esses bancos de dados são excelentes, mas seu núcleo é diferente. Criados para um, ampliados para poucos. Os sistemas NoSQL são criados para escala maciça e confiabilidade. Mesmo quando os recursos de índice, consulta e pesquisa de nível superior são adicionados, esse núcleo ainda precisa operar em escala e ser confiável. Com todos esses recursos, o NoSQL se tornou o principal pilar das empresas. Cargas de trabalho de missão crítica e milhares de clusters executam rotineiramente CouchbaseMongoDBElásticoe outros sistemas NoSQL. Os sistemas NoSQL tornaram o banco de dados moderno pronto e acessível para as empresas modernas.

O próprio SQL tem sido injustificadamente eficaz. Muitos Os sistemas NoSQL foram ampliados para oferecer suporte a muitos aspectos do SQL. A concorrência entre os sistemas NoSQL para oferecer um SQL melhor - o que significa melhor sintaxe, funcionalidade, desempenho, otimizador e escala - é acirrada. À medida que esses sistemas crescem para criar um banco de dados ainda melhor, vamos dar as boas-vindas ao Amazon DynamoDB e dizer: O NoSQL está morto, viva o NoSQL.

Referências

  1. https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
  2. https://dzone.com/articles/keep-calm-and-query-json
  3. https://dzone.com/articles/keep-calm-and-json
  4. https://cassandra.apache.org/doc/latest/architecture/overview.html
  5. https://hostingdata.co.uk/nosql-database/
  6. http://www.vldb.org/pvldb/vol2/vldb09-938.pdf
  7. https://www.singlestore.com/blog/why-nosql-databases-wrong-tool-for-modern-application/
  8. https://www.couchbase.com/blog/unreasonable-effectiveness-of-sql/
  9. https://www.couchbase.com/blog/the-unreasonable-effectiveness-of-sql-in-nosql-databases/

Autor

Postado por Keshav Murthy

Keshav Murthy é vice-presidente de P&D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experiência em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&D de SQL e NoSQL na IBM Informix. Recebeu dois prêmios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav é bacharel em Ciência da Computação e Engenharia pela Universidade de Mysore, Índia, detém dez patentes nos EUA e tem três patentes pendentes nos EUA.

Deixar uma resposta