Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


NoSQL: guia rápido

Notícias sobre migrações e adoções de NoSQL (especialmente quanto ao Cassandra, que parece ser um queridinho dos serviços on-line populares ultimamente) têm surgido por aqui, mas a idéia por trás do movimento NoSQL ainda não é clara para muitos – em especial, o equívoco de pensar que ele é algo especificamente contra a linguagem de consulta SQL continua comum.

Por isso, recomendo este artigo em duas páginas do The H, apresentando uma visão histórica, descrevendo o posicionamento como uma alternativa ou complemento ao modelo relacional tradicional, diferenciando em relação ao mais recente movimento “contra” o modelo relacional (que foi o dos bancos orientados a objetos), e apresentando softwares como o CouchDB, Neo4J, Redis e Cassandra. (via h-online.com)


• Publicado por Augusto Campos em 2010-04-22

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Allan Taborda dos Santos (usuário não registrado) em 22/04/2010 às 5:22 pm

    Eu uso o Db4o (banco de dados orientado a objetos em Java, com versões em .NET e Mono, mas eu só uso a versão Java) em alguns dos softwares que eu desenvolvo e a produtividade vai lá em cima, é só tuchar os objetos no banco e acabou! E, para recuperar os objetos, basta usar uma das três maneiras disponíveis, a minha preferida é o uso de Native Queries, que são escritas em Java mesmo.

    E o Db4o, segundo o site dos desenvolvedores, é utilizado até num sistema de missão crítica, numa companhia de trens da Espanha, se não me falha a memória.

    Thales Oliveira (usuário não registrado) em 22/04/2010 às 5:29 pm

    Obrigado Augusto Campos e Allan Taborda.
    Eu tinha anotado aqui em algum papel perdido que queria estudar “NoSQL”; perdi o papel rsrs

    Abraço

    Hell (usuário não registrado) em 22/04/2010 às 5:54 pm

    @Allan Taborda dos Santos

    Eu estava trabalhando com o NeoDatis ODB também muito bom e rápido, entretanto parei de usar ODBs por causa do retorno dos objetos, é meio preocupando retornar um objeto que vem com uma lista de milhares de outros objetos, queria muito que isso nem funcionasse dessa forma.

    Igor Cavalcante (usuário não registrado) em 22/04/2010 às 7:41 pm

    Eu já usei db4o pra testes pessoais, achei muito interessante, as vezes demora pra cair a ficha, pois o banco elimina a necessidade de fazer o mapeamento objeto-relacional, é simplesmente vc dar um store em um objeto e já, pimba! Eu não sei muito emrelação ao desempenho e por isso não cheguei a usa-lo em sistemas em produção. Esta já é bem antiga, mas parece que só agora vem ganhando força.

    Paul (usuário não registrado) em 23/04/2010 às 12:14 am

    nosql significa “não tenho dinheiro para Oracle”

    Willian (usuário não registrado) em 23/04/2010 às 7:49 am

    @Allan Taborda dos Santos isso deve ser uma maravilha! :)

    Paul (usuário não registrado) em 23/04/2010 às 8:28 am

    Consideraram meu comentário anterior ofensivo. Mas é sério. Nunca vi um sistema Java + Oracle pedir água.

    Ao contrário, os “serviços online populares”, principalmente Facebook (PHP + MySQL) defendiam com unhas e dentes esse modelo. Depois tiveram que partir para PHP com compilação para C, e agora o Cassandra.

    Eu imagino que a idéia seja ter custo mínimo… mas dado o tanto que isso tem custado de horas de desenvolvimento, não seria mais fácil ter usado direto soluções que sabidamente são escaláveis?

    Tabela2 (usuário não registrado) em 23/04/2010 às 9:12 am

    @Paul, acredito que um sistema PHP + MySQL seja rápido, mas é claro existem gargalos e existem coisas a serem feitas para se melhorar. Mas o dinheiro a ser investido pode ficar proibitivo, servidores mais parrudos, mais memória, mais disco… Não dá para ficar investindo só em hardware, o lado do software também deve melhorar.

    Que tal vc citar um exemplo de sistema que use Oracle e seja acessado por muita gente tal como o Facebook ou Twitter.

    Paul (usuário não registrado) em 23/04/2010 às 9:52 am

    Tabela2, não estou falando de rapidez, sim de escalabilidade.

    Allan Taborda dos Santos (usuário não registrado) em 23/04/2010 às 9:57 am

    O Oracle tem desempenho inferior ao MySQL e a vários outros SGBDs. O Oracle foi concebido e otimizado para aguentar uma quantidade de dados maior do que os concorrentes e ser mais estável.

    Com relação a retornar um objeto com milhares de outros objetos, no Db4o, há como configurar a quantidade de níveis de objetos na cadeia de objetos, o padrão é 5 níveis. Isso consta no manual do Db4o.

    Alguns testes feitos pelos desenvolvedores do Db4o indicam que o este seria mais rápido que os bancos relacionais, inclusive o MySQL (eu acho, não tenho certeza de que o MySQL tava incluído nos testes). Entretanto, eu nunca testei aqui se ele é mais rápido que o MySQL.

    Glauco (usuário não registrado) em 23/04/2010 às 10:24 am

    O que o pessoal ta esquecendo é que um banco de dados orientado a objetos, a documentos, …, em alguns casos é mais rapido que qualquer banco relacional, mas em outros casos o relacional da um banho neles, cada tipo de aplicacao e volume de dados exige um ou outro tipo, não existe o melhor banco de dados para tudo. No caso do facebook, do twitter, entre outras aplicacoes o melhor custo/beneficio foi adotar o Cassandra, para o Allan Taborda foi melhor utilizar o Db4o, para outros é melhor um relacional e por ai vai.

    é Paul, facebook não tem grana pra contratar serviços Oracle.

    Paul (usuário não registrado) em 23/04/2010 às 5:28 pm

    Não mesmo. Nem Twitter. Eles fornecem serviços de graça, e a meta deles é ter custo mínimo.

    Allan Taborda dos Santos (usuário não registrado) em 23/04/2010 às 5:59 pm

    Talvez o Oracle seria usado se este fosse livre. Vai saber se o fato de ser software livre não é um fator determinante na escolha do sistema derenciador de banco de dados.

    Paul, ah sim. Perto do maquinário (hardware) que o twitter precisa, o preço de um sgbd não deve ser a coisa mais relevante. O principal para eles deve mesmo ser o desempenho. Se vc tem um software que, por mais caro que seja, tenha um excelente desempenho a ponto de economizar com hardware, tenha certeza de que é melhor comprar o software.

    Como e quanto funcionam as licenças da Oracle?

    Cindy Dalfovo (usuário não registrado) em 25/04/2010 às 8:00 pm

    Hmm, estava mesmo querendo estudar NoSQL, parece uma boa deixa :)

    Talvez seja uma solução, não consigo mais engolir os bancos atuais e as milhares de frameworkds para lidar com eles… =/

Este post é antigo (2010-04-22) e foi arquivado. O envio de novos comentários a este post já expirou.