Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
NoSQL
Preguntas
SQL vs NOSQL
Solo puede quedar uno?
10 de junio de 2010
SQL vs NOSQL
SQL
NoSQL
Preguntas
ndice
SQL
El modelo relacional
Conceptos Bsicos
SQL
NoSQL
Introduccin
Las ventajas
Un ejemplo: Cassandra
Preguntas
SQL vs NOSQL
SQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
Definicin
Modelo relacional
El modelo relacional para la gestin de una base de
datos es un modelo de datos basado en la lgica de
predicados y en la teora de conjuntos.
Es el modelo ms utilizado en la actualidad para
modelar problemas reales y administrar datos
dinmicamente.
Tras ser postuladas sus bases en 1970 por Edgar
Frank Codd, de los laboratorios IBM en San Jos
(California), no tard en consolidarse como un nuevo
paradigma en los modelos de base de datos.
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
Algo de historia...
Codd persegua una serie de objetivos:
Independencia fsica: El modo cmo se almacenan los datos no
debe influir en su manipulacin lgica.
Independencia lgica: Aadir, eliminar o modificar cualquier
elemento de la BD no debe repercutir en los programas y/o usuarios que
estn accediendo a subconjuntos parciales de los mismos (vistas).
Flexibilidad: Ofrecer a cada usuario los datos de la forma ms
adecuada a la correspondiente aplicacin.
Uniformidad: Las estructuras lgicas de los datos presentan un
aspecto uniforme (tablas), lo que facilita la concepcin y manipulacin
de la BD por parte de los usuarios.
Sencillez: Las caractersticas anteriores, as como unos lenguajes de
usuario muy sencillos, producen como resultado que el modelo
relacional (MR) sea fcil de comprender y de utilizar por parte del
usuario final.
Antonio Fernndez Ares y Vicente Ruiz Rodrguez
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
Un poquito ms de historia...
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
Ao
2007
2004
2006
2005
Temporadas
3
6
4
5
Episodios
63
132
48
112
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
Tuplas
Cada uno de los renglones en una relacin conteniendo
valores para cada uno de los atributos.
(The big bang theory, 2007, 3, 63)
Dominios
Se debe considerar que cada atributo (columna) debe ser
atmico, es decir, que no sea divisible, no se puede
pensar en un atributo como un "registro" o "estructura"
de datos.
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL2
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
Caractersitcas Generales
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
La optimizacin
Como ya se dijo arriba, y suele ser comn en los lenguajes de
acceso a bases de datos de alto nivel, el SQL es un lenguaje
declarativo. O sea, que especifica qu es lo que se quiere y no
cmo conseguirlo, por lo que una sentencia no establece
explcitamente un orden de ejecucin.
El orden de ejecucin interno de una sentencia puede afectar
gravemente a la eficiencia del SGBD, por lo que se hace
necesario que ste lleve a cabo una optimizacin antes de su
ejecucin. Muchas veces, el uso de ndices acelera una
instruccin de consulta, pero ralentiza la actualizacin de los
datos. Dependiendo del uso de la aplicacin, se priorizar el
acceso indexado o una rpida actualizacin de la informacin.
La optimizacin difiere sensiblemente en cada motor de base de
datos y depende de muchos factores.
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
SQL vs NOSQL
SQL
NoSQL
Preguntas
El modelo relacional
Conceptos Bsicos
SQL
Disparadores
Los desencadenantes, tambin conocidos
como disparadores, (triggers en ingls)
son definidos sobre la tabla en la que
opera la sentencia INSERT, los
desencadenantes son evaluados en el
contexto de la operacin.
Desencadenantes BEFORE INSERT
permiten la modificacin de los
valores que se insertar en la tabla.
Desencadenantes AFTER INSERT no
puede modificar los datos de ahora en
adelante, pero se puede utilizar para
iniciar acciones en otras tablas, por
ejemplo para aplicar mecanismos de
auditora.
Antonio Fernndez Ares y Vicente Ruiz Rodrguez
SQL vs NOSQL
N O SQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
NoSQL
NoSQL es un trmino usado en informtica para agrupar
una serie de almacenes de datos no relacionales que no
proporcionan garantas ACID. Normalmente no tienen
esquemas fijos de tablas ni sentencias "join".
SQL vs NOSQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
NoSQL
El trmino NOSQL fue acuado a principios de 2009
por un empleado de Rackspace, Eric Evans, cuando
Johan Oskarsson de Last.fm quiso organizar un
evento para discutir bases de datos distribuidas de
cdigo abierto.
El nombre intenta describir la emergencia de un
nmero creciente de bases de datos no relacionales y
distribuidas que no suelen proveer garantias ACID.
El trmino hace referencia a la manera de llamar a
las bases de datos relacionales clsicas como
MySQL, MS SQL, PostgreSQL, etc.
SQL vs NOSQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
Las ventajas I
SQL vs NOSQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
Las ventajas II
SQL vs NOSQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
Distintos acercamientos
SQL vs NOSQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
Cassandra I
El modelo de datos de Cassandra es simple pero muy
flexible.
Cada fila se identifica con una clave nica, que es un
string que no tiene un tamao lmite.
Una instancia de Cassandra tiene una tabla que se
constituye de una o ms familias de columnas
definidas por el usuario.
Cada familia de columnas puede contener una o dos
estructuras: supercolumnas o columnas.
Las dos se crean de forma dinmica y no hay lmite
en cuanto al nmero que pueden ser almacenados
en una familia de columnas.
Antonio Fernndez Ares y Vicente Ruiz Rodrguez
SQL vs NOSQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
Cassandra II
SQL vs NOSQL
SQL
NoSQL
Preguntas
Introduccin
Las ventajas
Un ejemplo: Cassandra
Cassandra III
Cuenta con caractersticas muy interesantes:
Est diseado para estar siempre disponible. Las
escrituras nunca fallan. Maneja dos diferentes tipos
de lectura.
Tiene un modelo de datos muy rico, permitiendo
aplicaciones que manejen datos ms complejos que
slamente clave-valor.
Los datos son automticamente replicados a
diferentes nodos.
Elasticidad: nuevos nodos pueden ser agregados
fcilmente a un cluster en ejecucin.
Soporte para versiones y resolucin de conflictos.
Las lecturas y escrituras estn garantizadas para ser
atmicas.
Antonio Fernndez Ares y Vicente Ruiz Rodrguez
SQL vs NOSQL
SQL
NoSQL
Preguntas
Pregunta I
Pregunta I
SQL es un estandar conocido por gran cantidad de
desarrolladores, adems de que la gran cantidad de
bases de datos relacionales de cdigo abierto lo usan.
Qu puede ofrecer un modelo NoSQL para prestar
un servicio ms consistente y productivo a los
desarrolladores?
Qu beneficios puede ofrecer no utilizar un modelo
NoSQL para el desarrollo?
SQL vs NOSQL
SQL
NoSQL
Preguntas
Pregunta II
Pregunta II
SQL vs NOSQL
SQL
NoSQL
Preguntas
Pregunta III
Pregunta III
Las bases de datos SQL se presentan en muchos
productos de cdigo abierto y adems son ofrecidas
mediante LAMP. Tambin se suele incluir y utilizar en
gran cantidad software popular de blogging, wiki,
Gestores de Contenido (CMS) (como por ejemplo
Wordpress, Drupal, Mediawiki,...)
Cuales son los productos (nuevos o propuestos)
donde la utilizacin de un modelo no relacional ser
ms beneficioso para el da a da de la gente que la
utilizacin de un modelo SQL?
Qu productos no funcionan con las tecnologas
no-sql?
Antonio Fernndez Ares y Vicente Ruiz Rodrguez
SQL vs NOSQL
SQL
NoSQL
Preguntas
Pregunta IV
Pregunta IV
SQL vs NOSQL
SQL
NoSQL
Preguntas
Pregunta V
Pregunta V
La mayora de las bases de datos cumplen la funcin de almacn de
datos o data warehouse. En definitiva lo que se quiere es contener
datos que son necesarios o tiles para una organizacin para
posteriormente transformarlos en informacin til para el usuario. El
almacen de datos debe de entregar la informacin correcta, en el
momento ptimo y en el formato adecuado. Adems, dar respuestas a
las necesidades de usuarios expertos que pueden utilizar Sistemas de
Soporte a Decisiones, Sistemas de informacin Ejecutiva o
herramientas para hacer consultas o informes.
SQL vs NOSQL
SQL
NoSQL
Preguntas
Pregunta VI
Pregunta V
SQL es un estandar conocido por gran cantidad de
desarrolladores, adems de que la gran cantidad de
bases de datos relacionales de cdigo abierto lo usan.
Qu puede ofrecer un modelo NoSQL para prestar
un servicio ms consistente y productivo a los
desarrolladores?
Qu beneficios puede ofrecer no utilizar un modelo
NoSQL para el desarrollo?
SQL vs NOSQL
SQL
NoSQL
Preguntas
SQL vs NOSQL