SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Sistemas de Información II
Tema 7. Almacenamiento
físico
Bibliografía:
Elmasri y Navathe: “Fundamentos de Sistemas de Bases de
  Datos”
      3ª edición, 2002 (Capítulo 5).
Garcia-Molina, Ullman y Widom: “Database systems: the
  complete book”. Prentice-Hall (Capítulo 11).

                       Carlos Castillo
                         UPF – 2007

                                                          1
Almacenamiento físico
Objetivo DBMS = almacenar datos
Implementación
 Requiere conocer en detalle el
 almacenamiento de datos en un computador




                                        2
Medios de almacenamiento
Primario
  Registros de CPU
  Caché de CPU
  Memoria volátil
Secundario
  Discos magnéticos
  Discos ópticos
Terciario
  Cinta y bancos de cinta


                             3
Jerarquía de memoria

                  Más barato (por byte)
                  Más lento
     Cinta
                  Persistente
 Disco óptico


Disco magnético


 Memoria RAM

                  Más costoso (por byte)
 Memoria caché
                  Más rápido
                  Volátil               4
En el caso de una BD


     Cinta
                  Respaldos de los datos
 Disco óptico

                  Log de transacciones
Disco magnético   Datos de las tablas

 Memoria RAM
                  Optimización de consultas
                  Copia del esquema
 Memoria caché

                                           5
Disco y memoria



         Disco magnético
Memoria virtual – Sistema de Archivos




           Memoria RAM




                                        6
Buffers
  Tamaño de página = 4Kb


                            Páginas de disco



                            Buffers en memoria




Desde memoria secundaria es imposible leer
           físicamente 1 bit

                                                 7
Discos magnéticos




                    8
Disco magnético
            (platter)

                          Cara del disc




Metal                        Plástico




                                   9
Velocidad de rotación
Velocidad rotacional es constante (7k-
10k rpm)
  La aguja va más rápido en el borde del disco
  La densidad de información es menor en el
  borde
  La tasa de transferencia es igual para todas
  las pistas




                                                 10
Paquete de discos (ej.: 5­10)
                                      Pista
                                      Track

                                      Cilindro=
                                      Pista en
                                      todos los
                                      discos




      Gira completo al mismo tiempo
                                              11
Cabezal lectura/escritura




                            12
Sectores y clusters




Sectores incluyen gaps, alrededor del 10% del disco
que no está magnetizado y ayuda a encontrar los secto
                                                  13
Tiempo lectura
 Latencia
   15-45 mseg
   Tiempo de búsqueda (mover cabezal) 10-
   40ms
   Tiempo de rotación (esperar disco) 5ms
 Transferencia
   1-2 mseg por bloque


Tiempo escritura = Tiempo lectura
Tiempo modificación = 2 x Tiempo lectura
                                            14
Fragmentación
Bloques definidos durante el formateo
Se busca localizar contiguamente los
bloques en disco




Estrategia en memoria secundaria:
       evitar acceso aleatorio

                                        15
Ejemplo: ordenar en disco
Supuesto: registros en disco
  Fichero 'datos.dat'
  10.000.000 de registros, cada registro de
  1Kb, total 10 Gb de datos
  Tenemos solo 1Gb de memoria
¿Qué hacer?
  Usar quicksort => acceso aleatorio a disco




                                               16
Ordenar fragmentos
Idea: leer 1Gb de datos a la vez a
memoria
  Leer 1.000.000 de registros a la vez
  Ordenarlos en memoria usando quicksort
  Generar archivos temporales
  independientes
    sort01.dat ... sort10.dat
¿Y ahora?
  No podemos leer sort01.dat y
  sort02.dat a la vez y mezclarlos ... cada
  uno pesa 1Gb
                                              17
Mezclar fragmentos
Memoria




          01   02   03   04                10
 Disco




           Los primeros 100Kb de cada fichero
           elegir mayor valor y grabar a disco

                                                 18
Costo en tiempo
 Leer cada bloque desde disco, secuencial =
 1
 Ordenar en memoria = 0
   El tiempo que demora eso es mucho menor
 Grabar cada bloque a disco, secuencial = 1
 Leer la parte superior de cada bloque = 1
   No es exactamente secuencial
 Escribir a disco, secuencial = 1
