SlideShare una empresa de Scribd logo
1 de 34
Bd NoSQL
Conceptos Básicos
PROFA. MERCY OSPINA
mercy.ospinat@gmail.com
@abducv twitter
Agenda
Movimiento NoSQL
Conceptos básicos
Teorema de Brewer (CAP)
Propiedades BASE
BASE vs ACID
Escalabilidad
Fragmentación
Replicación
Movimiento NoSQL
Historia
1970 1980 1990 2000 2010
Nace el modelo relacional
Se desarrolla Oracle
Se desarrolla SQL
Movimiento NoSQL
Historia
1970 1980 1990 2000 2010
Nacen las BD OO
Dominan las BD Relacionales
Modelo relacional
Ventajas Persistencia
Integración
SQL como estándar
Transacciones ACID
Reportes
Movimiento NoSQL
¿Qué paso en el 2000?
Internet
Aplicaciones
Redes Sociales
Youtube
Emails
Motores de
búsqueda
Otros
Alto tráfico de datos
Movimiento NoSQL
Aumentar la
capacidad de los
servidores
Movimiento NoSQL
Aumentar la
cantidad de
servidores
Movimiento NoSQL
Relacional
Relacional
Movimiento NoSQL
Historia
1970 1980 1990 2000 2010
Big Table
DynamoDB
2006
2007
Movimiento NoSQL
Historia
1970 1980 1990 2000 2010
Johan Oskarsson El nombre para la primera reunión
de bases de datos distribuidas de
código abierto
#nosql
Movimiento NoSQL
Una total negación de los RDBMS y
el fin de dichos sistemas ¿?
No relacional, no Acid, no Join
Michael Stonebraker
Not Only SQL: sistemas de
almacenamiento que no sigue el
modelo relacional y que busca
resolver problemas de escalabilidad
Científico especializado en la base de
datos de investigación y desarrollo. Su
carrera abarca, y ayudó a crear, la
mayoría de la base de datos
relacionales del mercado existente hoy
en día.
Movimiento NoSQL
No es un solo producto o una sola
tecnología
Ha habido el miedo de que sea una
moda
No existen estándares
A pesar de ser muy reciente usa
técnicas ampliamente probadas
Agenda
Movimiento NoSQL
Conceptos básicos
Teorema de Brewer (CAP)
Propiedades BASE
BASE vs ACID
Escalabilidad
Fragmentación
Replicación
Teorema de Brewer
 Con la llegada de internet surgió la importancia de
la disponibilidad (availability) en sistemas
distribuidos
 Disponibilidad: Cada petición recibida por un
nodo activo debe dar por lugar una respuesta.
Aunque se produzcan fallos en la red cada
solicitud debe terminar
Teorema de Brewer
 Consistencia: después de una operación de
actualización de algún escritor todos los lectores
ven esa actualización de alguna fuente de datos
compartida.
Escritor
X=5
Lector
X=5
Teorema de Brewer
 Tolerancia a partición: se entiende como la
capacidad del sistema para continuar la operación
en presencia de particiones de red.
 Esto ocurre si dos o más "islas" de nodos surgen
