SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
NoSQL (y SQL): Algunas nociones




           Algunas definiciones, tipos
           y su rol en la web moderna
NoSQL (y SQL): Algunas nociones
NoSQL (y SQL): Algunas nociones




                                  vs.
NoSQL (y SQL): Algunas nociones




  ENTERING
NoSQL (y SQL): Algunas nociones




                                  sTRUCTURATED qUERY lANGUAGE
                                  (M.O.I. aka Ministery Of Information, Brazil 1985)
NoSQL (y SQL): Algunas nociones




                          SQL es un manera de construir,
                          manipular y accesar una base de datos relacional.

                          Tabla
                            Tiene columnas y filas
                          Relaciones
                            Llaves primarias [keys]
                           ( única columna o combinación de columnas)
                            Llaves foráneas [foreign]
                           (una col. que referencia una llave primaria u otra tabla)
                          Normalización
                            Cada tabla describe solamente una cosa nada más
NoSQL (y SQL): Algunas nociones


                      Data Types
                          Cada columna debe tener un tipo de data válida
                          Los tipos de datos están (parcialmente) estandarizados.
                          Por ej: Numeric, Decimal, Float, Char, Varchar, Text, etc.

                      Create Tables/ Alter Tables
                          Define / Modifica la estructura de la tabla

                      Limitadores son usados para forzar data válida en las columnas
                          NOT NULL / CHECK / PRIMARY KEY
                          UNIQUE / FOREIGN KEY (especifica una relaciuón entre tablas)
                      Hay índices (Indexes) (como una tabla virtual
                                   con punteros a una tabla física)
                      Modificar data
                          INSERT / UPDATE /DELETE

                      Transacciones
                          Un set de instrucciones INSERT, DELETE, UPDATE
                          que pertenecen a una unidad lógica de trabajo
NoSQL (y SQL): Algunas nociones



                          Joins

                          Los (joins) son usados para combinar información de
                          múltiples tablas. Pueden ser INNER o OUTER Joins.




                                  Inner Join            [Left] Outer Join
                          Set operators
                          Operaciones con tablas o partes de ellas...


                                                                          etc, etc...
                             UNION             EXCEPT             INTERSECT
NoSQL (y SQL): Algunas nociones


                             Usando SQL en la Web
                             Para hacer un sitio que utilice una base de datos
                             SQL nos hará falta:
                               * un programa de base de datos tipo RDBMS (P.ej,
                             MS Access, SQL Server, MySQL)
                               * Un lenguaje de programación server-side tal
                             como PHP o ASP
                               * SQL
                               * HTML / CSS

                             RDBMS es la sigla de Relational Database Manage-
                             ment System.
                             RDBMS es la base de SQL y de todos los sistemas
                             modernos de base de datos, como
                             MS SQL Server, IBM DB2, Oracle, MySQL, y Microsoft
                             Access.
                             Los datos en RDBMS se guardan en objetos de la
                             base de datos llamados tablas.
                             Las tablas son colecciones de entradas de datos
                             relacionadas y consiste en columnas y filas.
NoSQL (y SQL): Algunas nociones



                             Ejemplo de una Condición WHERE en SQL:
                             Dada una tabla llamada “Personas”

                             P_Id LastName    FirstName    Address        City
                             1    Hansen      Ola          Timoteivn 10   Sandnes
                             2    Svendson    Tove         Borgvn 23      Sandnes
                             3    Pettersen   Kari         Storgt 20      Stavanger

                             Sólo seleccionamos las personas de la ciudad Sandnes
                             Debemos usar entonces el siguiente comando SELECT :
                             SELECT * FROM Personas
                             WHERE City='Sandnes'

                             El resultado que arrojará será algo parecido a esto.

                             P_Id LastName    FirstName    Address      City
                             1    Hansen      Ola          Timoteivn 10 Sandnes
                             2    Svendson    Tove         Borgvn 23    Sandnes
NoSQL (y SQL): Algunas nociones




 ...entering:



                                  (or Harry Tuttle [aka De Niro] , Brazil 1985)
NoSQL (y SQL): Algunas nociones



                                  Una definición (o dos):

                                  Otra forma es definirlo por lo que quiere decir No :

                                  “cualquier base de datos que NO es relacional”
                                  El término se acuñó en un encuentro con los
                                  creadores de algunas importantes/emergentes
                                  bases de datos
                                  “Bases de datos No-Relacionales” hubiera sido más
                                  correcto, ... pero era un bocado!
                                  ...luego hubo una conferencia, una lista de correo,
                                  ... el nombre prendió, hubieron más conferencias...

                                  ... y aquí estamos!
