Este documento proporciona una introducción a la administración de bases de datos con PostgreSQL. Explica los conceptos básicos como la estructura de una instalación de PostgreSQL, las aplicaciones del cliente y servidor, la arquitectura del sistema de bases de datos, los archivos y directorios de configuración clave, y los pasos para crear un cluster de bases de datos e iniciar/detener el servidor PostgreSQL.
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Administracion de bases de datos
1. Administración Avanzada del Sistema operativo
GNU/Linux
Asignatura: 3.2 Administración y análisis de datos
Docente: Msc. Mauricio Arancibia Patzi
Tema 1. Administración de bases de datos
3. 3
Introducción a la administración de datos
✔
SGBD (Sistema Gestor de Base de Datos) o DBMS (DataBase
Management System) se compone de:
✔ Base de datos (BD): Colección de datos sobre un ente particular (empresa,
organización, etc)
✔ Programas (Software) para acceder y manipular los datos
✔ Otros elementos que puede considerar: Hardware y Usuarios
✔ Los SGBD son integrados y compartidos
✔
Integrado: Unificación de archivos e información (evitando redundacias, mejorando los
accesos)
✔
Compartida: Información utilizada por varios usuarios (total o parcialmente)
Tema 1.1 Introducción a la administración de datos
4. 4
Que exigimos a un SGBD?
✔
Escalabilidad: Capacidad de mejorar con el incremento de recursos
invertidos
✔
Portabilidad: Exportación e importación de datos de una plataforma
a otra
✔
Rendimiento: Recuperación, actualización, concurrencia, etc de una
manera eficiente
✔
Universalidad: Múltiples tipos de datos
✔
Disponibilidad: 7x24x365
✔
Aplicaciones clientes
Tema 1.1 Introducción a la administración de datos
5. 5
Que exigimos a un SGBD?
✔
Escalabilidad: Capacidad de mejorar con el incremento de recursos invertidos
✔
Portabilidad: Exportación e importación de datos de una plataforma a otra
✔
Rendimiento: Recuperación, actualización, concurrencia, etc de una manera
eficiente
✔
Universalidad: Múltiples tipos de datos
✔
Disponibilidad: 7x24x365
✔
Aplicaciones clientes
Tema 1.1 Introducción a la administración de datos
6. 6
Esquema de un SGBD
Tema 1.1 Introducción a la administración de datos
7. 7
Inconvenientes de las SGBD
✔
Redundancia (datos duplicados) e Inconsistencia (datos
contradictorios)
✔
Aislamiento de Datos
✔
Falta de integridad: Complicado mantener ciertas condiciones
en la informacion
✔
Problemas de atomicidad
✔
Problemas en el acceso concurrente
✔
Problemas de seguridad
Tema 1.1 Introducción a la administración de datos
8. 8
Niveles de los SGBD
✔
Nivel Externo (o de Vistas), mayor nivel de abstraccion
✔ Nivel mas cercano a los usuarios y su forma de ver los datos
✔ Describe solo una parte de la BD
✔
Nivel Conceptual (o Lógico), conecta los otros dos niveles
✔ Describe que datos se almacenan en la BD y que relaciones existen entre ellos.
✔ Los programadores trabaja sobre este nivel
✔
Nivel Interno (o Físico), el más cercano al almacenamiento físico
✔ Describe como se almacenan realmente los datos (estructuras de datos complejas de
bajo nivel: registros, ficheros, bytes, datos, organización
✔ Los administradores de bases de datos (DBA) pueden conocer y controlar ciertos
aspectos de este nivel.
Tema 1.1 Introducción a la administración de datos
9. 9
Clasificación de los SGBD
✔
Dependiendo del Modelo de Datos:
✔ Modelo relacional: Un conjunto de tablas
✔ Modelo Dirigido a Objetos: Un conjunto de objetos. Una clase es un tipo de objeto con las
mismas características.
✔ Modelo Relacional dirigido a Objetos
✔ Otros modelos antiguos: Jerárquico y en Red
✔
Dependiente del numero de usuarios:
✔ Monousuario y Multiusuario
✔
Dependiente del numero de sitios en los que esta la BD:
✔ SGBD centralizado
✔ SGBD distribuido
10. 10
Tipos de usuarios de la base de datos
✔
Usuarios informáticos
✔ Diseñadores: lógicos y físicos
✔ Administradores
✔ Analistas y programadores
✔
Usuarios finales: habituales y esporádicos
Tema 1.1 Introducción a la administración de datos
11. 11
Que es un administrador de datos (DBA)
“Un administrador de bases de datos (también
conocido como DBA, en inglés database
administrator) es aquel profesional que
administra las tecnologías de la información y la
comunicación, siendo responsable de los
aspectos técnicos, tecnológicos, científicos,
inteligencia de negocios y legales de bases de
datos.”
Wikipedia
Tema 1.1 Introducción a la administración de datos
12. 12
Habilidades de un DBA
Debido a la importancia de los datos que están a su cargo, el administrador de bases de datos
debe ser experto en TI (tecnología de la información), teniendo particular conocimiento de
DBMS (sistemas de administración de bases de datos) y el lenguaje de consulta SQL. También
debe tener conocimiento de varios tipos de lenguaje de programación para poder
automatizar ciertas tareas.
Tema 1.1 Introducción a la administración de datos
13. 13
Roles de administrador de BD (DBA)
✔
Diseñar de la base de datos
✔
Facilitar la accesibilidad a la BD
✔
Solucionar problemas de rendimiento
✔
Solucionar de problemas de almacenamiento
✔
Replicar los datos
✔
Dar mantenimiento a las tablas
Tema 1.1 Introducción a la administración de datos
14. 14
Tareas del administrador de BD (DBA)
✔
Aprovisionamiento de servidores y bases de datos
✔Instalación y configuración de SGB comerciales en servidores
✔Creación de bases de las BD, asignación de datos y archivos de registro en dispositivos de almacenamiento adecuado.
✔
Mantenimiento de los archivos de bases de datos y objetos
✔Mantenimiento continuo → reducir la fragmentación de archivos
✔Asegurar la coherencia de la estructura de datos lógica y físico.
✔
Recuperación de las bases de datos en caso de fallos
✔Planificar copias de seguridad
✔Generar estrategias de recuperación
✔
Importación y exportación de datos
✔
Seguridad de los datos
✔Implementar políticas de seguridad
✔
Supervisión y solución de problemas de sistemas de bases de datos
15. 15
Personal con el que interactúa el DBA
✔
Usuarios en general: para especificar los requisitos que debe cumplir la BD
✔
Directivos: que fijan los objetivos que la BD debera cumplir con los
objetivos generales de la empresa
✔
Analistas y programadores, para proporcionar información acerca de la
estructura de los datos
✔
Con operadores: procedimientos de recuperación ante fallos, normas de
copias de seguridad, re-arranque, etc
✔
Suministradores: para corregir errores en la BD, estar pendiente de nuevas
herramientas y actualizaciones.
✔
Personal de formación: para preparar planes adecuados de formación
sobre la BD
Tema 1.1 Introducción a la administración de datos
16. 16
SGBD comerciales
✔
SGBD relacionales de código cerrado
✔ Oracle
✔ Microsoft SQL Server
✔ DB2
✔
SGBD relacionales de código abierto
✔ MySQL
✔ PostgreSQL
✔ Firebird
✔ Apache Derby
Tema 1.1 Introducción a la administración de datos
17. 17
Bases de datos libres vs cerradas
Ventajas OpenSource
✔
Bajo costo de adquisición y uso
✔
Innovación tecnológica
✔
Requisitos de hardware menores
✔
Independencia del proveedor
Desventajas OpenSource
✔
Curva de aprendizaje mayor
✔
No existe compañías únicas que
respalden la tecnología
Ventajas Software propietario
✔
Control de calidad
✔
Amplio campo de expansión de uso en
Universidades
✔
Difusión de publicaciones acerca del uso
Desventajas Software Propietario
✔
Cursos de aprendizaje costosos
✔
Derecho exclusivo de innovación
✔
Descontinuación de una línea de
software
✔
Dependencia de proveedores
Tema 1.1 Introducción a la administración de datos
18. 18
Factores de evaluación
OPEN SOURCE (ejemplo MYSQL)
✔
Costo. En la mayor parte el uso y los servicios no tiene costo
✔
Asistencia. Se puede obtener por medio de contratos o de las comunidades.
✔
Funcionalidad Dispone de algunos entornos y herramientas para la
programación
✔
Portabilidad: Se ejecuta en la mayoría de los sistemas operativos
✔
Facilidad de uso. Fácil de usar y administrar, además de poseer
herramientas potente y flexibles.
Tema 1.1 Introducción a la administración de datos
19. 19
Factores de evaluación
PROPIETARIO (ejemplo Oracle)
✔
Costo. Uno de los más costos del mercado
✔
Asistencia. Se obtiene por medio de contratos con empresas que
ofrecen servicio.
✔
Funcionalidad. El entorno de programación es bastante intuitivo y
posee herramientas para el desarrollo.
✔
Portabilidad. Se ejecuta en la mayoría de los sistemas operativos.
✔
Facilidad de uso. Posee herramientas para el manejo, control de
procesos, vigilancia y monitoreo.
Tema 1.1 Introducción a la administración de datos
21. 21
PostgreSQL
Características principales
✔ Es una base de daos 100% ACID (Atomic, Consistent,
Isolated, Durable)
✔ Soporta disntintos tipos de datos
✔ Incluye herencia entre tablas
✔ Copias de seguridad en caliente (Online/hot backups)
✔ Regionalización por columna
✔ Multi-version Concurry Control
✔ Multiples métodos de autentificación
✔ Acceso encriptado via SSL
✔ Licencia BSD
22. 22
PostgreSQL
Ventajas
✔ Ampliamente popular
✔ Fácil de administrar
✔ Sintaxis SQL
✔ Capacidad de replicación de datos
✔ Soporte empresarial disponible
✔ Multiplataforma
Desventajas
✔ Es más lento comparado con MySQL
✔ Soporte en línea: hay foros oficiales, pero no hay una ayuda obligatoria
✔ Consumo más recurso que MySQL
23. 23
DBA CON POSTGRESQL
Estructura de una instalación desde fuentes
✔
bin/ ubicación de los binarios
✔
include/ contiene los archivos de cabecera del
servidor
✔
lib/ localización de las librerías compartidas
✔
share/ archivos de ejemplo y extensiones de
configuración
Tema 1.2 DBA con PostgreSQL
24. 24
Aplicaciones del cliente
✔
createdb: crea una base datos
✔
createlang: define un nuevo lenguaje procedural en una base de datos
✔
createuser: creación de usuarios
✔
dropdb: borra una base de datos
✔
droplang: borra un lenguaje procedural
✔
dropuser: borra un usuario
✔
ecpg: SQL C pre-pocesador embebido
✔
pg_config: recupera información sobre la versión instalada de PostgreSQL
✔
pg_dump: extrae una base de datos en un fichero script
✔
pg_dumpall: extrae un cluster de base de datos en un fichero script
✔
pg_restore: restaura una base de datos desde un fichero creado con pg_dump
✔
psql: terminal interactivo para la ejucuión de sentencias SQL
✔
reindexdb: reindexa una base de datos
✔
vacuumdb: reorgeniza y analiza una base de datos
25. 25
Aplicaciones servidor
✔
initdb: crea un cluster de base de datos
✔
ipcclean: libera la memoria compartida y los semaforos de un
servidor PostreSQL
✔
pg_controldata: muestra información de control de un cluster de
base de datos
✔
pg_ctl: inicia, para o reinicia un servidor PostgreSQL
✔
pg_resetxlog: reinicia el write-ahead log (WAL) y otras informaciones
de control de un cluster de base de datos
✔
postgres: corre un servidor PostgreSQL en modo “single-user”
✔
postmaster: servidor de base de datos PostgreSQL multiusuario
26. 26
Arquitectura
✔
Cliente/Servidor(postmaster)
✔
Proceso postmaster
✔Comunicación mediante TCP/IP
✔Puerto por defecto: 5432
✔
Memoria compartida
✔Gestiona recursos entre procesos backend
✔Gestiona cache del disco
✔
Almacenamiento físico
✔Normalmente se crea una variable de entorno PGData que apunte al directorio donde se crea el
cluster
✔Instalaciones automáticas (rpm, apt-get) crea un cluster por defecto con tres bases de datos:
template(), template1 y postgres
27. 27
Archivos de configuración principales
✔
Postgresql.conf: fichero de configuración del servidor
✔
pg_hba.conf: fichero de configuración de la autenticación de
los clientes/usuarios y del acceso a las bases de datos del cluster
✔
pg_ident.conf: fichero accesorio al interior, determina como se
realiza la autenticación ident que contiene la correspondencia
entre usuarios del OS y de PostgreSQL
✔
PG_VERSION: fichero de texto con la version de software de
Postgres que crea el cluster
28. 28
Otros archivos
✔
Postmaster.pid: se crea cuando el postmaster arranca,
contiene PID del proceso postmaster
✔
Postmaster.opts: contiene las opciones con las que se ha
iniciado el postmaster
✔
Recovery.conf, recovery.done: si se quiere o se ha hecho una
recuperación
29. 29
Directorios
✔
Base: plantillas y las bases de datos
✔
Template0 (1): definiciones de las tablas del sistema, vistas, funciones y tipos estandar.
✔
Template1 (N): plantilla para crear nuevas BD
✔
Global: tablas e indices comunes a todas las bases de datos
✔
Pgstat.stat: para monitorear estadísticas
✔
pg_control: parámetros del cluster
✔
pg_log: ficheros de seguimiento del servidor
✔
pg_xlog: ficheros de diaro del servidor (WAL)
✔
pg_clog: ficheros de diarrio para transacciones (estado de cada transacción)
✔
pg_mutiaxct: contiene datos sobre el estado multi-transaccional
✔
pg_twhphase: ficheros de estado para transacciones preparadas
✔
pg_subtrans: para realizar “savepoints” en medio de transacciones
✔
pg_tblspc: información sobre tablespaces
30. 30
Creación del cluster de bases de datos: initdb
✔
Creación del cluster:
$initdb –pgdata=$PGDATA –encoding=LATIN1 –locale=es_ES
Se crean tres bases de datos: template0, template1 y postgres
Iniciamos el postmaster del cluster
$postmaster -D $PGDATA o $pg_ctl -D $PGDATA -l $PGLOG start
Paramos el servidor:
$pg_ctl stop
31. 31
Creación del cluster de bases de datos: initdb
Para ver la información inicializada:
$pg_control data/
32. 32
Puesta en marcha y parada del servidor
La puesta en marcha del servidor se puede hacer de forma
manual con dos comandos:
- pg_ctl
Operaciones:
- start: puesta en marcha del servidor
- stop: parada del servidor
- restart: parada del servidor seguidad de puesta en marcha
- reload: envia al postmaster una señal para recargar la informacion de configuracion
- status: comprueba si hay un postamster en marcha y muestra el PID y sus opciones
- postmaster
33. 33
Internacionalización y localización:
✔
Internacionalización: proceso de desarrollo de software de forma que pueda ser
usado en distintas ubicaciones
✔
Localización: proceso de adaptación de una aplicación para que sea usada en
una ubicación específica
✔Ventajas:
✔
Mensajes en varios idiomas
✔
Mensajes en varios juegos de caracteres
✔
Visualización de datos de usuario en diversos juegos de caracteres
✔
Diversos tipos de ordenaciones
✔
Clasificación de caracteres: mayusculas, puntuación, acentos, etc
✔
El cluster puede estar en un conjunto de caracteres y la base de datos en otro:
$ initdb -E unicode
$ createdb -E latin1 base1
35. 35
Conexiones de usuarios
Cuando un cliente inicia una conexión el cluster escanea el
fichero pg.hba.conf para obtener parámetros de conexión.
36. 36
Creación de roles (usuarios)
Los roles son globales en el cluster, se almacenan en la tabla pg_authidy se pueden consultar en las vistas
pg_user y pg_roles.
$ createuser [opción] [rol]
Opciones:
-s, --superuser el rol será un superusuario
-S, --no-superuser el rol no será un superusuario
-d, --createdb el rol podrá crear bases de datos
-D, --no-createdb el rol no podrá crear bases de datos
-r, --createrole el rol podrá crear otros roles
-R, --no-createrole el rol no podrá crear otros roles
-l, --login el rol podrá conectarse (predeterminado)
-L, --no-login el rol no podrá conectarse
-i, --inherit el rol heredará los privilegios de los roles de los cuales es miembro (predeterminado)
-I, --no-inherit rol no heredará privilegios
-c, --connection-limit=N lÍmite de conexiones para el rol (predeterminado: sin lÍmite)
-P, --pwprompt asignar una contraseña al nuevo rol
-E, --encrypted almacenar la constraseña cifrada
-N, --unencrypted almacenar la contraseña sin cifrar
-e, --echo mostrar los comandos a medida que se ejecutan -q, --quiet no escribir ningún mensaje
--help desplegar esta ayuda y salir
--version desplegar información de versión y salir
37. 37
Creación de roles (usuarios)
Opciones de conexión
-h, --host=ANFITRIÓN nombre del servidor o directorio del socket -p, --port=PUERTO puerto del servidor
-U, --username=NOMBRE nombre de usuario con el cual conectarse (no el usuario a crear)
-W, --password pedir contraseña para conectarse
Si no se especifican -s, -S, -d, -D, -r, -R o el ROL, se preguntará interactivamente
Creación de usuarios con SQL
38. 38
Metodos de Conexión
✔
trust: La conexión es autorizada sin ninguna acción adicional.
✔
peer: La conexión es autorizada si el usuario del OS coincide
con el usuario de la base de datos.
✔
password: La conexión se establece si el usuario y la
contraseña coincide con los valores guardados en el pg.shadow.
✔
md5: Similar al método password, con mayor seguridad en la
codificación empleado el algoritmo md5.
✔
reject: La conexión se rechaza
39. 39
Creación de bases de datos
$ createdb [opcion] [nombre] [descripcion]
Opciones:
Con SQL:
41. 41
Esquemas
Contenedores logicos de objetos de bases de datos (tablas,
vistas, procedimientos, etc.)
✔
Tienen propietario
✔
Permiten el uso de bases de datos por multiples usuarios sin
interferencias
✔
Permiten instalar aplicaciones de terceros con el mismo
nombre de los objetios
✔
Esquema.objeto
44. 44
Mantenimiento
✔
Mantenimiento y limpieza identificadores internos
✔
Estadísticas de planificación de consultas
✔
Reindexación periódica de las tablas
✔
Tratamiento de ficheros de registros
45. 45
Vacuum
Proceso de limpieza de una base de datos
✔ Recuperar espacio de disco duro en borrados y actualizaciones de datos
✔ Actualizar las estadísticas de datos utilizados por el planificador de consultas
SQL
✔ Protegerse ante la pérdida de datos muy antiguos debido al re-uso del
identificador de transacción
$ vacummdb nombreBD -v;
$ VACUMM VERBOSE ANALYZE
✔ Recomendaciones:
✔
Usar VACUUM FULL si alguna tabla ha cambiado mucho y no va a crecer en el futuro
✔
Ejecutar VACUUM diariamente en todas las bases de datos
46. 46
Monitorización
Monitorización de la actividad del servidor PostgreSQL
✔ Uso de Swap (free, vmstat)
✔ Uso del disco (iostat)
✔ Monitoreo interactivo (top, ps, htop, pg_top)
47. 47
Tareas administrativas: Copias de seguridad y
recuperación
Existen tres formas principales de realizar copias de seguridad:
✔ Copia de seguridad de ficheros SO
✔ Volcado SQL usando herramientos PostgreSQL: pg_dump, pg_restore
✔ Volcado en línea y recuperacion en el punto (PITR)
48. 48
Copias de seguridad de ficheros del SO
Método más sencillo, pero el más ineficaz, se trata de ralizar una
copia de todos los fcheros de un cluster
$ su – postgres
$ cd /tmp/backup
$ tar cvfz copia.tar.gz $PGDATA
Desventajas del método:
✔ La base de datos debe estar parada
✔ No se puede recuperar partes del cluster (base de datos, esquemas, tablas, etc)
✔ La recuperación consiste en borrar todo el cluster y descomprimir el fichero
copia
49. 49
Copias de seguridad con volcado SQL
✔
Se emplean herramientas que nos proporcionan PostgreSQL.
✔
Los volcados son muy flexibles y de gran utilidad
✔
Permiten copias de toda la BD o partes de ella
✔
Las herramientas sirven además para transmisión de datos entre bases de datos
Herramientas:
✔pg_dump: vuelca una D o parte de ella en un fichero, bien en texto plano o en formato propio de
PostgreSQL. El servidor debe estar en marcha.
✔pg_dumpall: vuelca un cluster completo
✔pg_restore: recupera los objetos volcados en una copia de seguridaden formato propio
PostgreSQL
✔psql: se usa para recuperar los volcados en texto plano
50. 50
Ejemplos de copias de seguridad
Exportar una base de datos:
$ pg_dump -f nombrebackup.sql -h otro host -p 5432 nombreBD
$ pg_dump -Ft nombreBD>nombrebackup.tar
Exportar un cluster
$ pg_dumpall>micluster.sq
Recuperación con psql
$ psql [bd_destino]<fichero.sql
Recuperación con pg_restore
$ pg_restore -d nombreBD hr.tar
52. 52
MySQL
Características principales
✔ Velocidad y robustez
✔ Soporta gran cantidad de tipos de datos para las
columnas
✔ Gran portabilidad entre sistemas y plataformas
✔ Aprovecha la potencia de sistemas multiproceso
✔ Flexible sistema de contraseñas y gestión de
usuarios
✔ El servidor soporta mensajes de error en distintas
lenguas
53. 53
Instalación de MySQL
MySQL es un sevidor de Bases de datos SQL que se distribuye en dos versiones:
✔Version GPL (Software Libre)
✔Versión privativa llamada MySQL AB
✔Instalación:
$ sudo apt-get install mysql-server mysql-client
$ sudo mysql_secure_installation
✔Iniciar, reiniciar y detern el servidor MySQL
mysql [OPCION] (stop, start, restart)
✔Conectarse y desconectarse al servidor
$ mysql -u root -p
✔Comandos básicos
show database, use nombreBD, create database nombreBD, quit
54. 54
PHPMyAdmin
Es una aplicación escrita completamente en PHP que provee
una interface para administrar MySQL.
Siendo open-source desde principios de su existencia, ha
recibido soporte de numerosos desarrolladores y traductores
(50 lenguajes)
55. 55
Características de PHPMyAdmin
Características básicas
✔ Creación de bases de datos
✔ Creación de tablas
✔ Mantenimiento de estructur de la tablas
✔ Operaciones especiales en tablas (reparación, optimización, cambio de tipos)
✔ Inserción, modificación y borrado
✔ Navegación y ordenamiento de datos
✔ Búsquedas de información
✔ Consultas (queries)
✔ Exportación de estructuras en varios formatos, con compresió
✔ Configuracion de usuarios
56. 56
Características de PHPMyAdmin
Características avanzadas
✔ Comentarios campo-nivel
✔ Llaves foráneas
✔ Anotaciones en consultas
✔ Diccionario de datos
✔ Historial de consultas SQL
✔ Transformacion de columnas basados en tipos MIME
✔ Configuración de temas (themes)
57. 57
Características de PHPMyAdmin
Características como administrador (DBA)
✔ Manejo de usuarios y privilegios
✔ Chequeo de privilegios de las BD
✔ Verificaciones de información del servidor
✔ Exportación del servidor
✔ Generación y recuperación de backups
✔ Consola :)
60. 60
Base de datos NoSQL
Bases de datos relaciones
✔ En un RDBMS, los atributos de una entidad son almacenados en columnas
de una tabla
✔ Las columnas son definidas previamente
✔ Los valores son almacenados en todas las columnas de todos los elementos
o filas de las tablas
✔ Las BD relacionales siguen siendo una de las aplicaciones de software con
más exitoso de la historia
✔ Lo utilizan grande corporaciones que almanan terabytes de información
61. 61
Desventajas de las BD relacionales
✔
Costo de lectura de datos, las consultas al modelo relacional
implica juntar grades conjuntos de datos que representa una
complejidad computacional
✔
Escalabilidad, fueron pensadas para correr en un solo servidor.
✔
Representación del modelo, programación con el paradigma
O.O → traducir objetos a un modelo relacional
62. 62
Bases de datos NoSQL
NoSQL no es un sustituto a las BD relaciones, es solo un
movimiento que busca otras opciones para la manipulación de BD
con un rendimiento extremo.
✔ Su mayor ventaja es que están preparados para ser muy rápidos
✔ Según su tipo, cada una sigue una estrategia completamente diferente para
persistir la información
✔ Cada runtime se encarga que mediante el api se acceda directamente a los
datos
✔ Acceder a bajo nivel, tener en memoria los datos que nos interesa, se puede
obtener alto rendimiento en grandes volúmenes de datos
✔ No contiene esquemas (schema), no permiten JOINs
63. 63
Características principales
✔
Fáciles de usar en clusters de balance de carga convencionales
→ facilitan la escalabilidad horizontal
✔
Guardan datos persistentes (no solo caches)
✔
Suelen tener un sistema de consultas propio en vez de usar un
lenguaje de consultas estándar
✔
Tiene propiedades ACID en un nodo cluster
65. 65
Orientado a columnas
✔
Guardar ls datos en columnas en lugar de filas
✔
Se almacena una clave y a esta se le asocia una super-columna
con nuestra información
✔
Evita almacenar valores nulos
✔
Se gana mucha velocidad de lectura
✔
No es eficiente para realizar escritura
✔
Utilidades: dataWarehouse, sistemas BI
✔
Software: Cassandra, Hbase
66. 66
BD oriendato por clave - valor
✔
Son las BD más simples en cuanto a uso pero difícil su
implementación
✔
Almacenan valores identificados por una clave
✔
Los datos se almacenan como un arreglo de Bytes (BLOB)
✔
Puede almacenar cualquier tipo de valor
✔
Es irrelevante el tipo de contenido, solo importa la clave y el
valor asociado
✔
Software: Redis, Amazon SimpleDB, Oracle BerkeleyDB
67. 67
BD oriendado a Documentos
✔
Son simplemente un almacén key-value
✔
El valor no se guarda solo como un campo binario, más bien
con un formado definido
✔
Altamente escalable
✔
Software: MongoDB, CouchDB
70. 70
Arquitectura MongoDB
✔
No contiene esquema
✔
Cada documento puede tener distinta estructura
✔
Uso de ODM (Objeto Document Mapper)
✔
Increíblemente flexible
71. 71
BD orientado a grafos
✔
Representa la información como nodos de un grafo y sus
relaciones como aristas
✔
Significa que se puede usar teoría de grafos para recorre la
base de datos
✔
De alto rendimiento
✔
Búsquedas optimizadas en facebook y twitter
✔
Software: Ne4J, Hyperbase-DB, InfoGrid