en la red (temporal o permanente) las cuales no
pueden conectarse entre sí.
Teorema de Brewer
Propuesto en el simposio de “Principios de Computación
Distribuida” de ACM en el 2000 por Eric Brewer como una
conjetura.
18
Los servicios
distribuidos no pueden
asegurar en forma
conjunta las siguientes
propiedades:
Consistencia (C)
Disponibilidad
(A)
Tolerancia a
Particiones (P)
Teorema de Brewer
En el año 2002, Seth Gilbert y Nancy Lynch de MIT
publicaron una demostración formal de la conjetura de
Brewer, convirtiéndola en un teorema
Aunque esta demostración ha sido criticada, el
teorema ha sido adoptado por compañías como
Amazon y Facebook y por la comunidad de NoSQL.
¿Cuál es la confusión?
Entendiendo la tolerancia a
particiones – confusión
Gilbert y Lynch definen la tolerancia a partición como sigue:
“The network will be allowed to lose arbitrarily many messages sent from
one node to another”
Es decir, no es una propiedad de la aplicación distribuida sino de la red donde
se ejecuta. Entonces no es algo que podamos escojer cuando se diseña el
sistema.
Si se presenta una
partición
Consistencia: se permiten actualizaciones a
ambos lados de la partición
Disponibilidad: se detecta el error y se cierra el
sistema hasta que sea resuelto
se pierde
Entendiendo la tolerancia a
particiones
Conclusión del teorema de CAP:
Si se tiene una red donde se pueden perder mensajes
Entonces
No se pueden tener ambas propiedades,
Disponibilidad y Consistencia, se debe elegir una.
http://blog.cloudera.com/blog/2010/04/cap-confusion-problems-with-
partition-tolerance/
Teorema de Brewer
Algunos diseñadores concluyen incorrectamente
que el teorema impone restricciones en los
sistemas de bases de datos durante su normal
funcionamiento y por lo tanto implementan los
sistemas innecesariamente limitados.
Teorema de Brewer
AP: el sistema siempre responderá A
aunque se pierda la comunicación entre
nodos P. Los datos procesados pueden
no ser consistentes C.
CA: el sistema siempre responderá A y
los datos procesados serán consistentes
C. No se considera la perdida de
comunicación entre nodos P.
CP: el sistema ejecutará las operaciones
de forma consistente C, aunque se pierda
la comunicación entre nodos P, pero no
se asegura que el sistema responda A.
http://www.rodenas.org/ferdyblog/2011/02/25/el-teorema-de-cap/
Propiedades ACID en SMBDR
Distribuidos
Atomicidad
Consistencia
aIslamiento
Durabilidad
¿Qué pasa con la
tolerancia a particiones?
2-Phase commit protocol
Propiedades BASE
• Cada solicitud garantiza una respuesta, bien sea
correcta o no.
Básicamente disponible (BA,
Basically Available):
• El estado del sistema puede cambiar con el
tiempo, a veces sin una entrada (por consistencia
eventual).
Estado flexible (S, Soft state):
• La base de datos puede estar momentáneamente
inconsistente pero será consistente con el tiempo.
Eventualmente consistente
(E, Eventually consistence):
25
ACID vs BASE
ACID -> CONSISTENCIA
◦ Pesimistas
◦ Consistencia estricta
◦ Aislamiento
◦ Centrada en el commit
◦ Sacrifica la disponibilidad
BASE -> DISPONIBILIDAD
◦ Optimistas
◦ Consistencia débil o eventual
◦ Disponibilidad primero
◦ Mejor esfuerzo
◦ Respuestas aproximadas
◦ Permite mayores niveles de
escalabilidad
http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
Escalabilidad
Define la manera en que un sistema o plataforma
puede crecer para aumentar su capacidad de dar
servicio al negocio
El análisis de escalabilidad es el resultado del estudio
de la escalabilidad de los distintos componentes y sus
relaciones
Existen dos formas en que un componente puede
escalar
Escalabilidad
Escalabilidad horizontal
Es la cualidad que tiene un componente de cooperar
con componentes de su misma naturaleza y de esta
manera incrementar el rendimiento de la tarea que se
está realizando.
¿Cómo se mide?
Escalabilidad horizontal
Por lo tanto es fundamental conocer los límites del escalado horizontal
de un componente para evitar una degradación de la capacidad
Escalabilidad en un sistema
informático
Capacidad para crecer sin perder calidad en los
servicios ofrecidos.
Suficiencia de dicho sistema informático de variar su
tamaño, características y capacidad de servicios para
adaptarse a una nueva situación.
Escalabilidad en un sistema
informático
Escalabilidad en un sistema
informático
Se basa en poder distribuir el
trabajo entre los componentes
La función de distribución la
realiza el Balanceador que
arbitra el reparto de la carga
entre los componentes
cooperantes
El principal problema es
estimar cuánta carga deberá
soportar el sistema para evitar
la degradación
HORIZONTAL
Próxima Clase
Sistemas distribuidos
Distribución de datos
Fragmentación
Replicación
Paradigma Map-Reduce

Más contenido relacionado

La actualidad más candente

3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP
Cleiton Cunha
 
La tarjeta arcnet
La tarjeta arcnetLa tarjeta arcnet
La tarjeta arcnet
Albertuop
 
Uso de modelos en capas
Uso de modelos en capasUso de modelos en capas
Uso de modelos en capas
Roshio Vaxquez
 

La actualidad más candente (20)

Fcaps
FcapsFcaps
Fcaps
 
Umts interview questions and answers
Umts interview questions and answersUmts interview questions and answers
Umts interview questions and answers
 
CS-Core Mobile Network (General)
CS-Core Mobile Network (General)CS-Core Mobile Network (General)
CS-Core Mobile Network (General)
 
Funciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de DatosFunciones y Componente de un Sistema de Gestión de Base de Datos
Funciones y Componente de un Sistema de Gestión de Base de Datos
 
Contenido UNIDAD I. ARCHIVOS CONVENCIONALES Y BASES DE DATOS
Contenido UNIDAD I.  ARCHIVOS CONVENCIONALES Y BASES DE DATOSContenido UNIDAD I.  ARCHIVOS CONVENCIONALES Y BASES DE DATOS
Contenido UNIDAD I. ARCHIVOS CONVENCIONALES Y BASES DE DATOS
 
3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP
 
Historia delas bases de datos orientada a objetos.
Historia delas bases de datos orientada a objetos.Historia delas bases de datos orientada a objetos.
Historia delas bases de datos orientada a objetos.
 
Capa de Aplicacion - Redes de Computadoras
Capa de Aplicacion - Redes de ComputadorasCapa de Aplicacion - Redes de Computadoras
Capa de Aplicacion - Redes de Computadoras
 
Gprs
GprsGprs
Gprs
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
Unidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos DistribuidasUnidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos Distribuidas
 
Memoria RAM
Memoria RAMMemoria RAM
Memoria RAM
 
Introducción al núcleo de las redes de telecomunicaciones (core networks)
Introducción al núcleo de las redes de telecomunicaciones (core networks)Introducción al núcleo de las redes de telecomunicaciones (core networks)
Introducción al núcleo de las redes de telecomunicaciones (core networks)
 
La tarjeta arcnet
La tarjeta arcnetLa tarjeta arcnet
La tarjeta arcnet
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento rede
 
Introducción a los Protocolos
Introducción a los ProtocolosIntroducción a los Protocolos
Introducción a los Protocolos
 
Red gpon
Red gponRed gpon
Red gpon
 
Que es wimax?
Que es  wimax?Que es  wimax?
Que es wimax?
 
Neighbor guideline v1.0 rev
Neighbor guideline v1.0 revNeighbor guideline v1.0 rev
Neighbor guideline v1.0 rev
 
Uso de modelos en capas
Uso de modelos en capasUso de modelos en capas
Uso de modelos en capas
 

Destacado

gestion seguridad informatica
 gestion seguridad informatica gestion seguridad informatica
gestion seguridad informatica
G Hoyos A
 
Consultas
ConsultasConsultas
Consultas
Henry
 

Destacado (20)

Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Bd nosql tecnicas III
Bd nosql tecnicas IIIBd nosql tecnicas III
Bd nosql tecnicas III
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Introducción al mundo NoSQL
Introducción al mundo NoSQLIntroducción al mundo NoSQL
Introducción al mundo NoSQL
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQL
 
Bd nosql clave valor
Bd nosql clave valorBd nosql clave valor
Bd nosql clave valor
 
Bd no sq ldocumento
Bd no sq ldocumentoBd no sq ldocumento
Bd no sq ldocumento
 
Ingeniería Social - El hacking Psicológico - Daniel Sasia
Ingeniería Social - El hacking Psicológico - Daniel SasiaIngeniería Social - El hacking Psicológico - Daniel Sasia
Ingeniería Social - El hacking Psicológico - Daniel Sasia
 
gestion seguridad informatica
 gestion seguridad informatica gestion seguridad informatica
gestion seguridad informatica
 
Bd no sqlcb2
Bd no sqlcb2Bd no sqlcb2
Bd no sqlcb2
 
Oopphp5
Oopphp5Oopphp5
Oopphp5
 
NoSql y MongoDB
NoSql y MongoDBNoSql y MongoDB
NoSql y MongoDB
 
Consultas
ConsultasConsultas
Consultas
 
Añadir host a gns3
Añadir host a gns3Añadir host a gns3
Añadir host a gns3
 
Sql básico - compendio
Sql básico  - compendioSql básico  - compendio
Sql básico - compendio
 
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
CREANDO Y MANIPULANDO UNA BASE DE DATOS (MySQL)
 
Abd integridad
Abd integridadAbd integridad
Abd integridad
 

Similar a Bd no sql conceptos basicos

Curso mysql modificado
Curso mysql modificadoCurso mysql modificado
Curso mysql modificado
Yusef Yamel
 
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
ssuser4d255e
 

Similar a Bd no sql conceptos basicos (20)

Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Manejo conexbd
Manejo conexbdManejo conexbd
Manejo conexbd
 
Manejo conexbd
Manejo conexbdManejo conexbd
Manejo conexbd
 
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
 
Modoconexion
ModoconexionModoconexion
Modoconexion
 
