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á!
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...
Comentários
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,
Ó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
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.
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
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.
Obrigado pela palestra, toda a comunidade vai com certeza se beneficiar muito.