Mod BD UD1 Sistemas Almacenamento

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introducción

Antes de que xurdiran as bases de datos o procesamiento automatizado de información facíase mediante ficheiros. As aplicacións eran orientadas ó proceso (o esforzo enfocábase ó tratamiento que os datos recibían nunha aplicación concreta). Os ficheiros diseñábanse a medida para cada sistema de información sen que existise un formato común.

Esta aproximación non contemplaba a xestión da información a medio ou longo prazo. Unha organización podía dispoñer de varias aplicacións que nalgúns casos trataban a mesma información (por exemplo, o software utilizado polo departamento de recursos humanos debía xestionar un ficheiro con datos de empregados, mentres a aplicación de contabilidade mantiña outro fichero distinto cos mesmos datos organizados doutra forma). Xurdían os seguientes problemas:

  • Redundancia de datos (duplicidad innecesaria de información)
  • Mal aproveitamento do espacio de almacenamento

• Aumento no tempo de proceso • Inconsistencia de información debida á redundancia (se un dato cambiaba no ficheiro dunha aplicación, non cambiaba nos demáis) • Illamento da información (imposibilidade de transferila a outros programas a non ser que se desenvolvera un software de migración específico).

Había, en definitiva, unha gran falta de flexibilidade orixinada na dependencia total da estructura física dos datos.

Ficheiros

As aplicacións xestoras de bases de datos encárganse de configurar unha estructura óptima de almacenamento de información con mínima intervención por parte do usuario. É interesante completar a perspectiva histórica cunha breve descripción teórica sobre organización de ficheiros.

Tipos de fichero según su estructura de almacenamiento

En relación co seu contido, atopamos os seguientes tipos básicos de ficheiros:

  • Texto plano. Almacenan secuencias de caracteres correspondentes a unha codificación determinada (ASCII, Unicode, EBCDIC, etc.). Son lexibles mediante un software de edición de texto coma o Bloc de Notas de Windows o os editores Vi ou nano de Linux.

Exemplos:

  • os ficheiros de texto con extensión .txt
  • os .csv de valores separados por comas
  • os .htm y .html correspondentes a páginas web
  • os de linguaxes de marcas .xml o .rss.
O sistema de codificación de caracteres máis popular é o código ASCII (American Standard Code for Information Interchange, código estándar estadounidense para intercambio de información), que define 256 caracteres distintos (todas as combinacións de 8 bits,dous elevado a 8 posibilidades). Algúns deles, chamados caracteres de control, encarganse de definir accións coma o borrado, o salto de liña ou o tabulador e non representan símbolos concretos.
  • Binarios. Conteñen información codificada en binario para o seu procesamento por parte de aplicacións. O seu contido resulta ilexible nun editor de texto.

Exemplos:

  • executables (.exe)
  • documentos de aplicacións (.pdf, .docx, .xlsx, .pptx)
  • ficheiros de imaxe, audio ou vídeo (.jpg, .gif, .mp3, .avi, .mkv)
  • librerías de sistema (.dll).

Cando se utilizan ficheiros de texto plano para almacenar información se pueden clasificar de acuerdo a su organización interna:

  • Secuenciaos. A información escríbese en posicións físicamente contiguas. Para acceder a un dato hay que recorrer todos os anteriores.

Exemplo de ficheiro secuencial con información sobre clientes:

00789521T#Alba#Blanco#González#613524647$11111111H#Xosé Ramon#García#Pemán#613423824$38546998X#Xurxo#Cazás#Otero#666332245$09653801B#Antón#Resines#Pardo#619335241%


Bases de datos

Conceptos, usos e tipos segundo o modelo de datos e a localización da información.

A evolución lóxica dos problemas derivados do uso de ficheros foi estandarizar ó acceso á información, de modo que un diseño físico concreto servira para todas as aplicacións dunha organización. Este novo enfoque centrábase nos datos e non no proceso; isto é, estructurábase o almacenamento dos datos con independencia das aplicacións que os foran a utilizar. Así mesmo eliminábase a redundancia e se favorecía a transferencia de información entre aplicacións. Aparecía pois o concepto de base de datos.

