Pular para o conteúdo principal

no:sql(br).["Eu fui"] = "e estava SENSACIONAL!";

O primeiro #nosqlbr foi um evento que realmente excedeu a expectativa de muitos, e acredito que até mesmo do @porcielli(organizador e curador de fato do movimento aqui no Brasil)! Com um público de tecnologia eclético, reuniu em torno de 170 pessoas para discutir assuntos vinculados a bancos de dados que não atendem ao modelo SQL/relacional.

De forma resumida, tais solucões de armazenamento e recuperação de dados normalmente possuem as seguintes qualidades sistêmicas:

  • Atendem aos requisitos basicos de cloud computing, como disponibilidade, tolerância a falhas, escalabilidade horizontal elástica(a quente) e baixa latência;
  • Armazenam dados normalmente no formato chave valor. Alguns são mais orientados a estruturas de dados, outros a documentos;
  • Falam, em muitos casos, protocolos baseados na web, como HTTP, JSON e XML;
  • Alguns aderem mais fielmente a web, implementando conceitos REST;
  • Considere soluções open source e livres, por questões de licenciamento e custo ao escalar;
  • Nem tudo deve ser ACID;
  • Modelos relacionais não priorizam o perfil de acesso a dados da aplicação, que é desnormalizado;
  • Dados centralizados solucionam apenas consistência, mas trazem problemas que inviabilizam o uso em soluções nosql/cloud computing;
  • Latência é o que importa em primeiro lugar! Depois vazão(throughtput/escalabilidade)! E depois elasticidade(crescer a quente)! Porém, todos são importantes!
  • Particionamento, replicação inteligente e sharding(particionamento de um mesmo grupo de dados) são fundamentais;
  • Facilite a leitura;
  • Escolha entre latência e consistência;
Você encontra mais informações no artigo da wikipedia sobre NoSQL

Minha palestra foi a respeito de uma avaliação que estamos fazendo no SPC Brasil a respeito de Apache Cassandra como cache distribuído(cuidado, "quase" NSFW). De forma simples, o Apache Cassandra junta o modelo de dados oferecido pelo Google BigTable com as capacidades de armazenamento do Amazon Dynamo.

Quero ainda disponibilizar um material adicional, como arquivos de configuração prontos para setup em cluster. De qualquer forma, uma coisa que citei é que a configuração do Apache Cassandra é muito simples e, seguindo os comentários para cada configuração dentro do arquivo $CASSANDRA_HOME/conf/storage-conf.xml, configurando o logfile em $CASSANDRA_HOME/conf/log4j.properties, lendo o quickstart, modelo de dados, arquitetura e codificando alguns clientes devem ser o suficiente para fazer um bom setup inicial e rápido. Acredito que em 1h no maximo você já consegue ter um cluster e cliente funcionando, além do que é um excelente exercício caso você esteja comecando nessa área! Estou a disposilção para ajudar em caso de dificuldades nisso!

Logo após a minha palestra, a Globalcode sorteou um curso Hands-On(prático) de Google App Engine com Java, e o ganhador foi o @handrus! Parabéns! ;)

O clima foi extremamente informal e descontraído, com todos os convidados se sentindo muito a vontade para fazer perguntas e participarem das palestras. No final houve uma desconferência, onde palestrantes e platéia se uniram para falar a respeito dessas novas tecnologias, cultura corporativa, DBAs, cloud computing, agile, universo, e outras coisas... :) Houve um happy hour depois, mas como eu já estava muito cansado, se ficasse bêbado ainda por cima a essa altura, iria dormir na rua mesmo! :)

Bati ainda um papo com o Alberto Lerner, um dos desenvolvedores do MongoDB, que foi desenvolvedor do BigTable quando ainda era funcionário do Google. Ele falou quais critérios devem ser considerados na adoção de uma solução NoSQL, dizendo que devemos focar muito mais análise de como sua aplicação acessa dados, e menos na moda ou até mesmo em funcionalidades de mais alto nível que podem ser irrelevantes na solução de problemas de latência e disponibilidade ao recuperar/modificar informações no seu repositório de dados.