NoSQL (y SQL): Algunas nociones



                                  Una definición (o dos):

                                  NoSQL es un concepto genérico usado para descri-
                                  bir almacenamiento estructurado que no necesita
                                  de apoyarse en SQL para ser accesado de manera
                                  útil”
                                  “NoSQL is a blanket term used to describe
                                  structured storage that doesn’t rely on SQL
                                  to be accessed in a useful way”.

                                  Chris Lea


                                  “NoSQL” NO significa que “SQL es MALO”
                                  ... sino simplemente Not Only SQL
                                  (No sólo SQL)
NoSQL (y SQL): Algunas nociones



                                  Peeero.. si [My]SQL hace lo que necesito,
                                  para qué necesito otra cosa??




                                  RDBMS                   NoSQL
                                  Diseñado para         Diseñado para
                                  cargas genéricas      resolver problemas
                                  (workloads)           específicos
                                  Grandes (y cada
                                  vez más grandes)     Cambia funciones
                                  sets de funciones    por perfomance
NoSQL (y SQL): Algunas nociones



                                  Los sistemas NoSQL típicamente
                                  NO hacen trasacciones ni JOIN´s
                                  • si realmente necesita transacciones, manténgase
                                  al lado de RDBMS
                                  •no tener joins termina por no tener grandes efectos

                                  Cuál es el foco del NoSQL?
                                  ..más que modelos de datos,
                                  es la escalabilidad:


Escalab. horizontal      Transparente a la aplicación    No hay un sólo punto de falla:
más servidores crean     la lógica de negociación de     No UN solo servidor, que si se
más capacidad            la aplicaciónse debe separar    cae, cause un fuera de servicio
                         de temas de escalado de         de la aplicación
                         recursos de servidor
NoSQL (y SQL): Algunas nociones



                                  Porqué .. AHORA??



                                  Tamaño de los Datos (Data Size)

                                  Conectividad (Conectedness)

                                  Semi-Estructuras

                                  Arquitectura (de las bases de datos)
NoSQL (y SQL): Algunas nociones




                                      Tamaño de los Datos (Data Size)
                             ExaBytes (10         ) de datos almacenados por año
          1000                                                                  988
                       Cada año se crea más
                       data digital En dos años
           750         hemos creado más datos
                       digitales que toda los
                       datos creados en la                        623
                       historia antes de ello.
           500
                                                       397
                                                      397
           250                          253
                     161
              0
                     2006               2007          2008         2009         2010
                                                                      Fuente: IDC 2007
NoSQL (y SQL): Algunas nociones




                                                                            Conectividad (Conectedness)
                                                                A lo largo del tiempo la data
                                                                                                                                             Giant
                                                                ha evolucionado y se ha vuelto                                              Global
                                                                más interenlazada y conectada.                                           Graph (GGG)

                                                                El hipertexto tiene links,
                                                                                                                            Ontologies
                   Conectividad de la información


                                                                Los blogs tienen pingbacks,
                                                                Grupos de etiquetas de                               RDF
                                                                datos relacionados...
                                                                                                                                  Folksonomies
                                                                                                                 Tagging

                                                                                                                      User-
                                                                                                 Wikis              generated
                                                                                                                     content
                                                                                                         Blogs


                                                                                             RSS


                                                                           Hypertext


                                                       Text
                                                    documents                    web 1.0                 web 2.0
                                                                       1990                  2000                          2010                   2020
NoSQL (y SQL): Algunas nociones




                                  Semi- Estructura

                                  Individualización de contenido:
                                  En las listas de salarios de los 70´s todos los el-
                                  ementos tenían UN solo trabajo.
                                  En las listas del 2000, necesitamos 5 columnas de
                                  trabajo! O bien 8? O 15...?
                                  Todo busca “visiones enteras del mundo”
                                  Se almacena más data de cada entidad
                                  Hay una tendencia acelerada a la desentra-
                                  lización de la generación de contenido
                                  ... que es la marca de la Edad de la Participación
                                  (o de la web 2.0)