Definición

Conforme a DRAE:

Conxunto de datos organizado de tal modo que permiten obtener con rapidez diversos tipos de información

Unha definición máis precisa é a ofrecida por Adoración de Miguel e Mario Piattini:

Colección ou depósito de datos integrados, almacenados en soporte secundario (non volátil) e con redundancia controlada. Os datos, que serán compartidos por diferentes usuarios e aplicacións, deben manterse independentes delas e a súa definición (estructura da BD), única e almacenada xunto cos datos, debe apoiarse nun modelo de datos, o cal debe permitir captar as interrelacións e restriccións existentes no mundo real. Os procedimientos de actualización e recuperación, comunes e ben determinados, facilitarán a seguridade do conxunto dos datos.

Sistemas xestores de bases de datos

O sistema xestor de bases de datos (SXBD) é o software que o fabricante pon a disposición do usuario para manexar as súas bases de datos. Definido en máis detalle:

Un conxunto coordinado de programas, procedemientos, linguaxes, etc., que suministra, tanto aos usuarios non informáticos como aos analistas, programadores, ou administrador, os medios necesarios para describir, recuperar e manipular os datos almacenados na base, mantendo a súa seguridade.

Funcións do SXBD

A pesar da gran variedadd de modelos d solucións comerciales e libres, podemos enumerar unha serie de funcións comuns a un gran número de SXBD:

  • Recuperar e modificar a información dos ficheros que conforman a base de datos de forma transparente para o usuario.
  • Garantizar a integridade dos datos, impedindo inconsistencias semánticas.
  • Ofrecer unha linguaxe de programación mediante a que interaccionar coa información.
  • Proveer o diccionario de datos.
  • Solucionar os conflictos derivados de accesos concurrentes á información.
  • Xestionar transaccións, garantizando a unidade de varias instruccións de escritura relacionadas entre sí.
  • Incluir utilidades de backup.
  • Proporcionar mecanismos de seguridade para evitar accesos e operacións indebidas.

Compoñentes del SGBD

Xeneralizando podemos atopar a seguiente enumeración de compoñentes na maioría dos SXBD:

  • Datos. Almacenados de forma eficiente en ficheros do sistema operativo.
  • Ferramentas de acceso a los datos. Unha linguaxe de programación mediante a que os usuarios técnicos poden crear, leer e modificar a información, así como un diccionario de datos que albergue os metadatos (a información sobre os propios datos e o diseño de cada base de datos). Como mínimo, ofrecerase unha interfaz de líña de comandos mediante a que acceder a estas ferramentas.
  • Utilidades. Ferramentas adicionais para xestión de backups, estadísticas, tareas programadas, mantemento de usuarios, grupos e permisos, etc.
  • Entornos gráficos. Simplifican a xestión do SXBD e serven como alternativa á líña de comandos.

Tipos

