Admon BBDD y NoSQL Flashcards
Qué es un DBA
Data Base Administrator
Que es hacer un Explain plan
Ver el plan de ejecución de una query y ver sus puntos ‘lentos’
Si decimos: Low Slow Query
Herramienta de MySQL para visualizar rendimiento de las consultas.
Puertos de Oracle
- 1521 (antiguo)
- 2483 (Nuevo)
- 2484 (Con seguridad TLS)
Ultimas versiones de Oracle
- 21c XE –> Express
- 23ai –> Free
Oracle. Estructura Lógica y Física
-
LOGICA
- Oracle solo tiene UNA BBDD.
- Se divide en TABLESPACE –> Tablas, indices, undo, LoB
- Segmento –> Tablas, indices, undo, LoB
- Extension –> Espacio contiguo. Información que queremos ‘al lado’ de una tabla y no por ahi desperdigada.
- Bloque –> Divisiones de las extensiones. Son bloques que se corresponden ya con el espacio físico del S.O.
-
FISICA
- Datafile (archivos de datos) –> La información de un Tablespace lo vamos a guardar en uno o varios Archivos de Datos (Datafiles)
- Bloque del sistema operativo –> Bloque que se corresponde con un Bloque Lógico
Oracle. Tablespaces por defecto
- USERS –> Usuarios por defecto creados.
- SYSTEM –> Data Dictionay
- SYSAUX –>Componentes opcionales de la BBDD
- TEMP –> Tablespaces temporales
- UNDOTBS –> Para volver atrás algun Tablespace
Oracle. ¿Cómo se crea un Tablespace?
CREATE TABLESPACE ts_indices datafile '/var/data/oracle/ts_data_.dbf' size 100M autoextend ON next 20M maxsize 20G
Oracle. ¿Cómo se crea un Tabla?
CREATE TABLE Alumnos tablespace ts_data storabe (initial 20K next 30K maxextendts 50M)
Oracle. ¿Cómo se crea un Usuario?
Es como un schema en otras BBDD’s
CREATE USER nominas_owner identify by 'pasword' DEFAULT TABLESPACE ts_data TEMPORARY TABLESPACE ts_temp \+ GRANT CONNECT TO nominas_owner
NOTA: CONNECT tiene ‘dentro’ privilegios de sistema para crear tablas sesiones, etc.
Oracle. Hacer backups
RMAN
RMAN > BACKUP TABLESPACE ts_data |- FORMAT=/location |- TAG 'etiqueta' |-FROM TIME - UNTIL TIME -
Oracle. Qué lenguaje tiene para crear procedimientos / funciones
PL/SQL
Oracle. Vistas materializadas
Vista cacheada.
Oracle. Como hacer que un USER vea las tablas de otro USER
CREATE SYNONYM + GRANT SELECT
Oracle. Exportar / Backup / Importar / restaurar
- DATA PUMP
- EXPDP –> Exportar Data Pump
- IMPDP –> Importar Data Pump
Oracle. Herramientas
- SQLPlus
- TOAD
- SQLDeveloper
Puertos MySQL
3306
MySQL. Motores de almacenamiento
- InnoDB (ACID) –> XtraDB (En MariaDB)
- MyISAM (no transacional) –> Aria (En MariaDB)
MySQL. Soluciones HA
Hight Availability
- Modo Replicación –> BinLog Master –> Realy Log Slave
- Modo Cluster –> SQL Nodes (MySQL) + Data Nodes (ndbd)
MySQL. Importar /Exportar
- Copia de seguridad –>
mysqldump -u [user] -p [databaseName] > fichero.sql
- Restauración –>
mysql -u [user] -p [databaseName] < fichero.sql
Puerto de PostgreSQL
5432
Organización de PostgreSQL de las BBDD y tablas
- En PostgreSQL tenemos creacion de BBDD y Schemas para organizar las tablas de manera lógica.
- Tenemos TABLESPACES
- Posibilidad de tabla lógica (padre) y muchas tablas físicas que almancenan la información
- Soporta herencia entre tablas (INHERITED)
- Se puede establecer seguridad por fila de una tabla
- Replicacion Master - Slave
- MVCC –> Multi-Version Concurrency Control
PostgreSQL. Lenguaje/s para implementar procedimientos almacenados/funciones
- PL/pgSQL
- PL/TCL
- PL/Perl
- PL/Python
PostgreSQL. MVCC
Multi-Version Concurrency Control
Duplica tablas cuando es necesario acceder a ellas desde varias transcacciones de tal manera que aumenta la disponibilidad y reduce los bloqueos.
PostgreSQL. Comandos
- createdb / dropdb
- createuser / dropuser
- pg-dump nombe_bd > fichero.bkp
- psql nombre_bd < fichero.bkp
- pg-dumpall > fichero.bkp
- pg-dump -U user -h host -p port nombre_db > fichero.bkp
- vacuumdb –> limpieza de la BD
PostgreSQL. Ficheros de configuración
- /etc/pg_hba.conf
- /etc/postgresql/9.6/main/postgresql.conf
¿Qué es Sharding?
En sistemas de BBDD NoSQL altamente distribuidos, es la técnica me diante la cual yo distribuyo en una serie de nodos la información.
ACID vs BASE
- ACID (Atomicity, Consistency, Isolation, Durability)–> Se refiere a sistemas transaccionales
- BASE (Basically, Available, Soft State, Eventually Consistent)–> Se refiere a sistemas distribuidos. Consistencia un poco soft (más o menos consistente). Consistencia eventual
Teorema CAP
- Es imposible garantizar garantizar en sistemas distribuidos, tres cosas al mismo tiempo.
- (Consistency) Consistencia –> Todos los nodos ven la misma información
- (Availability) Disponibilidad –> Toda petición tien que recibir una respuesta
- (Partition Tolerance) Tolerancia a particionado –> El sistema debe seguir funcionando aunque haya fallos en la comunicación que segmenten la red de nodos.
- Tenemos la siguientes clasificación en funcion de que cumplen
- CA –> (no distribuidos) RDBMS (Oracle, mysql, postgresql, sql server)
- AP –> (no consistentes) RIAK, Cassandra, couchDB, simpleDB, DynamoDB, Voldemort
- CP –> (no disponibilidad) HBase, MongoDB, REDIS, BigTable. Suelen ser arquitecturas con nodo MASTER
Clasificación productos según modelo de información
- Documentos
- MongoDB (FireBase)
- CouchDB
- OrientDB
- RavenDB
- Familia Columnas –> Cada fila puede tener un numero de columnas distintos
- Cassandra
- HBase
- Hypertable
- BigTable
- Clave-Valor
- REDIS
- RIAK
- Voldemort
- DynamoDB
- Grafos
- Neo4J
- OrientDB
- Infinite Graph
- ArangoDB
- Allegro Graph
- Objetos
- ObjectStore
- Versant
- ObjectDB
- JADe
- XML
- Berkley DB XML
- Apache X indice
El mundo Big Data y NoSQL
Entre las características obligatorias de un sistema gestor de bases de datos orientadas a objetos, NO se encuentra:
a) Debo pormitir construir objetos complejos.
b) El conjunto de tipos de datos debe ser fijo, consiguiendo así mayor eficiencia en las búsquedas.
c) Todos los objetos deben tener un identíficador que sea independiente de los valores de sus atributos.
d) El esquema de una BDOO incluye únicamente un conjunto de clases (o de tipos).
b) El conjunto de tipos de datos debe ser fijo, consiguiendo así mayor eficiencia en las búsquedas.
Si fuese el motor de Base de Datos ORACLE, indique cuál de los siguientes comandos utilizaria para crear una copia de seguridad de la base de datos origen:
a) RMAN
b) DUMPALL
c) ORACLE_BCK
d) COPYDB
a) RMAN
Una pieza crucial en cualquier sistema informático son las BBDD. Le han informado que tanto la DCM como la CHT utilizan Oracle, pero no le han dicho la versión. ¿Qué consulta podría hacer en la base de datos para conocer esta información?
a) SELECT * FROM V$VERSION
b) SELECT * FROM V$VERSIONADO
c) SELECT * FROM V$VERSIONDB
d) SELECT * FROM V$VERSIONTABLE
a) SELECT * FROM V$VERSION
¿Cuál de las siguientes opciones NO es una Base de Datos NoSQL?
a) Riak.
b) DynamoDB.
c) Aurora.
d) Redis
c) Aurora.
En relación al gestor de base de datos ORACLE, señale la correcta:
a) Un tablespace es una unidad lógica de almacenamiento.
b) Un datafile (archivo de datos) puede pertenecer a varios tablespace.
c) Un segmento es la unidad mínima de almacenamiento fisico.
d) Una extensión es una agrupación de índices multinivel.
a) Un tablespace es una unidad lógica de almacenamiento.
En PostgreSQL 9.2, una vez conectado al terminal interactivo de PostgreSQL mediante el comando psal, ¿que opcion se puede ejecutar para obtener las bases de datos disponibles?
a) Show databases;
b) \list
c) select databases from dual;
d) psal_show_db
b) \list (Medio Mus)
De entre las siguientes, señale cuál es una ventaja de las instantáneas de Rase de Datos (snapshot) en SQLSERVER:
a) Otrecen una interfaz gráfica que facilita la normalización de las relaciones existentes en la Base de Datos.
b) Facilitan la automatización de catálogos compuestos por elementos repetitivos simples utilizando los datos de un archivo de texto separado por comas o tabuladores.
c) Permiten crear instantáneas de un momento temporal determinado permitiendo, entre otros, la generación de informes a partir de los datos contenidos en las mismas.
d) Optimizan la indexación para el manejo eficiente de consultas en tiempo real en archivos en formato XES (Extensible Event Stream).
c) Permiten crear instantáneas de un momento temporal determinado permitiendo, entre otros, la generación de informes a partir de los datos contenidos en las mismas.
El departamento de seguridad necesita conocer los puertos por defecto que usan diferentes gestores de base de datos. Indique cuál es una afirmación correcta.
a) El puerto por defecto que usa Postgresal es 1521
b) El puerto por detecto que usa Sql Server es 1433
c) El puerto por defecto que usa MongoDB es 9042
d) El puerto por defecto que usa Oracle es el 5432.
b) El puerto por detecto que usa Sal Server es 1433
Cypher es:
a) Un lenguaje de consulta sobre bases de datos Neo4j
b) Una base de datos de tipo clave-valor.
c) Una base de datos orientada a documentos.
d) Una base de datos orientada a grafos.
a) Un lenguaje de consulta sobre bases de datos Neo4j (Mus)
¿Cuál de los siguientes proyectos de Apache relacionados con Hadoop provee de servicios de serialización de datos?
a) Flume
b) Chukwa
c) Avro
d) Jaql
c) Avro (Mus)
Indique cuál de los siguientes NO es un gestor de bases de datos relacional:
a) MaxDB
b) MySQL
c) JSON
d) PostgresQL
c) JSON
¿En que consiste una vista materializada?
En almacenar en memoria el resultado de la ejecución de la vista
NOTA: Viene con opcion de “refresco”
En MySQL, diferencia fundamental entre los motores de InnoDB y MyISAM
- InnoDB –> soporta transacciones segun el modelo ACID
- MyISAM –> no ACID (está más orientado a consultas)
NOTA: MyISAM viene de los ficheros secuenciales indexados
NOTA: En MariaDB los equivalentes son XTraDB y Aria
¿En qué consiste el teorema CAP?
Que no se puede dar, en un sistema distribuido, juntamente, consistencia, disponibilidad y tolerancia al particionado.
- CA –> SGBBDD relacionales
- AP –> Cassandra (arquitectura anillo)
- CP –> MongoDb (arquitectura master/slave)
¿Qué es Apache Hive?
Capa sobre Hadoop para realizar consultas y analitica de datos
¿Qué es un tablespace en Oracle?
Unidad lógica de almacenamiento que sirve para contener SEGMENTOS (de tipo table, index…)
NOTA: Se mapea o se distribuye contra 1 o varios “datafiles”
NOTA: Existen unos predefinidos –> USERS, SYSTEM, TEMP, SYSAUX, UNDO
¿Para que sirve el comando \distvS de PostgreSQL?
Muestra información sobre los elementos que se indiquen y cumplan el patron dado.
Este no es el nombre real del comando: las letras i, s, t, v, S representan, índice, secuencia, tabla, vista y tabla del sistema, respectivamente.
Concepto de Sharding
Particionamiento horizontal distribuido de la información
¿Qué tipo de BBDD es MongoDB?
Una BBDD NoSQL de tipo Documental / JSON (en lugar de talbas tenemos colecciones de documentos schemaless)
Utilidad de una BBDD orientada a grafos
Poder modelar información del mundo real que no es relacional, sino que de forma intrinseca es un grafo. Y sobre estos grafos ejecutar algoritmos especificos (componetes conexas, caminos minimos….). Ej.: Redes sociales
¿En qué consiste el modelo de “familia de columnas”?
Es un sistema NoSQL en el que cada “fila” puede tener asociadas un grupo de columnas diferentes
NOTA: Una columna es una estructura de datos con NAME + VALUE + TIMESTAMP