Costo tiempo aprox. 4 veces lo que tarda
          leer el fichero original
                                             19
Costo en espacio
Espacio original: no se cuenta
Espacio para archivos temporales
  1 vez tamaño del original
Espacio para archivo de salida
  1 vez tamaño del original
   Costo espacio aprox. 2 veces el
     tamaño del fichero original
      ¡20Gb libres para ordenar 10Gb!
Podríamos ahorrar (ej.: borrar el original
una vez que tenemos los temporales) –
aunque es un poco arriesgado                 20
Resumen
Leer y escribir en disco es lo más lento
  Evitar acceso aleatorio
  Usar acceso secuencial




                                           21

Más contenido relacionado

La actualidad más candente

Tipos de Memorias RAM
Tipos de Memorias RAMTipos de Memorias RAM
Tipos de Memorias RAM
oskrcrazy
 
compressao de dados
compressao de dadoscompressao de dados
compressao de dados
midleofmidle
 
RAM and ROM Memory Overview
RAM and ROM Memory OverviewRAM and ROM Memory Overview
RAM and ROM Memory Overview
Pankaj Khodifad
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
Daniela Nunes
 
Imprimir.manual users motherboard
Imprimir.manual users   motherboardImprimir.manual users   motherboard
Imprimir.manual users motherboard
xavazquez
 

La actualidad más candente (20)

Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativo
 
Tipos de Memorias RAM
Tipos de Memorias RAMTipos de Memorias RAM
Tipos de Memorias RAM
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de Dados
 
Memoria RAM
Memoria RAMMemoria RAM
Memoria RAM
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de Armazenamento
 
compressao de dados
compressao de dadoscompressao de dados
compressao de dados
 
Memorias ram y rom
Memorias ram y romMemorias ram y rom
Memorias ram y rom
 
RAM and ROM Memory Overview
RAM and ROM Memory OverviewRAM and ROM Memory Overview
RAM and ROM Memory Overview
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
Representación del Conocimiento
Representación del ConocimientoRepresentación del Conocimiento
Representación del Conocimiento
 
Arquitectura de memorias RAM, ROM Y CACHE
Arquitectura de memorias RAM, ROM Y CACHEArquitectura de memorias RAM, ROM Y CACHE
Arquitectura de memorias RAM, ROM Y CACHE
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e Memória
 
A1 modelado de los requerimientos de un sistema de informacion
A1   modelado de los requerimientos de un sistema de informacionA1   modelado de los requerimientos de un sistema de informacion
A1 modelado de los requerimientos de un sistema de informacion
 
Reglas de Codd
Reglas de CoddReglas de Codd
Reglas de Codd
 
Imprimir.manual users motherboard
Imprimir.manual users   motherboardImprimir.manual users   motherboard
Imprimir.manual users motherboard
 

Destacado (11)

Almacenamiento en bases de datos
Almacenamiento en bases de datosAlmacenamiento en bases de datos
Almacenamiento en bases de datos
 
estructuras de almacenamiento y diferentes medios de almacenamiento de datos.
estructuras de almacenamiento y diferentes medios de almacenamiento de datos.estructuras de almacenamiento y diferentes medios de almacenamiento de datos.
estructuras de almacenamiento y diferentes medios de almacenamiento de datos.
 
Almacenamiento De Datos
Almacenamiento De DatosAlmacenamiento De Datos
Almacenamiento De Datos
 
Almacenamiento en servicios de alimentación
Almacenamiento  en servicios de alimentaciónAlmacenamiento  en servicios de alimentación
Almacenamiento en servicios de alimentación
 
Buenas practicas de almacenamiento
Buenas practicas de almacenamiento Buenas practicas de almacenamiento
Buenas practicas de almacenamiento
 
¡Que es el marketing?
¡Que es el marketing?¡Que es el marketing?
¡Que es el marketing?
 
Qué es marketing?
Qué es marketing?Qué es marketing?
Qué es marketing?
 
Power-Point-Marketing I
Power-Point-Marketing IPower-Point-Marketing I
Power-Point-Marketing I
 
Marketing ppt
Marketing pptMarketing ppt
Marketing ppt
 
Tipos de almacenamiento
Tipos de almacenamientoTipos de almacenamiento
Tipos de almacenamiento
 