Tema 5
Tema 5Tema 5
Tema 5
 
OSI
OSIOSI
OSI
 
OSI
OSIOSI
OSI
 
Trabajo desarrollo de soft.
Trabajo desarrollo de soft.Trabajo desarrollo de soft.
Trabajo desarrollo de soft.
 
Taller 4 - Teleinformatica
Taller 4 - TeleinformaticaTaller 4 - Teleinformatica
Taller 4 - Teleinformatica
 
Dotnet2019 Asp .Net Core Good Practices 2019
Dotnet2019 Asp .Net Core Good Practices 2019Dotnet2019 Asp .Net Core Good Practices 2019
Dotnet2019 Asp .Net Core Good Practices 2019
 
DotNet 2019 | Carlos Landeras y Luis Ruiz Pavón - Asp.Net Core Good Practices...
DotNet 2019 | Carlos Landeras y Luis Ruiz Pavón - Asp.Net Core Good Practices...DotNet 2019 | Carlos Landeras y Luis Ruiz Pavón - Asp.Net Core Good Practices...
DotNet 2019 | Carlos Landeras y Luis Ruiz Pavón - Asp.Net Core Good Practices...
 
Curso mysql modificado
Curso mysql modificadoCurso mysql modificado
Curso mysql modificado
 
Modo conexion manuel
Modo conexion manuelModo conexion manuel
Modo conexion manuel
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)
 
curso_mysql.pdf
curso_mysql.pdfcurso_mysql.pdf
curso_mysql.pdf
 
ADO
ADOADO
ADO
 
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
 
