SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
INTRODUCCIÓN A NOSQL



        Resum Executiu   東京‘
                           TOKIOTA
Base de datos relacionales
     Nacen en los años 70 porque
       Almacenamiento   es caro
       Los datos se normalizan

       El almacenamiento se separa de la aplicación



     Ventajas
       Único modelo disponible por muchos años
       Integración

       Control de concurrencia




東京‘ TOKIOTA                  Presentación de compañía
Base de datos relacionales
     Desventajas
       No  esta preparado para cluster
       Hardware caro

       Coste de licencias

       Limitar el desarrollo haciéndolo poco ágil

       Con lógica de la aplicación

       Join

       Nuevo requisitos de escalabilidad continua




東京‘ TOKIOTA                  Presentación de compañía
Desarrollo de software
     Metodologías ágiles
       Ciclos de desarrollo cortos
       Constante evolución de requerimientos

       Flexibilidad de diseño



     Pero las bases de datos relacionales
       Difíciles
                de evolucionar (migrar)
       Pocos desarrolladores interactúan con la base de datos

       Tienen un modelo diferente al que se usa en el
        desarrollo

東京‘ TOKIOTA                  Presentación de compañía
Necesidades reales
     Escalar horizontalmente
     Resultados en tiempo real
     Agilidad en el desarrollo
     Modelo de datos flexibles
     Bajo coste




東京‘ TOKIOTA               Presentación de compañía
Base de datos NoSQL
     Nacen por las necesidades:
       No  usan el modelo relacional
       Se ejecutan bien sobre clusters

       Crecen horizontalmente (sharding)

       Open-source

       Sin schemas




東京‘ TOKIOTA                Presentación de compañía
Base de datos NoSQL
     Ventajas
       Veloces

       Escalables

       Se acoplan al modelo de objetos
       Agiles

     Desventajas
       No   son transaccionales – tampoco lo necesitan
         No   son ACID, son BASE
       Consultas
                Ad-hoc limitadas
       Modelo de escritura y modelo de lectura


東京‘ TOKIOTA                         Presentación de compañía
Alta disponibilidad – Replica sets
     Alta disponibilidad
     Redundancia de datos
     Recuperación en caso de desastre
     Transparente a la aplicación
     En caliente




東京‘ TOKIOTA               Presentación de compañía
Escribir
                  Leer
                             Primaria
        Driver




                                                Replicas asíncronas
                 Leer       Secundaria


                 Leer       Secundaria




東京‘ TOKIOTA                   Presentación de compañía
Recuperación ante caidas


                 Escribir
                  Leer
                             Primaria
        Driver




                 Leer       Secundaria


                 Leer       Secundaria




東京‘ TOKIOTA                   Presentación de compañía
Recuperación ante caidas



                             Primaria
                 Escribir
        Driver




                 Leer        Primaria


                 Leer       Secundaria




東京‘ TOKIOTA                   Presentación de compañía
Recuperación ante caidas



                  Leer      Secundaria
                             Primaria
                 Escribir
        Driver




                 Leer        Primaria


                 Leer       Secundaria




東京‘ TOKIOTA                   Presentación de compañía
Sharding
                     data{a , b}
   Key[0...100]



   Nodo   Clave
   V      0 … 15
   W      16 … 45
   X      46 … 60
   Y      61 … 75    V    W        X    Y       Z
   Z      76 … 100




東京‘ TOKIOTA          Presentación de compañía
Sharding - búsquedas
                                               Nodo   Clave
              find{a=30}                       a      0 … 15
                                               b      16 … 45
                                               c      46 … 60
                                               d      61 … 75
                                               e      76 … 100

               La query se envía a un solo nodo




東京‘ TOKIOTA                Presentación de compañía
Sharding - búsquedas
                                              Nodo Clave
              find{20>a<50}                   a      0 … 15
                                              b      16 … 45
                                              c      46 … 60
                                              d      61 … 75
                                              e      76 … 100

               La query se envía a mas de un nodo




東京‘ TOKIOTA               Presentación de compañía
Sharding - búsquedas
                                                 Nodo   Clave
              find{b=hola}                       a      0 … 15
                                                 b      16 … 45
                                                 c      46 … 60
                                                 d      61 … 75
                                                 e      76 … 100

               Tabla-Scan es igual de malo




東京‘ TOKIOTA                  Presentación de compañía
Sharding - búsquedas
                                               Nodo   Clave
              Crear índice sobre b             a      0 … 15
              find{b=hola}                     b      16 … 45
                                               c      46 … 60
                                               d      61 … 75
                                               e      76 … 100

               Penaliza un poco el coste de comunicación




東京‘ TOKIOTA                Presentación de compañía
Sharding - búsquedas
                                               Nodo Clave
              find{b=hola, a=51}               a      0 … 15
                                               b      16 … 45
                                               c      46 … 60
                                               d      61 … 75
                                               e      76 … 100

               Se envía solo a un nodo