Metodos de almacenamiento
Metodos de almacenamientoMetodos de almacenamiento
Metodos de almacenamiento
 

Similar a Bases de Datos - Parte 7/10 Almacenamiento físico

Similar a Bases de Datos - Parte 7/10 Almacenamiento físico (20)

Diseño fisico bases datos 2
Diseño fisico bases datos 2Diseño fisico bases datos 2
Diseño fisico bases datos 2
 
Almacenamieto magnetico
Almacenamieto magneticoAlmacenamieto magnetico
Almacenamieto magnetico
 
Disco duro bases datos
Disco duro bases datosDisco duro bases datos
Disco duro bases datos
 
disco duro
disco durodisco duro
disco duro
 
Unidad de disco duro
Unidad de disco duroUnidad de disco duro
Unidad de disco duro
 
Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Francisco chiluisa
Francisco chiluisaFrancisco chiluisa
Francisco chiluisa
 
Discos duros
Discos durosDiscos duros
Discos duros
 
Disco duro 11°C Tecnología.pptx
Disco duro 11°C Tecnología.pptxDisco duro 11°C Tecnología.pptx
Disco duro 11°C Tecnología.pptx
 
Disco rigidos gala.
Disco rigidos gala.Disco rigidos gala.
Disco rigidos gala.
 
PresentacióN Lleli Disco Duro
PresentacióN Lleli Disco DuroPresentacióN Lleli Disco Duro
PresentacióN Lleli Disco Duro
 
Disco rígido... mariana
Disco rígido... marianaDisco rígido... mariana
Disco rígido... mariana
 
Jonathan 103
Jonathan 103Jonathan 103
Jonathan 103
 
Unidades de Almacenamiento - Arquitectura de PC
Unidades de Almacenamiento - Arquitectura de PCUnidades de Almacenamiento - Arquitectura de PC
Unidades de Almacenamiento - Arquitectura de PC
 
Disco duro
Disco duroDisco duro
Disco duro
 
Dispositivos de almacenamiento
Dispositivos de almacenamientoDispositivos de almacenamiento
Dispositivos de almacenamiento
 
Medios de almacenamiento
Medios de almacenamientoMedios de almacenamiento
Medios de almacenamiento
 
N4 lección09
N4 lección09N4 lección09
N4 lección09
 

Más de Carlos Castillo (ChaTo)

Más de Carlos Castillo (ChaTo) (20)

Finding High Quality Content in Social Media
Finding High Quality Content in Social MediaFinding High Quality Content in Social Media
Finding High Quality Content in Social Media
 
When no clicks are good news
When no clicks are good newsWhen no clicks are good news
When no clicks are good news
 
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
 
Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)
 
Discrimination Discovery
Discrimination DiscoveryDiscrimination Discovery
Discrimination Discovery
 
Fairness-Aware Data Mining
Fairness-Aware Data MiningFairness-Aware Data Mining
Fairness-Aware Data Mining
 
Big Crisis Data for ISPC
Big Crisis Data for ISPCBig Crisis Data for ISPC
Big Crisis Data for ISPC
 
Databeers: Big Crisis Data
Databeers: Big Crisis DataDatabeers: Big Crisis Data
Databeers: Big Crisis Data
 
Observational studies in social media
Observational studies in social mediaObservational studies in social media
Observational studies in social media
 
Natural experiments
Natural experimentsNatural experiments
Natural experiments
 
Content-based link prediction
Content-based link predictionContent-based link prediction
Content-based link prediction
 
Link prediction
Link predictionLink prediction
Link prediction
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Graph Partitioning and Spectral Methods
Graph Partitioning and Spectral MethodsGraph Partitioning and Spectral Methods
Graph Partitioning and Spectral Methods
 
Finding Dense Subgraphs
Finding Dense SubgraphsFinding Dense Subgraphs
Finding Dense Subgraphs
 
Graph Evolution Models
Graph Evolution ModelsGraph Evolution Models
Graph Evolution Models
 
Link-Based Ranking
Link-Based RankingLink-Based Ranking
Link-Based Ranking
 
Text Indexing / Inverted Indices
Text Indexing / Inverted IndicesText Indexing / Inverted Indices
Text Indexing / Inverted Indices
 
Indexing
IndexingIndexing
Indexing
 
