SlideShare a Scribd company logo
1 of 16
Download to read offline
DataMapper



  www.rafaelrosafu.com
DataMapper

    Rafael Rosa



        Desenvolvedor há 14 anos
    


        Migrando para Rails
    


        www.rafaelrosafu.com
    



    Projetos



        Ruby Inside Brasil
    


        Tradução do Rails Guides
    


        DataMapper – integração do I18n
    




                        www.rafaelrosafu.com
DataMapper

    O que é?



        Utiliza o pattern Data Mapper publicado por Martin
    

        Fowler
        Mesmo pattern utilizado pelo Hibernate
    


        Criado pelo pessoal do Merb, incluindo Matt
    

        Aimonetti e Yehuda Katz
        ORM padrão do Merb
    




                        www.rafaelrosafu.com
DataMapper
    Vantagens



        Não depende da estrutura do banco de dados
    


        Mais fácil de integrar com bancos legados
    


        Mais explícito
    


        Mais modular
    


                    DataObjects
                



                           MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby
                         


                    DM-core
                



                    DM-more
                




        Pode utilizar migrações
    


        Lazy load padrão, Strategic Eager Load (SEL)
    


        Múltiplos repositórios
    



                              www.rafaelrosafu.com
DataMapper




             www.rafaelrosafu.com
DataMapper




             www.rafaelrosafu.com
DataMapper
    Vantagens



        Não depende da estrutura do banco de dados
    


        Mais fácil de integrar com bancos legados
    


        Mais explícito
    


        Mais modular
    


                    DataObjects
                



                           MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby
                         


                    DM-core
                



                    DM-more
                




        Pode utilizar migrações
    


        Lazy load padrão, Strategic Eager Load (SEL)
    


        Múltiplos repositórios
    



                              www.rafaelrosafu.com
DataMapper




             www.rafaelrosafu.com
DataMapper
    Vantagens



        Não depende da estrutura do banco de dados
    


        Mais fácil de integrar com bancos legados
    


        Mais explícito
    


        Mais modular
    


                    DataObjects
                



                           MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby
                         


                    DM-core
                



                    DM-more
                




        Pode utilizar migrações
    


        Lazy load padrão, Strategic Eager Load (SEL)
    


        Múltiplos repositórios
    



                              www.rafaelrosafu.com
DataMapper




             www.rafaelrosafu.com
DataMapper

    Resource Plugins                     Is Plugins
                                    


        DM-Validation                        DM-is-list
                                        


        DM-Timestamps                        DM-is-tree
                                        


        DM-Aggregates                        DM-is-nested_set
                                        


        DM-Types                             DM-is-versioned
                                        


        DM-Serializer                        DM-is-state_machine
                                        


        DM-Constraints                       DM-is-remixable
                                        


        DM-Ajust                             DM-is-searchable
                                        


                                             DM-tags
                                         




                         www.rafaelrosafu.com
DataMapper

    Adapters                              Utility
                                     


        DM-couchdb-adapter                     DM-sweatshop
                                          


        DM-rest-adapter                        DM-migrations
                                          


        DM-ferret-adapter                      DM-shorthand
                                          


                                               DM-observer
    Integration                            



                                               DM-cli
        rails_datamapper                   
    


                                               DM-querizer
                                           


                                               DM-ar-finders
                                           




                          www.rafaelrosafu.com
DataMapper

    Futuras funcionalidades (0.10, 0.11)



        Validações para objetos Ruby puros
    


        Suporte ao I18n
    


        Identity Map utilizando Moneta (Memcached, Tokyo
    

        Tyrant, etc)
        Melhorias no SEL
    




                          www.rafaelrosafu.com
DataMapper

    Desvantagens



        Menos maduro
    


        Não se integra facilmente ao Rails (ainda)
    


        Pequena comunidade
    


        Pouca documentação (relativamente)
    


        Ainda não tem Remarkable
    




                        www.rafaelrosafu.com
DataMapper

    Como participar



        http://www.datamapper.org
    


        http://groups.google.com/group/datamapper
    


        IRC Freenode #datamapper e #dm-hacking
    




                       www.rafaelrosafu.com
DataMapper




             Obrigado
                :)


             www.rafaelrosafu.com

More Related Content

Similar to Data Mapper

Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”elliando dias
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Escalabilidade via Software no Expressov3
Escalabilidade via Software no Expressov3Escalabilidade via Software no Expressov3
Escalabilidade via Software no Expressov3Flávio Lisboa
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na WebMeritt - Cada Aluno é Único
 
Webcast SQL Server 2012 - Grupo MTAC
Webcast SQL Server 2012 - Grupo MTACWebcast SQL Server 2012 - Grupo MTAC
Webcast SQL Server 2012 - Grupo MTACMarcos Freccia
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xRodrigo Urubatan
 
Best pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobileBest pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobilenipjc
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpCampus Party Brasil
 