東京‘ TOKIOTA                Presentación de compañía
Sharding - búsquedas
                                               Nodo   Clave
              find{b=hola, a=51}               a      0 … 15
                                               b      16 … 45
                                               c      46 … 60
                                               d      61 … 75
                                               e      76 … 100

               Se envía solo a un nodo




東京‘ TOKIOTA                Presentación de compañía
Sharding – Order by …




東京‘ TOKIOTA      Presentación de compañía
Velocidad de lectura




東京‘ TOKIOTA        Presentación de compañía
Tipos de NoSQL y uso
  Tipo           Uso                       Productos
  Key - Value    Cache                     Redis
                                           MemCached
  Colum-Family   Clave + multiples         Cassandra
                 columnas                  Amazon Simple DB
                                           Google BigTable
                                           HBase
  Documentales   Guardar objetos enteros   MongoDB
                 con una clave             RavenDB
                                           CrounchDB
                                           Azure Table Storage
  Grapho         Guardan nodos y           Neo4j
                 relaciones entre nodos




東京‘ TOKIOTA              Presentación de compañía
Key-Value
     Una única clave que apunta a un único ítem.




東京‘ TOKIOTA                Presentación de compañía
Column-Family
     Es el mas parecido a SQL. Mantiene la información
      separada en columnas.




東京‘ TOKIOTA                Presentación de compañía
Documentos




             { "customer": { "id": 1, "name": "Martin",
                  "billingAddress": [{"city": "Chicago"}],
                  "orders": [{"id":99, "customerId":1,
                          "orderItems":[ {"productId":27, "price": 32.45}],
                          "shippingAddress":[{"city":"Chicago"}]
                          "orderPayment":[{
                                        "ccinfo":"1000-1000-1000-1000",
                                        "txnId":"abelif879rft",
                                "billingAddress": {"city": "Chicago"}
                                        }],
                              }]
                      }
             }
Grafos

   Se representa por nodos que están unidos por
    relaciones, donde ambos tienen propiedades
¿Qué pasa con BI?

   ¿Como hago vistas o DW?



          Aplicar una función por cada elemento de una
                colección


                Combina los elementos usando una
                    operación
Ejemplo, cuanto he vendido de cada producto
Beneficios de MapReduce

   Preparado para gran volumen de información
     Pero   puedo hacer pruebas con pequeñas muestras
   Tolerable a fallos
     Piso   los datos porque los recalculo
   Seguro ante problemas de threading
     No   tocan la información de entrada
Implementaciones

   La implementación mas grande de Cassandra tiene
    300 TB repartidos en 400 ordenadores
   Disney tiene los datos de usuarios y juegos
    repartidos en 1400 instancias de MongoDB
   Para un listado mas detallado visitar
    http://www.mongodb.org/display/DOCS/Producti
    on+Deployments
MUCHAS GRACIAS POR TU CONFIANZA


           Resum Executiu   東京‘
                              TOKIOTA

