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

JavaMail: Enviando mensagem HTML com anexos

Introdução Depois do post "JavaMail: Enviando e-mail com Java" , que apresentava como enviar um e-mail com Java, resolvi complementar a assunto apresentando como enviar uma mensagem formatada, em HTML , e também como realizar o envio de anexos. Bibliotecas Além da biblioteca JavaMail, veja mais no post anterior , é necessário incluir o JavaBeans Activation Framework (JAF), apenas se a versão utilizada for anterior ao JSE 6.0 , que já tem o JAF incluso. O JAF está disponível em http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html , e neste download encontramos, alguns exemplos na pasta demo , documentação, incluindo javadocs, na pasta docs e a biblioteca activation.jar , que deve ser acrescentada no classpath da aplicação para versões anteriores ao JSE 6.0. Exemplo Primeiramente devemos realizar a configuração da javax.mail.Session e da javax.mail.internet.MimeMessage , estes passos podem ser vistos no post anterior . Agora vamos montar um

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

Devo fazer um curso ou ler um livro?

Acredito que todos os instrutores ou professores, independentemente da área, escola ou centro de treinamento, já devam ter recebido essa pergunta alguma vez na vida: devo fazer um curso ou ler um livro? Para responder a essa pergunta, precisamos avaliar os prós e contras de cada opção. Trabalho com treinamento há algum tempo e, hoje, recebi essa pergunta de um aluno. Não adianta responder a ou b sem argumentar, demonstrando as opções conforme a situação do aluno. O conteúdo, a forma de transmissão e a capacidade de assimilação do indivíduo são chaves para haver benefício maior de aprendizado. Tanto em um bom curso quanto em um bom livro, o conteúdo é a premissa básica . Por conteúdo entendemos: se está organizado; se respeita pré-requisitos; se promove o aprendizado guiado e incremental; se aborda de forma satisfatória os principais pontos; se tem bom balanço entre teoria, exemplos e prática (favorecendo exemplos e prática); se tem como premissa a acessibilidade possível (e cabível) pa

Lançamento do JDK 7 no TDC2011 em São Paulo

O The Developer's Conference foi realmente um grande momento para toda comunidade de desenvolvedores, um encontro de comunidades de TI onde foi possível interagir com pessoas incríveis das comunidades .NET, PHP, Python, Cloud, Games e tantas outras. Com mais de 200 palestrantes e 25 coordenadores é difícil até citar nomes sem ser injusta. Neste post gostaria de falar um pouco sobre um acontecimento muito especial para a comunidade Java, o Lançamento mundial do JDK 7! A história toda começou há muito tempo atrás, num relacionamento construído ao longo de vários anos de atuação dos membros do SouJava, participando do JavaOne, das JSRs e muito networking. Mas, durante o último JustJava conversamos com Roger Brinkley e Bruno Souza, e tivemos a felicidade de ter o TDC2011 exatamente no dia planejado para o Lançamento Mundial do JDK7. O grande mérito foi do SouJava e do amigo Bruno Souza (JavaMan). Com a participação formal no Executive Committeé do JCP estamos ficando cada vez ma

Literais da Linguagem Java

Na última semana, tive uma conversa com um profissional Java iniciante que me apresentou dúvidas sobre o uso de valores hexadecimal na linguagem, inicialmente entendi que ele precisava da representação textual de um valor hexadecimal, então apresentei um método da classe wrapper Integer, conforme segue: int valor = 15; System.out.println(Integer.toHexString(valor)); //Imprime f Só então após mostrar este exemplo, ficou claro que ele precisava exatamente do contrário, ou seja, qual a forma mais fácil de converter um número hexadecimal para um número decimal para atribuição a uma variável primitiva inteira. Esclareci que para isso não havia necessidade de conversão, bastaria usar uma literal hexadecimal presente na linguagem Java da seguinte forma: int valor = 0xf; // ou 0XF System.out.println(valor); //Imprime 15 Este episódio me motivou a escrever este post sobre os literais da Linguagem Java, então vamos lá. De acordo com a especificação da linguagem (The Java™ Language Specification

Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados

Nesse post, diferente dos últimos que foram mais enfáticos nas experiências com tecnologias, vou focar um pouco mais nos profissionais que estão começando, ou pretendem ingressar na área de desenvolvimento de software, falando sobre conceitos fundamentais relacionados a programação em geral . Mercado de trabalho para programação Conforme já sabemos, o mercado de desenvolvimento de software, especialmente no Brasil, continua em franca expansão, sendo que cada vez mais as empresas buscam desenvolver seus próprios sistemas usando as mais diferentes e novas tecnologias. Algumas matérias interessantes: As seis profissões mais valorizadas em 2010 no IDG Now! Muitas vagas e sensação de reaquecimento da economia Por isso, a área de desenvolvimento de software tem despertado interesse em muitos profissionais de outras áreas que desejam mudar de profissão, já que as oportunidades de trabalho tendem a ser maiores. Esse é um perfil presente em muitos dos clientes da Globalcode que acabou m