• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
NoSQL e Python RuPy 2012
 

NoSQL e Python RuPy 2012

on

  • 1,420 views

http://www.youtube.com/watch?v=EGDv8jctVqw ...

http://www.youtube.com/watch?v=EGDv8jctVqw
Introdução ao MongoDB, Redis e Cassandra através de Python. Quais as características principais de um banco orientado a documentos, chave-valor e colunar. Que vantagens esses bancos possuem em relação a um banco relacional tradicional. No final farei uma aplicação que persiste dados do Twitter e Facebook nos três bancos mencionados.

Statistics

Views

Total Views
1,420
Views on SlideShare
1,417
Embed Views
3

Actions

Likes
7
Downloads
70
Comments
0

1 Embed 3

https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    NoSQL e Python RuPy 2012 NoSQL e Python RuPy 2012 Presentation Transcript

    • NoSQL e Python @fmasanori
    • @fmasanori• Graduado IME-USP e Mestrado ITA• ed e lint Cobra Tecnologia• Software Express• Credicard Mastercard• PriceWaterhouseCoopers• ITAU BankBoston• Docente FATEC SJC (amo dar aulas): – Business Intelligence/Data Warehouse – NoSQL databases• Interesses: Python, NoSQL, Google Technology, Facebook
    • Conhecendo os assistentes• Python?• NoSQL?• pymongo?• redis-py?• pycassa?
    • Agenda• Como comecei com NoSQL• LucidDB: my first NoSQL experiment• Flexible Schema• Horizontal Scalability• MongoDB (document)• Redis (key-value)• Cassandra (columnar)• Demo
    • Como comecei com NoSQL
    • One Simple Idea• Me ensinaram que tudo deveria ser normalizado...• E que o mundo era SQL• Mas um dia tive problemas: – Analytics – Twitter and Facebook data persistence
    • LucidDB• 3 years ago• Benchmark LucidDB x MySQL for Business Intelligence applications• LucidDB: columnar NoSQL for BI• Analytic applications: – Read only – Massive aggregations – Denormalization
    • Queries Queries• Which movie genres generate the most revenue? (Q1)• How is our revenue evolving over time? (Q2)• At which time of day do costumers place the most orders? (Q3)• How effective are the promotions we launch? (Q4)
    • Average time (ms)35000300002500020000 LucidDB15000 MySQL100005000 0 Q1 Q2 Q3 Q4
    • JSON persistence
    • Sentiment Analysis (Twitter)menina: aaaaaaaaaaaaaa eu NAO GOSTO DELEamiga: e vc ficará rica , e irá dividir sua riqueza cm sua amg aq*u*menina: kkkkkk como assim eu fikar rica pq?amiga: pq ele é inteligente , e vai arranjar um ótimo emprego , eganhar mt dinheiro rsmenina: kkkkk ele é inteligente como assim ??amiga: AQUELE VIADO PASSOU NO CASDINHO, E EU NÃO !
    • Sentiment Analysis (Facebook)• Sabe o que é ter vontade de acordar cedo no domingo para estudar?!?• Bom, eu também não sei explicar, mas é o que estou sentindo no momento .-.• Bora Casdinho!
    • Social Data Change Fast
    • “Life begins at end of your comfort zone” Neale Donald Walsch Slide EuroPython 2012Python, Flask e MongoDB depois de 20 anos com .NET
    • “It’s better to think of NoSQL as a movement rather than a technology” Martin Fowler
    • NoSQL vale a pena
    • Empregabilidade
    • Empregabilidade
    • Empregabilidade
    • O que as empresas esperam de um NoSQL? Dynamic Schema
    • O que as empresas esperam de um NoSQL? Flexible Schema
    • Relational DB
    • Relational DB Martin Fowler
    • Impedance mismatch• The difference between the relational model and the in- memory data structures (Fowler)• Limitations of relational DB: values only in tuples• We need a more complex structure than a set of tuples as a data unit
    • Aggregate ModelCostumers Orders Martin Fowler
    • Aggregate ModelCostumers Martin Fowler
    • Scalability
    • If I had asked peoplewhat they wanted, theywould have said faster horses. Henry Ford.
    • Escalabilidade vertical• Escalabilidade para leituras num banco relacional: trabalhoso• Escalabilidade para escritas num banco relacional: MUITO, MUITO, trabalhoso• (se conseguir seu BD deixou de ser relacional...)
    • Escalabilidade vertical
    • Escalabilidade horizontal
    • Escalabilidade horizontal
    • Dois artigos famosos• Bigtable: A distributed storage system for structured data, 2006• Dynamo: Amazon’s highly available key-value store, 2007
    • Apache Hadoop
    • Not Only SQL
    • There is no best NoSQL
    • • JSON oriented• Autosharding• Full featured indexes• Great community
    • Dowload and install:http://www.mongodb.org/downloadsCriar c:/data/dbServidor: bin/mongodCliente: bin/mongoCliente pymongo:http://api.mongodb.org/python/current/ import pymongoCurso completo MongoDB com Python:http://education.10gen.com/
    • • Data Structure Server• In-memory dataset• Persistence options
    • • CPU performance 175X (96)• Os discos continuam iguais• Memory 1M faster• 1M = $1 (2000) x 1 cent (2010)
    • http://redis.io/downloadhttps://github.com/MSOpenTech/redis (for Windows)Servidor: redis-serverCliente: redis-cliCliente redis-py:https://github.com/andymccurdy/redis-py import redis
    • Cassandra: • Linearly Scalable • Column based • CQL
    • Martin Fowler
    • Cassandra vs MySQL (50GB)MySQL: ~300ms write ~350ms readCassandra: ~0.12ms write ~15ms read
    • Relational DB (Timo Elliott, SAP)
    • Columnar DB (Timo Elliott, SAP)
    • Download DataStax Community EditionServidor: cassandraCliente: cassandra-cli –h localhost –p 9160Conflitos: cassandra.bat (windows) /etc/cassandra/cassandra-env.sh (ubuntu)Cliente pycassa:https://github.com/pycassa/pycassa/ downloads import pycassa
    • Talk is cheap.Show me the code. Linus Torvalds
    • MongoDB Server
    • Cassandra Server
    • Cassandra Server
    • Redis Server
    • Twitter and Facebook dataObs.: não aparece o token de autenticação
    • Pymongo
    • Redis-py
    • Pycassa
    • Pymongo response
    • Redis-py response
    • Pycassa response
    • Bigliografia
    • Bigliografia
    • BigliografiaGoogle IO 2012 - SQL vs NoSQL Battle of the Backends
    • Perguntas? fmasanori@gmail.comfacebook.com/fmasanori twitter.com/fmasanori