NoSQL (y SQL): Algunas nociones




                                                 Arquitectura (de las bases de datos)

                                                                    80´s: Aplicaciones   Application
                                                                    tipo “MainFrame”

                                            90´s: Base de datos
                                            como centro integrador                           DB

                                             Application   Application   Application
  2000´s: (y al futuro)
  Servicios desconectados
  con sus propios back-ends
  Application   Application   Application
                                                               DB



      DB            DB            DB
NoSQL (y SQL): Algunas nociones




                                  Y de qué gustos viene?
NoSQL (y SQL): Algunas nociones




                                  CUATRO categorías emergentes:
NoSQL (y SQL): Algunas nociones


                                  Key-Value (Llaves-Valor)




                        Hace foco en escalar grandes cantidades de data
                        Diseñado para manejar cargas masivas
                        Basado en DynamoPaper de Amazon
                        Modelo de datos: Colección (global) de pares de
                        llaves-valor (key-value)
                        Replicación y partición basado en un anillo Dynamo

                        Ejemplos:
                        •Dynomite
                        •Voldemort
                        •Tokyo{Tyrant, Cabinet, etc...}
NoSQL (y SQL): Algunas nociones




                                  Big Table (clones) (o Column Stores)

                        Como si fuera “como DB Relacionales orientadas a co-
                        lumnas”, pero con un giro extra
                        Tablas similares a las RDBMS, pero que manejan datos
                        semiestructurados
                        Basados en “BigTable” de Google
                        Modelo de datos: Columnas Familias de cols.       ACL
                            Datos marcados por: fila, col, tiempo e index
                            Rango de filas: tablet    distribución

                        Ejemplos:
                        •HBase
                        •Hypertable
                        •Cassandra (Facebook, Twitter, Digg...)
NoSQL (y SQL): Algunas nociones




                                  Document Databases


                         Similares a los de almacenamiento por valor-Llave,
                         pero en este caso la DB sabe cuál es el Valor.
                         Similar to Key-Value stores, but the DB knows what the
                         Inspirado en Lotus Notes
                         Modelo de datos: Colecciones de colecciones de Llave-
                         Valor ( Key-Value)
                         Los documentos son bastante versionados/replicados

                         Ejemplos:
                         •CouchDB
                         •MongoDB
                         •Redis
                         •JackRabbit
NoSQL (y SQL): Algunas nociones




                                  DataBase Gráfica (Graph DB)

                        Se enfocan en modelar la estructura
                        datos-interconectividad
                        Se escala a la complejidad de los datos
                        Inspirado por la Teoría Grafo-matemática ( G=(E,V) )
                        Modelo de datos: “grafo de propiedad”     Nodos
                        Relaciones/ Bordes entre Nodos (primera clase)
                        Pares Llave-valor en ambos
                        Posibilidad de etiquetas de Borde y/o Tipos
                        de Nodo/Borde.

                        Ejemplos:
                        •Neo4j
                        •AllegroGraph
                        •Sones graphDB
NoSQL (y SQL): Algunas nociones



                                  OK! No es una DB...
                                  Y COMO LA CONSULTO?
                                  Interfaces REST (HTTP como API de acceso)
                                  Otros lenguajes de consulta que el SQL
                                  •GQL - SQL-like QL para Google BigTable
                                  •SPARQL - Query language para la Web Semántica
                                  •Gremlin - Lenguaje trasnversal gráfico
                                  •Sones Graph Query Language
                                  APIs de consulta
                                  •La Google BigTable DataStore API
                                  •La API transversal Neo4j




      QUERY
NoSQL (y SQL): Algunas nociones



                                  Estee...
                                  Y COMO MANIPULO LOS DATOS?
                                  Otra vez, interfaces REST (http PUT, POST, DELETE)
                                  APIs de Manipulación de Datos
                                  •Google BigTable DataStore API
                                  •Neo4j GraphDatabase API
                                  Formatos de Serialización
                                  •JSON
                                  •Thrift
                                  •ProtoBuffers
                                  •RDF



     DATAHandle
NoSQL (y SQL): Algunas nociones



                                  Quiénes trabajan con NoSQL?
                                  (qué jugadores!)
NoSQL (y SQL): Algunas nociones



                                  Mmm.. Y si atamos cabos?




                                  ( o sea.. SQL o NoSQL? Cuál?)
NoSQL (y SQL): Algunas nociones

                                  Hasta ahora , (era) la única Database.

             RDBMS




                                             (Dream is Over...Finale, Brazil 1985)