Text Summarization
Text SummarizationText Summarization
Text Summarization
 

Bases de Datos - Parte 7/10 Almacenamiento físico

  • 1. Sistemas de Información II Tema 7. Almacenamiento físico Bibliografía: Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos” 3ª edición, 2002 (Capítulo 5). Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 11). Carlos Castillo UPF – 2007 1
  • 2. Almacenamiento físico Objetivo DBMS = almacenar datos Implementación Requiere conocer en detalle el almacenamiento de datos en un computador 2
  • 3. Medios de almacenamiento Primario Registros de CPU Caché de CPU Memoria volátil Secundario Discos magnéticos Discos ópticos Terciario Cinta y bancos de cinta 3
  • 4. Jerarquía de memoria Más barato (por byte) Más lento Cinta Persistente Disco óptico Disco magnético Memoria RAM Más costoso (por byte) Memoria caché Más rápido Volátil 4
  • 5. En el caso de una BD Cinta Respaldos de los datos Disco óptico Log de transacciones Disco magnético Datos de las tablas Memoria RAM Optimización de consultas Copia del esquema Memoria caché 5
  • 6. Disco y memoria Disco magnético Memoria virtual – Sistema de Archivos Memoria RAM 6
  • 7. Buffers Tamaño de página = 4Kb Páginas de disco Buffers en memoria Desde memoria secundaria es imposible leer físicamente 1 bit 7
  • 9. Disco magnético (platter) Cara del disc Metal Plástico 9
  • 10. Velocidad de rotación Velocidad rotacional es constante (7k- 10k rpm) La aguja va más rápido en el borde del disco La densidad de información es menor en el borde La tasa de transferencia es igual para todas las pistas 10
  • 11. Paquete de discos (ej.: 5­10) Pista Track Cilindro= Pista en todos los discos Gira completo al mismo tiempo 11
  • 13. Sectores y clusters Sectores incluyen gaps, alrededor del 10% del disco que no está magnetizado y ayuda a encontrar los secto 13
  • 14. Tiempo lectura Latencia 15-45 mseg Tiempo de búsqueda (mover cabezal) 10- 40ms Tiempo de rotación (esperar disco) 5ms Transferencia 1-2 mseg por bloque Tiempo escritura = Tiempo lectura Tiempo modificación = 2 x Tiempo lectura 14
  • 15. Fragmentación Bloques definidos durante el formateo Se busca localizar contiguamente los bloques en disco Estrategia en memoria secundaria: evitar acceso aleatorio 15
  • 16. Ejemplo: ordenar en disco Supuesto: registros en disco Fichero 'datos.dat' 10.000.000 de registros, cada registro de 1Kb, total 10 Gb de datos Tenemos solo 1Gb de memoria ¿Qué hacer? Usar quicksort => acceso aleatorio a disco 16
  • 17. Ordenar fragmentos Idea: leer 1Gb de datos a la vez a memoria Leer 1.000.000 de registros a la vez Ordenarlos en memoria usando quicksort Generar archivos temporales independientes sort01.dat ... sort10.dat ¿Y ahora? No podemos leer sort01.dat y sort02.dat a la vez y mezclarlos ... cada uno pesa 1Gb 17
  • 18. Mezclar fragmentos Memoria 01 02 03 04 10 Disco Los primeros 100Kb de cada fichero elegir mayor valor y grabar a disco 18
  • 19. Costo en tiempo Leer cada bloque desde disco, secuencial = 1 Ordenar en memoria = 0 El tiempo que demora eso es mucho menor Grabar cada bloque a disco, secuencial = 1 Leer la parte superior de cada bloque = 1 No es exactamente secuencial Escribir a disco, secuencial = 1 Costo tiempo aprox. 4 veces lo que tarda leer el fichero original 19
  • 20. Costo en espacio Espacio original: no se cuenta Espacio para archivos temporales 1 vez tamaño del original Espacio para archivo de salida 1 vez tamaño del original Costo espacio aprox. 2 veces el tamaño del fichero original ¡20Gb libres para ordenar 10Gb! Podríamos ahorrar (ej.: borrar el original una vez que tenemos los temporales) – aunque es un poco arriesgado 20
  • 21. Resumen Leer y escribir en disco es lo más lento Evitar acceso aleatorio Usar acceso secuencial 21