Un modelo de base de datos é a arquitectura mediante a que se almacena e interrelaciona a información que se vai a xestionar. A clasificación habitual de bases de datos toma como punto de partida o modelo subxacente:

  • Xerárquico. É o máis antiguo. Refina a idea de ficheiro indexado, creando una estricta relación de xerarquía entre os datos de varios ficheiros, motivo polo que presenta serias limitaciones semánticas. Relacionado con grandes máquinas (mainframes), a súa implantación comercial máis conocida é IMS de IBM.
  • En red. Introduce melloras respecto ó modelo xerárquico (maior independencia e flexibilidade dos datos) a costa de aumentar o nivel de complexidade. Implantaciones: CODASYL, IDMS/DB de CA Technologies.
  • Relacional. Representa a información en forma de entidades e relacións entre elas, evitando rutas preconcebidas para localizar os datos e fuxindo da rixidez dos modelos previos. Cada entidade e cada relación aparece en forma de tablas bidimensionales (con filas e columnas). É o modelo máis extendido desde fai décadas, gracias a compañías coma Oracle, IBM ou Microsoft. Posteriormente moitas evolucionaron hacia o modelo obxecto-relacional, pero hoxe en día podemos atopar bases de datos relacionais puras coma MySQL ou SAP Sybase.
  • Orientado a obxectos. Aplica aos datos o paradigma da orientación a obxectos (OOP, object-oriented programming). Irrumpió con forza nos amos noventa debido as novas necesidades de almacenamento das bases de datos relacionais (imáxenes, documentos, ficheros de audio e vídeo). Implantacións: Versant, db4o, InterSystems, Objectivity.
  • Obxecto-relacional. Nos últimos anos os fabricantes de bases de datos relacionales incorporaron o seu software diversas capacidades das bases de datos orientadas a obxectos, creando modelos híbridos con base relacional. Coma exemplos: Oracle, Microsoft SQL Server, IBM DB2, IBM Informix, PostgreSQL.
  • Outros modelos.
    • Orientado al documento. Xestionan datos provintes de documentos previamente estructurados, xeralmente de lenguajes de marcas (XML, JSON). MongoDB é posiblemente o maior exponente
    • Multidimensional. Orientado al tratamiento de la información mediante algoritmos de inteligencia artificial.
    • Deductivo. Almacena reglas de inferencia mediante las que genera deducciones a partir de unos datos determinados.

Utilizando como criterio a ubicación física da información, podemos diferenciar entre dous grandes tipos de bases de datos:

  • Centralizadas: A base de datos reside nunha sola máquina, típicamente o servidor de base de datos.
  • Distribuidas: A información repártese por distintos servidores, xeneralmente alonxados físicamente. Un exemplo sería a base de datos dunha empresa sanitaria, concebida a partir dos datos dos diferentes hosptais. A súa implantación esixe reflexionar con cuidado aspectos de networking e seguridade.

Produtos

No mercado hai unha amplia tipoloxía de SXBD. Os últimos datos apuntan a un crecemento no uso de SXBD libres, nos que destaca MySQL (e o seu fork MariaDB). Tamén desta como SXBD orientado a documentos MongoDB.

Dentro do mercado de productos propietarios, cómpre salientar os productos Oracle e Microsoft SQL Server.

Bases de datos centralizadas e distribuídas. Fragmentación.

Centralizadas

Distribuídas

Fragmentación

Outros sistemas de almacenamento

Existen outros sistemas de almacenamento moi relacionados coas bases de datos

Servizo de directorios

Un servicio de directorio (SD) é unha aplicación ou un conxunto de aplicacións que almacena e organiza a información sobre os usuarios dunha rede de ordenadores e sobre os recursos da rede de xeito que permite ós administradores xestionar o acceso de usuarios os recursos sobre dita rede; polo tanto os servizos de directorio actúan como unha capa de abstracción entre os usuarios e os recursos compartidos.

Como base de datos, un servizo de directorio está altamente optimizado para lecturas e proporciona alternativas avanzadas de búsqueda nos diferentes atributos que se poden asociar os obxetos dun directorio. Os datos que se almacenan no directorio son definidos por un esquema extensible e modificable.

Os servizos de directorio utilizan un modelo distribuido para almacenar a súa información e esa información xeneralmente está replicada entre os servidores que forman o directorio.

XML

Unha base de datos XML constitúe un sistema software que da persistencia a datos almacenados en formato XML. Estos datos poden ser interrogados, exportados y serializados. As bases de datos XML están xeralmente asociadas coas bases de datos documentais.

Existen dous grandes clases de bases de datos XML:1​

  • XML habilitado: poden mapear XML en estructuras tradicionales de bases de datos (como as relacionais​), aceptando XML como entrada e formateando en XML a saída; ou máis recentemente soportando tipos XML nativos na propia base de datos. Esto implica que a base de datos procesa o XML internamente.
  • XML nativo (NXD): o modelo interno destas bases de datos usa documentos XML como a unidade elemental de almacenamento

Referencias

Fragmentación