NoSQL (y SQL): Algunas nociones


... incluso podemos usar múltiples bases
de datos en conjunto, y dejar que cada
una se encargue de las cosas que maneja
mejor!
NoSQL (y SQL): Algunas nociones




  Ahora, hay que usar el mejor envase para cada tipo de dato.




                                                                   38




   (o lo que es igual, la mejor base de datos para el problema que se presente)
NoSQL (y SQL): Algunas nociones


 Persistencia políglota
 (Polyglot persistence)




     DataBase

    Todas las bases de datos
    son bienvenidas!
    SQL y NoSQL... No es sólo SQL!!
NoSQL (y SQL): Algunas nociones


                             Conclusiones:
                             Dos pasos adelante (pero antes uno atrás...)
                             La era de una sola base de datos terminó
                             Use la herramienta justa para cada trabajo
                             La persistencia políglota ya está en marcha, y
                             cada vez se volverá más cotidiana
                             Resuelve varios problemas de escalabilidad:
                             •Escalar por tamaño - grandes cantidades de
                             datos, muchas muchas máquinas
                             •Escalar por complejidad - maneja esquemas
                             complicados
                             - evita ser ”lastrado” por profundos JOINs
                             Jugado por grandes compañías y empresas in-
                             dependientes (una dupla saludable :)
NoSQL (y SQL): Algunas nociones


                             Fuentes:
                             NoSQL for Dummies
                             http://slidesha.re/boJDgs

                             What Does NoSQL Mean for You?
                             http://slidesha.re/bacCWC

                             NoSQL: An introduction
                             http://slidesha.re/bBuApG

                             SQL Overview
                             http://slidesha.re/i7uIWJ


                             Images:
                             Google Images
                             Brazil (1985), de Terry Gilliam. (un capo)
                             Mauro Ramón, para HTML5 Experiencia Web,
                             2011 P2PU / Profesor Dany Bautista.

Weitere ähnliche Inhalte

Was ist angesagt?

Cassandra Instalacion y Utilizacion
Cassandra Instalacion y UtilizacionCassandra Instalacion y Utilizacion
Cassandra Instalacion y UtilizacionLeandro Carrera
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
 
Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech DataStax Academy
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesAndrés Londoño
 
Introducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB WebinarIntroducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB WebinarMongoDB
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraWladimir Cabarcas
 
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 NoSQLJavier Guillot Jiménez
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQLIsabel Gómez
 
NoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache CassandraNoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache CassandraWladimir Cabarcas
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosAnthony Sotolongo
 
Introduccion a Cassandra
Introduccion a CassandraIntroduccion a Cassandra
Introduccion a CassandraStratebi
 