Mais conteúdo relacionado

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (13)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Destaque

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Destaque (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Introducción a NoSQL

  • 1. INTRODUCCIÓN A NOSQL Resum Executiu 東京‘ TOKIOTA
  • 2. Base de datos relacionales  Nacen en los años 70 porque  Almacenamiento es caro  Los datos se normalizan  El almacenamiento se separa de la aplicación  Ventajas  Único modelo disponible por muchos años  Integración  Control de concurrencia 東京‘ TOKIOTA Presentación de compañía
  • 3. Base de datos relacionales  Desventajas  No esta preparado para cluster  Hardware caro  Coste de licencias  Limitar el desarrollo haciéndolo poco ágil  Con lógica de la aplicación  Join  Nuevo requisitos de escalabilidad continua 東京‘ TOKIOTA Presentación de compañía
  • 4. Desarrollo de software  Metodologías ágiles  Ciclos de desarrollo cortos  Constante evolución de requerimientos  Flexibilidad de diseño  Pero las bases de datos relacionales  Difíciles de evolucionar (migrar)  Pocos desarrolladores interactúan con la base de datos  Tienen un modelo diferente al que se usa en el desarrollo 東京‘ TOKIOTA Presentación de compañía
  • 5. Necesidades reales  Escalar horizontalmente  Resultados en tiempo real  Agilidad en el desarrollo  Modelo de datos flexibles  Bajo coste 東京‘ TOKIOTA Presentación de compañía
  • 6. Base de datos NoSQL  Nacen por las necesidades:  No usan el modelo relacional  Se ejecutan bien sobre clusters  Crecen horizontalmente (sharding)  Open-source  Sin schemas 東京‘ TOKIOTA Presentación de compañía
  • 7. Base de datos NoSQL  Ventajas  Veloces  Escalables  Se acoplan al modelo de objetos  Agiles  Desventajas  No son transaccionales – tampoco lo necesitan  No son ACID, son BASE  Consultas Ad-hoc limitadas  Modelo de escritura y modelo de lectura 東京‘ TOKIOTA Presentación de compañía
  • 8. Alta disponibilidad – Replica sets  Alta disponibilidad  Redundancia de datos  Recuperación en caso de desastre  Transparente a la aplicación  En caliente 東京‘ TOKIOTA Presentación de compañía
  • 9. Escribir Leer Primaria Driver Replicas asíncronas Leer Secundaria Leer Secundaria 東京‘ TOKIOTA Presentación de compañía
  • 10. Recuperación ante caidas Escribir Leer Primaria Driver Leer Secundaria Leer Secundaria 東京‘ TOKIOTA Presentación de compañía
  • 11. Recuperación ante caidas Primaria Escribir Driver Leer Primaria Leer Secundaria 東京‘ TOKIOTA Presentación de compañía
  • 12. Recuperación ante caidas Leer Secundaria Primaria Escribir Driver Leer Primaria Leer Secundaria 東京‘ TOKIOTA Presentación de compañía
  • 13. Sharding data{a , b} Key[0...100] Nodo Clave V 0 … 15 W 16 … 45 X 46 … 60 Y 61 … 75 V W X Y Z Z 76 … 100 東京‘ TOKIOTA Presentación de compañía
  • 14. Sharding - búsquedas Nodo Clave find{a=30} a 0 … 15 b 16 … 45 c 46 … 60 d 61 … 75 e 76 … 100 La query se envía a un solo nodo 東京‘ TOKIOTA Presentación de compañía
  • 15. Sharding - búsquedas Nodo Clave find{20>a<50} a 0 … 15 b 16 … 45 c 46 … 60 d 61 … 75 e 76 … 100 La query se envía a mas de un nodo 東京‘ TOKIOTA Presentación de compañía
  • 16. Sharding - búsquedas Nodo Clave find{b=hola} a 0 … 15 b 16 … 45 c 46 … 60 d 61 … 75 e 76 … 100 Tabla-Scan es igual de malo 東京‘ TOKIOTA Presentación de compañía
  • 17. Sharding - búsquedas Nodo Clave Crear índice sobre b a 0 … 15 find{b=hola} b 16 … 45 c 46 … 60 d 61 … 75 e 76 … 100 Penaliza un poco el coste de comunicación 東京‘ TOKIOTA Presentación de compañía
  • 18. Sharding - búsquedas Nodo Clave find{b=hola, a=51} a 0 … 15 b 16 … 45 c 46 … 60 d 61 … 75 e 76 … 100 Se envía solo a un nodo 東京‘ TOKIOTA Presentación de compañía
  • 19. Sharding - búsquedas Nodo Clave find{b=hola, a=51} a 0 … 15 b 16 … 45 c 46 … 60 d 61 … 75 e 76 … 100 Se envía solo a un nodo 東京‘ TOKIOTA Presentación de compañía
  • 20. Sharding – Order by … 東京‘ TOKIOTA Presentación de compañía
  • 21. Velocidad de lectura 東京‘ TOKIOTA Presentación de compañía
  • 22. Tipos de NoSQL y uso Tipo Uso Productos Key - Value Cache Redis MemCached Colum-Family Clave + multiples Cassandra columnas Amazon Simple DB Google BigTable HBase Documentales Guardar objetos enteros MongoDB con una clave RavenDB CrounchDB Azure Table Storage Grapho Guardan nodos y Neo4j relaciones entre nodos 東京‘ TOKIOTA Presentación de compañía
  • 23. Key-Value  Una única clave que apunta a un único ítem. 東京‘ TOKIOTA Presentación de compañía
  • 24. Column-Family  Es el mas parecido a SQL. Mantiene la información separada en columnas. 東京‘ TOKIOTA Presentación de compañía
  • 25. Documentos { "customer": { "id": 1, "name": "Martin", "billingAddress": [{"city": "Chicago"}], "orders": [{"id":99, "customerId":1, "orderItems":[ {"productId":27, "price": 32.45}], "shippingAddress":[{"city":"Chicago"}] "orderPayment":[{ "ccinfo":"1000-1000-1000-1000", "txnId":"abelif879rft", "billingAddress": {"city": "Chicago"} }], }] } }
  • 26. Grafos  Se representa por nodos que están unidos por relaciones, donde ambos tienen propiedades
  • 27. ¿Qué pasa con BI?  ¿Como hago vistas o DW? Aplicar una función por cada elemento de una colección Combina los elementos usando una operación
  • 28. Ejemplo, cuanto he vendido de cada producto
  • 29. Beneficios de MapReduce  Preparado para gran volumen de información  Pero puedo hacer pruebas con pequeñas muestras  Tolerable a fallos  Piso los datos porque los recalculo  Seguro ante problemas de threading  No tocan la información de entrada
  • 30. Implementaciones  La implementación mas grande de Cassandra tiene 300 TB repartidos en 400 ordenadores  Disney tiene los datos de usuarios y juegos repartidos en 1400 instancias de MongoDB  Para un listado mas detallado visitar http://www.mongodb.org/display/DOCS/Producti on+Deployments
  • 31. MUCHAS GRACIAS POR TU CONFIANZA Resum Executiu 東京‘ TOKIOTA