Your SlideShare is downloading. ×
0
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
NoSQL Na Nuvem
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

NoSQL Na Nuvem

123

Published on

Utilizando NoSQL datastores na nuvem

Utilizando NoSQL datastores na nuvem

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
123
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Em termos de tecnologia de índices, os data stores abordados não ofereceram nenhuma inovação.
  • Transcript

    • 1. NoSQL Na Nuvem Como aproveitar bancos NoSQL prontos para uso disponíveis para uso na nuvem
    • 2. Tópicos Abordados Conceitos iniciais:  O que é Cloud Computing Google App Engine: Armazenando dados com DB Datastore  Data-Modeling API  Python  Java  Aplicações de Exemplo 
    • 3. Tópicos Abordados Amazon SimpleDB: Estrutura  API em diversas linguagens 
    • 4. Conceitos Iniciais O que é Cloud Computing ?
    • 5. Conceitos Iniciais Afinal, o que é Cloud Computing ? “Cloud computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the data centers that provide those services” [1]
    • 6. Conceitos Iniciais Categorias:  IaaS: Infra-estrutura  PaaS: Plataforma  SaaS: Software
    • 7. Google App Engine Criando aplicações e armazenando dados com o GAE
    • 8. Google App Engine Google App Engine: PaaS: serviço que permite a criação de aplicações Web  Abstração da infra-estrutura   Hosting: hospeda aplicações  SDK: API própria para desenvolvimento
    • 9. Google App Engine Linguages:  Python  Java  PHP  Go   Storages  DB DataStore  Google Cloud SQL
    • 10. Google App Engine “There is no free lunch”
    • 11. Python SDK Persistindo dados com a linguagem Python
    • 12. Python SDK Python:    Foi a primeira linguagem suportada pelo GAE Dados modelados com mapeamento ORM Aplicações construídas com webapp2
    • 13. Python SDK Modelagem:   A classe db.Model fornece métodos básicos de persistência Subclasses de db.Property definem campos de vários tipos
    • 14. Python SDK Mapeamento:  Classes definem tipos de entidades Cada objeto é uma entidade unicamente identificada   Key: caminho ancestral + ID
    • 15. Python SDK Identificação:  ID numérico gerado pelo DataStore Campo string indicado como chave  Chave completa é determinada pelo ID de cada entidade pai 
    • 16. Python SDK Entidades:  db.Expando: define entidades que podem receber campos dinamicamente db.PolyModel: define um tipo de entidade que pode ser estendido 
    • 17. Python SDK Exemplos: #modelando uma entidade from google.appengine.ext import db class Task(db.Model):     name = db.StringProperty(required=True)     description = db.StringProperty()     start_date = db.DateProperty(required=True)     due_date = db.DateProperty()     end_date = db.DateProperty()     tags = db.StringListProperty()
    • 18. Python SDK Exemplos: #criando uma entidade Task #campos obrigatórios devem ser informados no construtor task = Task( name=”seminario”, start_date=dateime(“20/11/2013”)) #demais campos podem ser informados depois task.description = “seminario sobre NoSQL” task.tags = [“nosql”,”cloud”,”python”] #persiste no datastore task.put()
    • 19. Python SDK Exemplos: #recuperando pela chave key = db.Key.from_path('Task', 123456789) task = db.Model.get(key) #recuperando diretamente pelo ID task = db.Model.get_by_id(123456789) #recuperando por nome único task = db.Model.get_by_key_name('seminario10')
    • 20. Python SDK Google Query Language: Especifica consultas em termos de tipos de entidades e seus campos  Semelhante a SQL, porém mais restrita 
    • 21. Python SDK Algumas restrições GQL: Não permite listar campos  Seleciona todos campos ou apenas a chave   Não permite joins
    • 22. Python SDK Exemplo GQL: q = db.GqlQuery(“SELECT * FROM Task” + “WHERE start_date >= :1” + “tags IN :2” + “ORDER BY start_date”, datetime.datetime(2011, 1, 1, 12, 0, 0).date(),  [“Important”, “Sample”] )
    • 23. Python SDK Índices: Para cada propriedade o GAE prédefine um índice  Índices adicionais podem ser definidos no arquivo index.yaml 
    • 24. Python SDK Índices:  Cada índice é uma entrada contendo o nome da entidade e uma lista de campos Exemplo:     Indexes:                 ­ kind: Task           Properties:          ­ name: start_date   ­ name: tags      
    • 25. Java SDK Persistindo dados com a linguagem Java
    • 26. Java SDK Java:  Amplamente difundida no desenvolvimento de aplicações comerciais Oferece 2 abordagens  JPA (Java Persistence API)  JDO (Java Data Objects)      
    • 27. Java SDK JPA:  É a API de persistência mais utilizada pela comunidade Java Originalmente concebida para trabalhar com BDs relacionais  Realiza o mapeamento através de anotações de metadados      
    • 28. Java SDK Exemplo: @Entity public class Task implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name="task_name") private String name; private String description; private Date startDate; private Date endDate; private Date dueDate; private List<String> tags;    //gets, sets, etc. }     
    • 29. Java SDK Exemplos: //criando um EntityManager EntityManagerFactory emf = Persistence .createEntityManagerFactory("task­manager­ unit"); EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); Task task = new Task(); task.setName(“seminario”); task.setStartDate(new Date(20,11,2013)); em.merge(task); em.getTransaction().commit();     
    • 30. Amazon SimpleDB Persistindo dados com a linguagem Java
    • 31. Amazon SimpleDB SimpleDB:  Uma instância é chamada de conta  Uma conta pode agrupar um ou mais domínios  Cada domínio é uma coleção de items       Cada item é um conjunto de pares chave-valor
    • 32. Amazon SimpleDB SimpleDB:  Para utilizar, basta criar uma conta na Amazon Web Services Obter uma chave de acesso  Interface Web disponível para download      
    • 33. Amazon SimpleDB API REST:  CreateDomain  DeleteDomain  ListDomains  DomainMetadata     
    • 34. Amazon SimpleDB API REST:  PutAttributes  BatchPutAttributes  GetAttributes  DeleteAttributes  Select     
    • 35. Amazon SimpleDB Exemplos: #listar até 10 domínios GET / ?MaxNumberOfDomains=10 &Action=ListDomains &Version=2009­04­15 &AWSAccessKeyId=AKIAJ2BVRV5YHQHHXGPQ &SignatureVersion=2 &SignatureMethod=HmacSHA1 &Timestamp=2013­12­07T20%3A23%3A01.000Z &Signature=U0ebqdJGfXD8RAVK9h7eUd4FSpY%3D HTTP/1.1      Host: sdb.amazonaws.com
    • 36. Amazon SimpleDB Exemplos: #listar até 10 domínios (retorno) <ListDomainsResponse> <ListDomainsResult> <DomainName>tasks</DomainName> </ListDomainsResult> </ListDomainsResponse>     
    • 37. Amazon SimpleDB API REST:  Os comandos podem ser gerados por ferramentas  Amazon ScratchPad  Java  Ruby       Python
    • 38. Referências  Tiwari, Shashank; Professional NoSQL, Chapter 10 Google App Engine Documentation: https://developers.google.com/appengine/docs/  Amazon Web Services Documentation: http://aws.amazon.com/documentation/  Exemplos: https://github.com/rodolfomendes/NoSQLCloud      
    • 39. Obrigado! Rodolfo Martignon Sevilhano Mendes Tópicos Especiais em Bancos de Dados e Imagens Prof. Dr. Humberto Luiz Razente

    ×