Was ist angesagt? (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Cassandra Instalacion y Utilizacion
Cassandra Instalacion y UtilizacionCassandra Instalacion y Utilizacion
Cassandra Instalacion y Utilizacion
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
Mongodb
MongodbMongodb
Mongodb
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Introducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB WebinarIntroducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB Webinar
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache Cassandra
 
Sql v snosql
Sql v snosqlSql v snosql
Sql v snosql
 
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
 
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
 
Informe cassandra
Informe cassandraInforme cassandra
Informe cassandra
 
NoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache CassandraNoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache Cassandra
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentos
 
BASE DE DATOS MICROSOFT SQL SERVER
BASE DE DATOS MICROSOFT SQL SERVERBASE DE DATOS MICROSOFT SQL SERVER
BASE DE DATOS MICROSOFT SQL SERVER
 
Bases de datos no sql
Bases de datos no sqlBases de datos no sql
Bases de datos no sql
 
Introduccion a Cassandra
Introduccion a CassandraIntroduccion a Cassandra
Introduccion a Cassandra
 

Ähnlich wie NoSQL y SQL nociones clave (20)

Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Las bases de datos
Las bases de datosLas bases de datos
Las bases de datos
 
Unidad iv ddl
Unidad iv ddlUnidad iv ddl
Unidad iv ddl
 
Base de datos
Base de datosBase de datos
Base de datos
 
ANALISIS DE SISTEMAS ROCKI.pdf
ANALISIS DE SISTEMAS ROCKI.pdfANALISIS DE SISTEMAS ROCKI.pdf
ANALISIS DE SISTEMAS ROCKI.pdf
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Es una parte del sql
Es una parte del sqlEs una parte del sql
Es una parte del sql
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos mas populares
Bases de datos mas popularesBases de datos mas populares
Bases de datos mas populares
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Nelson chavez base de datos
Nelson chavez base de datosNelson chavez base de datos
Nelson chavez base de datos
 
Base de datos_SQL
Base de datos_SQLBase de datos_SQL
Base de datos_SQL
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de datos jjjjj
Base de datos  jjjjjBase de datos  jjjjj
Base de datos jjjjj
 
Base de datos
Base de datosBase de datos
Base de datos
 
Manual practicosql
Manual practicosqlManual practicosql
Manual practicosql
 
Manual practicosql
Manual practicosqlManual practicosql
Manual practicosql
 
Manual practicosql
Manual practicosqlManual practicosql
Manual practicosql
 

Kürzlich hochgeladen

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Kürzlich hochgeladen (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

NoSQL y SQL nociones clave

  • 1. NoSQL (y SQL): Algunas nociones Algunas definiciones, tipos y su rol en la web moderna
  • 2. NoSQL (y SQL): Algunas nociones
  • 3. NoSQL (y SQL): Algunas nociones vs.
  • 4. NoSQL (y SQL): Algunas nociones ENTERING
  • 5. NoSQL (y SQL): Algunas nociones sTRUCTURATED qUERY lANGUAGE (M.O.I. aka Ministery Of Information, Brazil 1985)
  • 6. NoSQL (y SQL): Algunas nociones SQL es un manera de construir, manipular y accesar una base de datos relacional. Tabla Tiene columnas y filas Relaciones Llaves primarias [keys] ( única columna o combinación de columnas) Llaves foráneas [foreign] (una col. que referencia una llave primaria u otra tabla) Normalización Cada tabla describe solamente una cosa nada más
  • 7. NoSQL (y SQL): Algunas nociones Data Types Cada columna debe tener un tipo de data válida Los tipos de datos están (parcialmente) estandarizados. Por ej: Numeric, Decimal, Float, Char, Varchar, Text, etc. Create Tables/ Alter Tables Define / Modifica la estructura de la tabla Limitadores son usados para forzar data válida en las columnas NOT NULL / CHECK / PRIMARY KEY UNIQUE / FOREIGN KEY (especifica una relaciuón entre tablas) Hay índices (Indexes) (como una tabla virtual con punteros a una tabla física) Modificar data INSERT / UPDATE /DELETE Transacciones Un set de instrucciones INSERT, DELETE, UPDATE que pertenecen a una unidad lógica de trabajo
  • 8. NoSQL (y SQL): Algunas nociones Joins Los (joins) son usados para combinar información de múltiples tablas. Pueden ser INNER o OUTER Joins. Inner Join [Left] Outer Join Set operators Operaciones con tablas o partes de ellas... etc, etc... UNION EXCEPT INTERSECT
  • 9. NoSQL (y SQL): Algunas nociones Usando SQL en la Web Para hacer un sitio que utilice una base de datos SQL nos hará falta: * un programa de base de datos tipo RDBMS (P.ej, MS Access, SQL Server, MySQL) * Un lenguaje de programación server-side tal como PHP o ASP * SQL * HTML / CSS RDBMS es la sigla de Relational Database Manage- ment System. RDBMS es la base de SQL y de todos los sistemas modernos de base de datos, como MS SQL Server, IBM DB2, Oracle, MySQL, y Microsoft Access. Los datos en RDBMS se guardan en objetos de la base de datos llamados tablas. Las tablas son colecciones de entradas de datos relacionadas y consiste en columnas y filas.
  • 10. NoSQL (y SQL): Algunas nociones Ejemplo de una Condición WHERE en SQL: Dada una tabla llamada “Personas” P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger Sólo seleccionamos las personas de la ciudad Sandnes Debemos usar entonces el siguiente comando SELECT : SELECT * FROM Personas WHERE City='Sandnes' El resultado que arrojará será algo parecido a esto. P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes
  • 11. NoSQL (y SQL): Algunas nociones ...entering: (or Harry Tuttle [aka De Niro] , Brazil 1985)
  • 12. NoSQL (y SQL): Algunas nociones Una definición (o dos): Otra forma es definirlo por lo que quiere decir No : “cualquier base de datos que NO es relacional” El término se acuñó en un encuentro con los creadores de algunas importantes/emergentes bases de datos “Bases de datos No-Relacionales” hubiera sido más correcto, ... pero era un bocado! ...luego hubo una conferencia, una lista de correo, ... el nombre prendió, hubieron más conferencias... ... y aquí estamos!
  • 13. NoSQL (y SQL): Algunas nociones Una definición (o dos): NoSQL es un concepto genérico usado para descri- bir almacenamiento estructurado que no necesita de apoyarse en SQL para ser accesado de manera útil” “NoSQL is a blanket term used to describe structured storage that doesn’t rely on SQL to be accessed in a useful way”. Chris Lea “NoSQL” NO significa que “SQL es MALO” ... sino simplemente Not Only SQL (No sólo SQL)
  • 14. NoSQL (y SQL): Algunas nociones Peeero.. si [My]SQL hace lo que necesito, para qué necesito otra cosa?? RDBMS NoSQL Diseñado para Diseñado para cargas genéricas resolver problemas (workloads) específicos Grandes (y cada vez más grandes) Cambia funciones sets de funciones por perfomance
  • 15. NoSQL (y SQL): Algunas nociones Los sistemas NoSQL típicamente NO hacen trasacciones ni JOIN´s • si realmente necesita transacciones, manténgase al lado de RDBMS •no tener joins termina por no tener grandes efectos Cuál es el foco del NoSQL? ..más que modelos de datos, es la escalabilidad: Escalab. horizontal Transparente a la aplicación No hay un sólo punto de falla: más servidores crean la lógica de negociación de No UN solo servidor, que si se más capacidad la aplicaciónse debe separar cae, cause un fuera de servicio de temas de escalado de de la aplicación recursos de servidor
  • 16. NoSQL (y SQL): Algunas nociones Porqué .. AHORA?? Tamaño de los Datos (Data Size) Conectividad (Conectedness) Semi-Estructuras Arquitectura (de las bases de datos)
  • 17. NoSQL (y SQL): Algunas nociones Tamaño de los Datos (Data Size) ExaBytes (10 ) de datos almacenados por año 1000 988 Cada año se crea más data digital En dos años 750 hemos creado más datos digitales que toda los datos creados en la 623 historia antes de ello. 500 397 397 250 253 161 0 2006 2007 2008 2009 2010 Fuente: IDC 2007
  • 18. NoSQL (y SQL): Algunas nociones Conectividad (Conectedness) A lo largo del tiempo la data Giant ha evolucionado y se ha vuelto Global más interenlazada y conectada. Graph (GGG) El hipertexto tiene links, Ontologies Conectividad de la información Los blogs tienen pingbacks, Grupos de etiquetas de RDF datos relacionados... Folksonomies Tagging User- Wikis generated content Blogs RSS Hypertext Text documents web 1.0 web 2.0 1990 2000 2010 2020
  • 19. NoSQL (y SQL): Algunas nociones Semi- Estructura Individualización de contenido: En las listas de salarios de los 70´s todos los el- ementos tenían UN solo trabajo. En las listas del 2000, necesitamos 5 columnas de trabajo! O bien 8? O 15...? Todo busca “visiones enteras del mundo” Se almacena más data de cada entidad Hay una tendencia acelerada a la desentra- lización de la generación de contenido ... que es la marca de la Edad de la Participación (o de la web 2.0)
  • 20. NoSQL (y SQL): Algunas nociones Arquitectura (de las bases de datos) 80´s: Aplicaciones Application tipo “MainFrame” 90´s: Base de datos como centro integrador DB Application Application Application 2000´s: (y al futuro) Servicios desconectados con sus propios back-ends Application Application Application DB DB DB DB
  • 21. NoSQL (y SQL): Algunas nociones Y de qué gustos viene?
  • 22. NoSQL (y SQL): Algunas nociones CUATRO categorías emergentes:
  • 23. NoSQL (y SQL): Algunas nociones Key-Value (Llaves-Valor) Hace foco en escalar grandes cantidades de data Diseñado para manejar cargas masivas Basado en DynamoPaper de Amazon Modelo de datos: Colección (global) de pares de llaves-valor (key-value) Replicación y partición basado en un anillo Dynamo Ejemplos: •Dynomite •Voldemort •Tokyo{Tyrant, Cabinet, etc...}
  • 24. NoSQL (y SQL): Algunas nociones Big Table (clones) (o Column Stores) Como si fuera “como DB Relacionales orientadas a co- lumnas”, pero con un giro extra Tablas similares a las RDBMS, pero que manejan datos semiestructurados Basados en “BigTable” de Google Modelo de datos: Columnas Familias de cols. ACL Datos marcados por: fila, col, tiempo e index Rango de filas: tablet distribución Ejemplos: •HBase •Hypertable •Cassandra (Facebook, Twitter, Digg...)
  • 25. NoSQL (y SQL): Algunas nociones Document Databases Similares a los de almacenamiento por valor-Llave, pero en este caso la DB sabe cuál es el Valor. Similar to Key-Value stores, but the DB knows what the Inspirado en Lotus Notes Modelo de datos: Colecciones de colecciones de Llave- Valor ( Key-Value) Los documentos son bastante versionados/replicados Ejemplos: •CouchDB •MongoDB •Redis •JackRabbit
  • 26. NoSQL (y SQL): Algunas nociones DataBase Gráfica (Graph DB) Se enfocan en modelar la estructura datos-interconectividad Se escala a la complejidad de los datos Inspirado por la Teoría Grafo-matemática ( G=(E,V) ) Modelo de datos: “grafo de propiedad” Nodos Relaciones/ Bordes entre Nodos (primera clase) Pares Llave-valor en ambos Posibilidad de etiquetas de Borde y/o Tipos de Nodo/Borde. Ejemplos: •Neo4j •AllegroGraph •Sones graphDB
  • 27. NoSQL (y SQL): Algunas nociones OK! No es una DB... Y COMO LA CONSULTO? Interfaces REST (HTTP como API de acceso) Otros lenguajes de consulta que el SQL •GQL - SQL-like QL para Google BigTable •SPARQL - Query language para la Web Semántica •Gremlin - Lenguaje trasnversal gráfico •Sones Graph Query Language APIs de consulta •La Google BigTable DataStore API •La API transversal Neo4j QUERY
  • 28. NoSQL (y SQL): Algunas nociones Estee... Y COMO MANIPULO LOS DATOS? Otra vez, interfaces REST (http PUT, POST, DELETE) APIs de Manipulación de Datos •Google BigTable DataStore API •Neo4j GraphDatabase API Formatos de Serialización •JSON •Thrift •ProtoBuffers •RDF DATAHandle
  • 29. NoSQL (y SQL): Algunas nociones Quiénes trabajan con NoSQL? (qué jugadores!)
  • 30. NoSQL (y SQL): Algunas nociones Mmm.. Y si atamos cabos? ( o sea.. SQL o NoSQL? Cuál?)
  • 31. NoSQL (y SQL): Algunas nociones Hasta ahora , (era) la única Database. RDBMS (Dream is Over...Finale, Brazil 1985)
  • 32. NoSQL (y SQL): Algunas nociones ... incluso podemos usar múltiples bases de datos en conjunto, y dejar que cada una se encargue de las cosas que maneja mejor!
  • 33. NoSQL (y SQL): Algunas nociones Ahora, hay que usar el mejor envase para cada tipo de dato. 38 (o lo que es igual, la mejor base de datos para el problema que se presente)
  • 34. NoSQL (y SQL): Algunas nociones Persistencia políglota (Polyglot persistence) DataBase Todas las bases de datos son bienvenidas! SQL y NoSQL... No es sólo SQL!!
  • 35. NoSQL (y SQL): Algunas nociones Conclusiones: Dos pasos adelante (pero antes uno atrás...) La era de una sola base de datos terminó Use la herramienta justa para cada trabajo La persistencia políglota ya está en marcha, y cada vez se volverá más cotidiana Resuelve varios problemas de escalabilidad: •Escalar por tamaño - grandes cantidades de datos, muchas muchas máquinas •Escalar por complejidad - maneja esquemas complicados - evita ser ”lastrado” por profundos JOINs Jugado por grandes compañías y empresas in- dependientes (una dupla saludable :)
  • 36. NoSQL (y SQL): Algunas nociones Fuentes: NoSQL for Dummies http://slidesha.re/boJDgs What Does NoSQL Mean for You? http://slidesha.re/bacCWC NoSQL: An introduction http://slidesha.re/bBuApG SQL Overview http://slidesha.re/i7uIWJ Images: Google Images Brazil (1985), de Terry Gilliam. (un capo) Mauro Ramón, para HTML5 Experiencia Web, 2011 P2PU / Profesor Dany Bautista.