Modelos ricos: outro motivo para usar NoSQL

novembro 3rd, 2011 | by | couchdb, mongodb, nosql

nov
03

“A motivação mais comum que leva as empresas a usar NoSQL é a escalabilidade. Mas se você lida com objetos complexos em sua aplicação, como entidades espalhadas em dezenas de tabelas normalizadas, pode ser que uma alternativa NoSQL seja útil para o seu projeto, mesmo que ele não tenha zilhões de usuários simultâneos”. Essa pertinente colocação levouLuciano Ramalho, supervisor de desenvolvimento na BIREME/OPAS/OMS e referência no mundo Python, a apresentar noNoSQLBr 2011 o case OpenTrials para o Registro Brasileiro de Ensaios Clínicos. Trata-se de uma plataforma virtual de acesso livre financiada pelo Ministério da Saúde, entre outras entidades, e que tem por finalidade registrar estudos experimentais e não-experimentais realizados em seres humanos, por pesquisadores brasileiros e estrangeiros.

Luciano conta que a missão dele e de sua equipe era a de renovar métodos, práticas e ferramentas de desenvolvimento. Como primeiro passo, o desafio foi migrar do “PHP sem framework” para Python com Django. E explicou em detalhes como foi realizado esse projeto, desde a criação, a partir de ferramentas open source e práticas ágeis, até as lições aprendidas no processo fazendo uso da persistência poliglota com um “mix” de BD relacional com banco de dados NoSQL, e a “solução” para o OpenTrials com o CouchDB (considerando que o MongoDB também seria apropriado para o projeto em questão).

Assista ao vídeo com a íntegra da palestra de Luciano Ramalho no NoSQLBr 2011:

http://www.gonow.com.br/blog/2011/11/02/modelos-ricos-outro-motivo-para-usar-nosql/

 

No Comments »

Klaus Wuestefeld e o Prevayler: afinal, por que você ainda usa banco de dados?

novembro 3rd, 2011 | by | benchmark, nosql

nov
03

Em um teste de escalabilidade e resultados, enquanto o Prevayler, open source, retorna 228.369 queries por segundo, um sistema Oracle responde de forma 9983 vezes mais lenta que o Prevayler. Você acreditaria nesse cálculo impressionante? Esse é, contudo, um dos projetos de software livre brasileiros mais conhecidos no mundo. E quem o apresenta “sem maquiagem alguma”, como gosta de ressaltar, é Klaus Wuestefeld, pioneiro de Extreme Programming no Brasil e criador do Prevayler.

“O Prevayler é a implementação do conceito de prevalência. E a prevalência é o terceiro mecanismo de persistência mais simples possível”, resume ele. Em sua palestra com o provocativo nome “Você ainda usa banco de dados?”, na segunda edição do encontro NoSQLBr, em São Paulo, Klaus fez uma apresentação bastante inusitada dos conceitos que permeiam o produto. Preocupou-se mais em fornecer uma breve introdução sobre o que vem a ser esse pattern de prevalência de sistemas“1 mil a 10 mil vezes mais rápido que um banco de dados relacional” para, em seguida, listar as perguntas do público presente sobre a eficiência do Prevayler.

Ele anotou uma a uma e defendeu o uso do Prevayler com base nas seguintes contestações:

- Schema Evolution
- Dependência de um sistema externo
- Dados sem schema
- Meu sistema irá crescer “300 mil vezes”
- OLAP / Análise
- Clustering
- Sistema pesado em escrita
- Ambiente híbrido / Vários sistemas acessando os mesmos dados
- Paralelismo, concorrência
- Corrupção de dados
- Alta disponibilidade
- Segurança

E as duas perguntas mais intrigantes de todas:

1. Por que não tem mais gente usando?
2. Quem vai me ajudar se der tudo errado?

As respostas para essas e outras questões sobre o Prevayler, incluindo as características que definem sua persistência e espelhamento transparentes e transações ACID “ridiculamente simples”, você vê em detalhes no vídeo com a íntegra da palestra de Klaus Wuestefeld no NoSQLBr 2011:

http://www.gonow.com.br/blog/2011/10/31/klaus-wuestefeld-e-o-prevayler-afinal-por-que-voce-ainda-usa-banco-de-dados/

 

No Comments »

OpenShift: NoSQL “a la carte” em um PaaS 100% open source

outubro 30th, 2011 | by | escalabilidade, java, mongodb, nosql, python

out
30