Como o evento foi organizado de forma rápida e sem muito planejamento financeiro, o Alexandre Porcelli acabou por assumir um custo de R$ 8.000,00 sozinho, e a partir daí começou uma corrida para obter patrocinadores e doações individuais para bancar o evento. Durante o evento ainda houve uma momento ilustre: o Porcelli passou o chapéu(literalmente, pena que não há foto, mas várias testemunhas presenciaram isso, inclusive eu) e conseguiu arrecadar próximo de R$ 1.000,00, o que considerando um público presente de 170 pessoas em um evento gratuito aqui no Brasil é algo de se admirar! Isso mostra o quanto o público estava comprometido com o movimento e também significa uma coisa: o nosqlbr 2011 vai ser algo ainda melhor! Porém ainda há um rombo de R$ 2.500,00 nas finanças pessoais dele, portanto se você foi e não colaborou, ainda há chance de ajudar!

Outros posts a respeito do primeiro NoSQL Brasil(se estiver faltando algum, me avisem que eu atualizo):


Ainda durante o evento, o Porcelli citou um novo encontro em algum futuro próximo. Dessa vez com o tema "linguagens dinâmicas". Certamente estarei lá!

Abs,
JV -- julioviegas.com

Comentários

suissa disse…
ahhh como eu queria ter ido, apenas ótimos reviews. Fico muito feliz pela cena do nosqlbr estar começando tão bem!
Wagner Santos disse…
Fala Júlio!

Posso dizer que o evento superou minhas expectativas, foi muito bom, principalmente o conteúdo.

O papo com o Alberto Lerner e contigo no final me ajudou a tirar algumas dúvidas, =)

Parabéns pela palestra e na próxima estaremos lá...

Abraço,
Unknown disse…
Realmente o #nosqlbr foi muito bom, "evento da comunidade para a comunidade".

Ótima oportunidade de rever vários camaradas e adquirir um bocado de conhecimento.

Como vc citou Julio, a mistura de tribos foi bem interessante.

[]s
Juliana disse…
Não fui na palestra mas fiquei sabendo do ocorrido.
Eu como mulher, e como também faço parte do mundo da programação me senti extremamente ofendida com a imagem de uma mulher nua utilizada para representar a 'Cassandra', isso foi extremamente vulgar e anti-ético os fatos não justificam o meio, em nenhum contexto plausível isso se encaixa. Se eu estivesse na platéia simplesmente iria me levantar e sair da sala.
Na próxima vez coloque a foto de um homem nu em plena ereção. Aposto que todos os homens presentes no recinto irão se sentir bem confortáveis. ;-)
Bom saber que foi você quem deu a palestra e que você dá aulas na GlobalCode, porque nunca irei participar de nada que envolva o seu nome.
Julio Viegas disse…
Oi Juliana,

Sem querer polemizar mais, a mulher em questao nao estava nua. Eu nao iria colocar uma mulher nua em um slide, pois haviam outras mulheres na plateia, e as mesmas nao se sentiram ofendidas.

Os slides ilustrando belas mulheres foi uma forma de descontrair a plateia. Tirando isso, meu proposito foi de repassar o conhecimento a respeito do software que apresentei.

Peço desculpas se vc entendeu a mensagem de forma errada.

Att,
JV
Juliana disse…
Ok, olhando com atenção as fotos que foram tiradas por alguns conhecidos que compareceram haviam tarjas minúsculas nas partes íntimas, retratando : são fotos de seminu!

Que bom que as mulheres que foram não se sentiram ofendidas, ainda bem que existe democracia e que ninguém foi criado e nem pensa da mesma forma.

Não vou entender a mensagem de forma errônea o dia em que esse preconceito acabar e as mulheres não serem mais tratadas e vistas como objetos. O dia em que uma mulher der uma palestra e colocar fotos de homens para "descontrair" nos mesmo moldes em que você fez, eu irei entender.

Não tenho nada contra a sua pessoa, apenas não achei certa essa atitude e não compartilho do seu ponto de vista, para não polemizar mais paro por aqui.

Sucesso e tudo de bom para vc!

Atenciosamente.
Handrus disse…
Uma excelente palestra a sua! Embora eu não tenha uso prático imediato para "o" cassandra adorei saber mais sobre a tecnologia e a forma como você pretende usa-la no SPC.
Obrigado pela palestra, toda a comunidade vai com certeza se beneficiar muito.

Postagens mais visitadas deste blog

10 reasons why we love JSF

1. One-slide technology: it's so simple that I can explain basic JSF with one slide. 2. Easy to extend: components, listeners, render kit, Events, Controller, etc. 3. Real-world adoption: JBoss, Exadel, Oracle, IBM, ... 4. Architecture model: you can choose between more than 100 different architecture. 5. Open-mind community: using JSF you are going to meet very interesting people. 6. We are using JSF the last 5 years and we found very good market for JSF in Brazil 7. Progress: look to JSf 1.1 to JSF 1.2, JSF 1.2 to JSF 2.0. People are working really hard! 8. Many professionals now available 9. It's a standard. It's JCP. Before complain, report and help! 10. Ed Burns, spec leader, is an old Globalcode community friend! EXTRA: My wife is specialist in JSF. She's my F1 for JSF :) Nice job JSF community! -Vinicius Senger