[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...
[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...
[Code Camp 2009] Cloud Computing - Explorando Windows Azure Services (Carlos ...
 

Más de Escuela de Computación UCV

Más de Escuela de Computación UCV (20)

Recuperacion ABD UCV
Recuperacion ABD UCVRecuperacion ABD UCV
Recuperacion ABD UCV
 
Concurrencia 2 ABD UCV
Concurrencia 2 ABD UCVConcurrencia 2 ABD UCV
Concurrencia 2 ABD UCV
 
Concurrencia 1 ABD UCV
Concurrencia 1 ABD UCVConcurrencia 1 ABD UCV
Concurrencia 1 ABD UCV
 
Integridad de datos
Integridad de datosIntegridad de datos
Integridad de datos
 
Seguridad datos i
Seguridad datos i Seguridad datos i
Seguridad datos i
 
Seguridad datos ii vii
Seguridad datos ii viiSeguridad datos ii vii
Seguridad datos ii vii
 
Abd manejo memoria III
Abd manejo memoria IIIAbd manejo memoria III
Abd manejo memoria III
 
Abd manejo memoria II
Abd manejo memoria IIAbd manejo memoria II
Abd manejo memoria II
 
Abd manejo memoria Parte I
Abd manejo memoria Parte IAbd manejo memoria Parte I
Abd manejo memoria Parte I
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 
Bd no sql tecnicas
Bd no sql tecnicasBd no sql tecnicas
Bd no sql tecnicas
 
Abd procesamiento consultas (parte 3)
Abd procesamiento consultas (parte 3)Abd procesamiento consultas (parte 3)
Abd procesamiento consultas (parte 3)
 
Abd procesamiento consultas (parte2)
Abd procesamiento consultas (parte2)Abd procesamiento consultas (parte2)
Abd procesamiento consultas (parte2)
 
Abd procesamiento consultas (parte1)
Abd procesamiento consultas (parte1)Abd procesamiento consultas (parte1)
Abd procesamiento consultas (parte1)
 
Abd tema0y1
Abd tema0y1Abd tema0y1
Abd tema0y1
 
Abd tema1 parteii
Abd tema1 parteiiAbd tema1 parteii
Abd tema1 parteii
 
Abd procesamiento consultas
Abd procesamiento consultasAbd procesamiento consultas
Abd procesamiento consultas
 
Abd seguridad
Abd seguridadAbd seguridad
Abd seguridad
 
Abd tema4 dd
Abd tema4 ddAbd tema4 dd
Abd tema4 dd
 
Abd tema2
Abd tema2Abd tema2
Abd tema2
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Último (20)

Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 

Bd no sql conceptos basicos

  • 1. Bd NoSQL Conceptos Básicos PROFA. MERCY OSPINA mercy.ospinat@gmail.com @abducv twitter
  • 2. Agenda Movimiento NoSQL Conceptos básicos Teorema de Brewer (CAP) Propiedades BASE BASE vs ACID Escalabilidad Fragmentación Replicación
  • 3. Movimiento NoSQL Historia 1970 1980 1990 2000 2010 Nace el modelo relacional Se desarrolla Oracle Se desarrolla SQL
  • 4. Movimiento NoSQL Historia 1970 1980 1990 2000 2010 Nacen las BD OO Dominan las BD Relacionales
  • 5. Modelo relacional Ventajas Persistencia Integración SQL como estándar Transacciones ACID Reportes
  • 6. Movimiento NoSQL ¿Qué paso en el 2000? Internet Aplicaciones Redes Sociales Youtube Emails Motores de búsqueda Otros Alto tráfico de datos
  • 10. Movimiento NoSQL Historia 1970 1980 1990 2000 2010 Big Table DynamoDB 2006 2007
  • 11. Movimiento NoSQL Historia 1970 1980 1990 2000 2010 Johan Oskarsson El nombre para la primera reunión de bases de datos distribuidas de código abierto #nosql
  • 12. Movimiento NoSQL Una total negación de los RDBMS y el fin de dichos sistemas ¿? No relacional, no Acid, no Join Michael Stonebraker Not Only SQL: sistemas de almacenamiento que no sigue el modelo relacional y que busca resolver problemas de escalabilidad Científico especializado en la base de datos de investigación y desarrollo. Su carrera abarca, y ayudó a crear, la mayoría de la base de datos relacionales del mercado existente hoy en día.
  • 13. Movimiento NoSQL No es un solo producto o una sola tecnología Ha habido el miedo de que sea una moda No existen estándares A pesar de ser muy reciente usa técnicas ampliamente probadas
  • 14. Agenda Movimiento NoSQL Conceptos básicos Teorema de Brewer (CAP) Propiedades BASE BASE vs ACID Escalabilidad Fragmentación Replicación
  • 15. Teorema de Brewer  Con la llegada de internet surgió la importancia de la disponibilidad (availability) en sistemas distribuidos  Disponibilidad: Cada petición recibida por un nodo activo debe dar por lugar una respuesta. Aunque se produzcan fallos en la red cada solicitud debe terminar
  • 16. Teorema de Brewer  Consistencia: después de una operación de actualización de algún escritor todos los lectores ven esa actualización de alguna fuente de datos compartida. Escritor X=5 Lector X=5
  • 17. Teorema de Brewer  Tolerancia a partición: se entiende como la capacidad del sistema para continuar la operación en presencia de particiones de red.  Esto ocurre si dos o más "islas" de nodos surgen en la red (temporal o permanente) las cuales no pueden conectarse entre sí.
  • 18. Teorema de Brewer Propuesto en el simposio de “Principios de Computación Distribuida” de ACM en el 2000 por Eric Brewer como una conjetura. 18 Los servicios distribuidos no pueden asegurar en forma conjunta las siguientes propiedades: Consistencia (C) Disponibilidad (A) Tolerancia a Particiones (P)
  • 19. Teorema de Brewer En el año 2002, Seth Gilbert y Nancy Lynch de MIT publicaron una demostración formal de la conjetura de Brewer, convirtiéndola en un teorema Aunque esta demostración ha sido criticada, el teorema ha sido adoptado por compañías como Amazon y Facebook y por la comunidad de NoSQL. ¿Cuál es la confusión?
  • 20. Entendiendo la tolerancia a particiones – confusión Gilbert y Lynch definen la tolerancia a partición como sigue: “The network will be allowed to lose arbitrarily many messages sent from one node to another” Es decir, no es una propiedad de la aplicación distribuida sino de la red donde se ejecuta. Entonces no es algo que podamos escojer cuando se diseña el sistema. Si se presenta una partición Consistencia: se permiten actualizaciones a ambos lados de la partición Disponibilidad: se detecta el error y se cierra el sistema hasta que sea resuelto se pierde
  • 21. Entendiendo la tolerancia a particiones Conclusión del teorema de CAP: Si se tiene una red donde se pueden perder mensajes Entonces No se pueden tener ambas propiedades, Disponibilidad y Consistencia, se debe elegir una. http://blog.cloudera.com/blog/2010/04/cap-confusion-problems-with- partition-tolerance/
  • 22. Teorema de Brewer Algunos diseñadores concluyen incorrectamente que el teorema impone restricciones en los sistemas de bases de datos durante su normal funcionamiento y por lo tanto implementan los sistemas innecesariamente limitados.
  • 23. Teorema de Brewer AP: el sistema siempre responderá A aunque se pierda la comunicación entre nodos P. Los datos procesados pueden no ser consistentes C. CA: el sistema siempre responderá A y los datos procesados serán consistentes C. No se considera la perdida de comunicación entre nodos P. CP: el sistema ejecutará las operaciones de forma consistente C, aunque se pierda la comunicación entre nodos P, pero no se asegura que el sistema responda A. http://www.rodenas.org/ferdyblog/2011/02/25/el-teorema-de-cap/
  • 24. Propiedades ACID en SMBDR Distribuidos Atomicidad Consistencia aIslamiento Durabilidad ¿Qué pasa con la tolerancia a particiones? 2-Phase commit protocol
  • 25. Propiedades BASE • Cada solicitud garantiza una respuesta, bien sea correcta o no. Básicamente disponible (BA, Basically Available): • El estado del sistema puede cambiar con el tiempo, a veces sin una entrada (por consistencia eventual). Estado flexible (S, Soft state): • La base de datos puede estar momentáneamente inconsistente pero será consistente con el tiempo. Eventualmente consistente (E, Eventually consistence): 25
  • 26. ACID vs BASE ACID -> CONSISTENCIA ◦ Pesimistas ◦ Consistencia estricta ◦ Aislamiento ◦ Centrada en el commit ◦ Sacrifica la disponibilidad BASE -> DISPONIBILIDAD ◦ Optimistas ◦ Consistencia débil o eventual ◦ Disponibilidad primero ◦ Mejor esfuerzo ◦ Respuestas aproximadas ◦ Permite mayores niveles de escalabilidad http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
  • 27. Escalabilidad Define la manera en que un sistema o plataforma puede crecer para aumentar su capacidad de dar servicio al negocio El análisis de escalabilidad es el resultado del estudio de la escalabilidad de los distintos componentes y sus relaciones Existen dos formas en que un componente puede escalar
  • 29. Escalabilidad horizontal Es la cualidad que tiene un componente de cooperar con componentes de su misma naturaleza y de esta manera incrementar el rendimiento de la tarea que se está realizando. ¿Cómo se mide?
  • 30. Escalabilidad horizontal Por lo tanto es fundamental conocer los límites del escalado horizontal de un componente para evitar una degradación de la capacidad
  • 31. Escalabilidad en un sistema informático Capacidad para crecer sin perder calidad en los servicios ofrecidos. Suficiencia de dicho sistema informático de variar su tamaño, características y capacidad de servicios para adaptarse a una nueva situación.
  • 32. Escalabilidad en un sistema informático
  • 33. Escalabilidad en un sistema informático Se basa en poder distribuir el trabajo entre los componentes La función de distribución la realiza el Balanceador que arbitra el reparto de la carga entre los componentes cooperantes El principal problema es estimar cuánta carga deberá soportar el sistema para evitar la degradación HORIZONTAL
  • 34. Próxima Clase Sistemas distribuidos Distribución de datos Fragmentación Replicación Paradigma Map-Reduce

Notas del editor

  1. En un sistema CP, para garantizar la consistencia debemos asegurarnos que la operación se realiza en los 3 nodos al mismo tiempo. Como el sistema se ha particionado (y sigue vivo ya que toleramos las particiones), si la petición se procesa por el nodo {C} será imposible replicarla en los nodos {A, B}. Ante esta situación, el nodo {C} deberá rechazar la escritura hasta que se deshaga la partición (ya que no podría garantizar consistencia), lo que da lugar a indisponibilidad. En un sistema AP, nos importa más la disponibilidad, por lo que aunque haya una partición del sistema, la petición se procesará igualmente. En este caso, el sistema no nos puede garantizar la consistencia, ya que no sabe si la información procesada por un nodo (por ejemplo, {C}) ha sido replicada al resto de nodos ({A, B}). En el caso de un sistema CA, el tema se complica un poco más. Si el sistema no está particionado, cualquier operación se procesará y replicará al resto de nodos. Ahora bien, si el sistema se particiona, entonces el sistema debería fallar, ya que no podremos garantizar la consistencia de la operación, y si falla, entonces no podemos garantizar disponibilidad, por lo que estaríamos delante del mismo caso que un sistema CP. Resumiendo, que este tipo de sistema es bastante improbable, ya que para que funcione es necesario que la comunicación entre nodos siempre esté en perfecto estado (improbable), o en su defecto, tolerar las particiones como en un sistema CP.