Queries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUQueries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUTiago Vinicius
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - IntroduçãoMarco Pinheiro
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL Brasil
 

Similar to Data Mapper (20)

Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”
 
B Ds Clouds
B Ds CloudsB Ds Clouds
B Ds Clouds
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Escalabilidade via Software no Expressov3
Escalabilidade via Software no Expressov3Escalabilidade via Software no Expressov3
Escalabilidade via Software no Expressov3
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
 
Webcast SQL Server 2012 - Grupo MTAC
Webcast SQL Server 2012 - Grupo MTACWebcast SQL Server 2012 - Grupo MTAC
Webcast SQL Server 2012 - Grupo MTAC
 
Acesso a dados com dapper
Acesso a dados com dapperAcesso a dados com dapper
Acesso a dados com dapper
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.x
 
Best pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobileBest pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobile
 
Multitenancy
MultitenancyMultitenancy
Multitenancy
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
ClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs PhpClusterizaçãO De AplicaçõEs Php
ClusterizaçãO De AplicaçõEs Php
 
Clusterização de Aplicações PHP
Clusterização de Aplicações PHPClusterização de Aplicações PHP
Clusterização de Aplicações PHP
 
Queries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUQueries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPU
 
P566Aula09
P566Aula09P566Aula09
P566Aula09
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI Tecnologia
 
Hadoop
HadoopHadoop
Hadoop
 
Apresentação Kingston
Apresentação KingstonApresentação Kingston
Apresentação Kingston
 

Data Mapper

  • 2. DataMapper Rafael Rosa  Desenvolvedor há 14 anos  Migrando para Rails  www.rafaelrosafu.com  Projetos  Ruby Inside Brasil  Tradução do Rails Guides  DataMapper – integração do I18n  www.rafaelrosafu.com
  • 3. DataMapper O que é?  Utiliza o pattern Data Mapper publicado por Martin  Fowler Mesmo pattern utilizado pelo Hibernate  Criado pelo pessoal do Merb, incluindo Matt  Aimonetti e Yehuda Katz ORM padrão do Merb  www.rafaelrosafu.com
  • 4. DataMapper Vantagens  Não depende da estrutura do banco de dados  Mais fácil de integrar com bancos legados  Mais explícito  Mais modular  DataObjects  MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby  DM-core  DM-more  Pode utilizar migrações  Lazy load padrão, Strategic Eager Load (SEL)  Múltiplos repositórios  www.rafaelrosafu.com
  • 5. DataMapper www.rafaelrosafu.com
  • 6. DataMapper www.rafaelrosafu.com
  • 7. DataMapper Vantagens  Não depende da estrutura do banco de dados  Mais fácil de integrar com bancos legados  Mais explícito  Mais modular  DataObjects  MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby  DM-core  DM-more  Pode utilizar migrações  Lazy load padrão, Strategic Eager Load (SEL)  Múltiplos repositórios  www.rafaelrosafu.com
  • 8. DataMapper www.rafaelrosafu.com
  • 9. DataMapper Vantagens  Não depende da estrutura do banco de dados  Mais fácil de integrar com bancos legados  Mais explícito  Mais modular  DataObjects  MySQL, Postgres, SQLite, JDBC, Hsqldb, H2, Derby  DM-core  DM-more  Pode utilizar migrações  Lazy load padrão, Strategic Eager Load (SEL)  Múltiplos repositórios  www.rafaelrosafu.com
  • 10. DataMapper www.rafaelrosafu.com
  • 11. DataMapper Resource Plugins Is Plugins   DM-Validation DM-is-list   DM-Timestamps DM-is-tree   DM-Aggregates DM-is-nested_set   DM-Types DM-is-versioned   DM-Serializer DM-is-state_machine   DM-Constraints DM-is-remixable   DM-Ajust DM-is-searchable   DM-tags  www.rafaelrosafu.com
  • 12. DataMapper Adapters Utility   DM-couchdb-adapter DM-sweatshop   DM-rest-adapter DM-migrations   DM-ferret-adapter DM-shorthand   DM-observer Integration   DM-cli rails_datamapper   DM-querizer  DM-ar-finders  www.rafaelrosafu.com
  • 13. DataMapper Futuras funcionalidades (0.10, 0.11)  Validações para objetos Ruby puros  Suporte ao I18n  Identity Map utilizando Moneta (Memcached, Tokyo  Tyrant, etc) Melhorias no SEL  www.rafaelrosafu.com
  • 14. DataMapper Desvantagens  Menos maduro  Não se integra facilmente ao Rails (ainda)  Pequena comunidade  Pouca documentação (relativamente)  Ainda não tem Remarkable  www.rafaelrosafu.com
  • 15. DataMapper Como participar  http://www.datamapper.org  http://groups.google.com/group/datamapper  IRC Freenode #datamapper e #dm-hacking  www.rafaelrosafu.com
  • 16. DataMapper Obrigado :) www.rafaelrosafu.com