EJB 3: Uma evolução sob os conceitos do Hibernate e Spring

Definitivamente o modelo de componentização definido no Java EE 5 e 6 evoluiu e melhorou muito. Mas, sem dúvida muita dessa evolução se deve às pressões do Hibernate e Spring Framework. Estes dois últimos frameworks nasceram baseados no conceito de POJO, que nada mais é do que a concepção de um modelo de componentização baseado em classes Java sem as regras impostas pelo EJB (curioso, sem o EJB não existiria o Hibernate ou o Spring). A morte dos Entity Beans O Hibernate nasceu da idéia de promover um modelo de persistência mais simples que o proposto pelos EJBs do tipo Entity Beans definido na especificação EJB 2.x. Este foi o primeiro tipo de EJB a sofrer com a evasão de desenvolvedores com o surgimento deste framework e a conscientização sobre os problemas nos Entity Beans. A partir de um modelo baseado em JavaBeans e o uso do JDBC, o Hibernate usa a Reflection API para gerar os SQLs necessários para persistir o estado de beans em diversos banco de dados relacionais, além de defini...

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad...

JavaOne Brasil, dicas para submissão de palestras

Não quero parecer pretensiosa dando dicas para submissão de palestras para o JavaOne Brasil, mas sim repassar os tantos conselhos e sugestões recebidas pelos vetaranos do JavaOne: Bruno Souza e Leonardo Galvão que revisaram dezenas de submissões para o JavaOne e ajudaram a aprovar tantas palestras, e também misturar um pouco da minha experiência na seleção de palestras nos eventos realizados pela Globalcode e SouJava . 10 anos de JavaOne: http://www.globalcode.com.br/noticias/Globalcode10AnosNoJavaOne Os palestrantes ganham a entrada! A submissão pode ser feita em português! O passo mais importante para ser aprovado como palestrante no JavaOne é sem dúvida nenhuma submeter pelo menos uma palestra. Então, independente de qualquer coisa, participe, arrisque, divulgue.  Mas, se quiser aumentar as suas chances...   1) Leve a sério: peça para amigos fazerem uma leitura crítica do texto, e claro uma boa revisão ortográfica. 2) Submissão de várias palestras ou variações do ...

Tendências: NoSQL

Muitos de nós já fomos testemunhas e presenciamos tendências tecnológicas virem com intensidade e se dispersarem tão rapidamente como surgiram. Há alguns anos acompanho a popularização e a adesão de padrões de infraestruras e plataformas para suportar aplicações web. A decisão de usar uma ou outra solução é com freqüência respaldada por casos de sucessos. Notadamente é considerável o peso dado ao que a start-up de sucesso do momento está utilizando. Tais decisões levam a uma reação em cadeia que direciona o mercado de desenvolvimento de software de uma maneira bem significativa. Uns dos mais populares stacks de hoje tem uma abreviação peculiar: LAMP. Esta combinação de letras são, na verdade, atalhos para os mais famosos projetos open source que se tem conhecimento: Linux, Apache (servidor HTTP) e MySQL. A última letra desta seqüência merece um destaque pela sua ambigüidade pois pode simbolizar a inicial de uma entre as mais populares linguagens script ( Python , PHP e Perl )....

NIO.2 do Java 7: uma nova API do Java para file system

Uma das novidades mais importantes e aguardadas do Java 7 foi a NIO.2, a nova API para a manipulação I/O com Java. A NIO.2, também conhecida como JSR 203 , disponibiliza um conjunto de novos componentes, projetados para melhorar caracterísiticas de I/O com Java como por exemplo: uma nova API para o acesso e manipulação de conteúdo do file system (sistema de arquivos); outra API para operações assíncronas com I/O; e a atualização da API para comunicação via sockets ( channel sockets ).   O Java, antes da versão 7, tratava a manipulação do sistema de arquivos de forma primitiva. O programador tinha de trabalhar com a classe File para representar arquivos e/ou diretórios, com um número escasso de funcionalidades. Uma operação simples como copiar um arquivo demandava um código relativamente grande. Outras funcionalidades triviais, como por exemplo o uso de links simbólicos, não eram suportadas. Esses são alguns dos motivos para justificar o uso de bibliotecas terceiras...