Edgar Silva é Solutions Architect Manager na Red Hat Brasil, responsável pelo time que define as tecnologias e soluções de plataformas Linux, middleware, virtualização e cloud computing. Na segunda edição do NoSQLBr, Edgar fez uma apresentação sobre o OpenShift, o PaaS da Red Hat, com demonstrações práticas de como utilizá-lo em conjunto com tecnologias como MongoDB e Infinispan para recurso de armazenamento de aplicações (que podem estar escritas em diversas linguagens, entre elas Python, PHP, Java e Ruby).

Edgar tem como missão na empresa pesquisar como combinar vários conceitos computacionais e de negócios para encontrar a solução mais adequada aos desafios de projetos propostos por seus clientes. “Até que ponto são relevantes questões como sistema operacional ou linguagem? As empresas querem ser bem atendidas, não importa muito tecnologia, linguagem ou sistema operacional. A questão está cada vez mais focada em negócios mesmo”, diz ele.

Com a “nova onda” de Cloud, várias soluções de PaaS surgem como alternativa para empreendedores e pequenos investidores atrairem negócios e transformar meras ideias em casos de sucesso. Projetos relacionados a dados públicos, jogos online em HTML5 para dispositivos móveis e geolocalização, entre outros, são casos de uso candidatos para começarem a ser desenvolvidos nesse tipo de infraestrutura – gratuita – como o OpenShift.

Assista ao vídeo com a íntegra da palestra de Edgar Silva no NoSQLBr 2011: clique aqui

Referência: Gonow Tecnologia - http://www.gonow.com.br/blog/2011/10/26/openshift-nosql-a-la-carte-em-um-paas-100-open-source/

 

No Comments »

Por que escolher um banco de dados baseado em grafos?

outubro 29th, 2011 | by | grafo, neo4j, nosql

out
29

Antes de responder a pergunta acima, pense primeiro numa questão mais abrangente: o que é modelagem de dados? E ainda numa segunda, esta um pouco mais específica: como devemos consultar e atualizar um banco de dados? As respostas certamente não são tão simples, mas pelo menos agora já existem alternativas mais flexíveis das que haviam em um passado não muito distante. A modelagem em grafos, para o engenheiro de software inglês Alistair Jones, é uma delas.

Alistair trabalha na Neo Technology, empresa desenvolvedora do neo4j, um banco de dados baseado em grafos open source “poderoso e expressivo para armazenar, consultar e manipular dados”. Ele é considerado um “expert” em metodologias ágeis – especificamente para testes de desempenho – e, no segundo encontro NoSQLBr, ocorrido em São Paulo na semana passada, Jones apresentou um overview sobre a modelagem baseada em grafos, pontuando princípios e diferenças em relação aos modelos tradicionais de modelagem de dados.

“O melhor modelo é o que melhor resolve o seu problema”

Esse “mantra” você já deve ter ouvido – e entoado – algumas vezes, e não só em se tratando de modelagem de dados. Mas não custa reforçar que apegar-se a um modelo único como sendo a tal “bala de prata” que solucionará todos os seus problemas é algo bastante arriscado. E a respeito disso, voltando à pergunta inicial, por qual motivo você escolheria um banco de dados baseado em grafos? Esse modelo facilita o acesso a dados em redes ou hierarquias, via múltiplos nós.

E o mais importante: você precisa de flexibilidade para acessar os dados no futuro (um modelo baseado em grafos, ressalva Alistair Jones, é mais fácil de mudar que os outros). Como exemplo, ele mostra como poderia ser a modelagem de dados para um site disponível em vários idiomas.

O que há de diferente?

- Você deixa a manutenção dos relacionamentos para o banco de dados
- Chaves substitutas desaparecem ou são desnecessárias (com exceção do ID)
- Relacionamentos ganham um nome explícito

Princípios da modelagem em grafos

Os “nós” representam conceitos múltiplos: com isso, é possível quebrá-los e distingui-los uns dos outros.

Adotar o paradigma > Nós por identidade (ID) >> Relacionamentos por acesso

Relacionamentos para consultas ao banco

- Relacionamentos devem ser o principal meio para acessar dados em nós
- Fazer traverse é barato: essa é a principal vantagem de usar um banco de dados baseado em grafos
- A modelagem em grafos é similar à modelagem relacional, só que mais fácil

Assista ao vídeo com a íntegra da apresentação de Alistair Jones no NoSQLBr para entender em detalhes como funciona a modelagem de dados baseada em grafos:

 

Referência: Gonow Tecnologia - http://www.gonow.com.br/blog/2011/10/25/por-que-escolher-um-banco-de-dados-baseado-em-grafos/

 

 

No Comments »