2.1. Características del DBMS
Control de la redundancia de datos
Este consiste en lograr una mínima cantidad de espacio de almacenamiento para almacenar los datos evitando la duplicación de la información.
Este consiste en lograr una mínima cantidad de espacio de almacenamiento para almacenar los datos evitando la duplicación de la información.
Compartimiento de datos
Una de las principales características de las bases de datos, es que los datos pueden ser compartidos entre muchos usuarios simultáneamente, proveyendo, de esta manera, máxima eficiencia.
Mantenimiento de la integridad
La integridad de los datos es la que garantiza la precisión o exactitud de la información contenida en una base de datos. Los datos interrelacionados deben siempre representar información correcta a los usuarios.
Soporte para control de transacciones y recuperación de fallas.
Se conoce como transacción toda operación que se haga sobre la base de datos. Las transacciones deben por lo tanto ser controladas de manera que no alteren la integridad de la base de datos. La recuperación de fallas tiene que ver con la capacidad de un sistema
Independencia de los datos.
En las aplicaciones basadas en archivos, el programa de aplicación debe conocer tanto la organización de los datos como las técnicas que el permiten acceder a los datos.
Seguridad
La disponibilidad de los datos puede ser restringida a ciertos usuarios. Según los privilegios que posea cada usuario de la base de datos, podrá acceder a mayor información que otros.
Velocidad
Los sistemas DBMS modernos poseen altas velocidades de respuesta y proceso..
Independencia del hardware
La mayoría de los sistemas DBMS están disponibles para ser instalados en múltiples plataformas de hardware.
1.1 Estructura de memoria y procesos de la instancia
La memoria se puede estructurar en las siguientes partes:
Área Global del sistema (SGA), la cual se comparte entre todos los servidores y los procesos en segundo plano.
Áreas globales de programas (PGA), que es privada para cada servidor y proceso en segundo plano; a cada proceso se asigna un PGA.
Área de Ordenaciones (Sort Areas).
Memoria Virtual
Área de código de software.
Instancia de una Base de Datos Cada instancia está asociada a una base de datos. Cuando se inicia una base de datos en un servidor (independientemente del tipo de computadora), se le asigna un área de memoria (SGA) y lanza uno o más procesos. A la combinación del SGA y de los procesos es lo que se llama instancia. La memoria y los procesos de una instancia gestionan los datos de la base de datos asociada de forma eficiente y sirven a uno o varios usuarios.
2.1.2 Estructuras físicas de la base de datos
En una base de datos almacenamos información relevante para nuestro negocio u organización y desde el punto de vista físico, la base de datos está conformada por dos tipos de archivos:
Archivos de datos: contiene los datos de la base de datos internamente, está compuesto por páginas enumeradas secuencialmente que representa la unidad mínima de almacenamiento. Cada página tiene un tamaño de 8kb de información. Existen diferentes tipos de páginas, a tener en cuenta:
Páginas de datos: es el tipo principal de páginas y son las que almacenan los registros de datos.
Páginas de espacio libre (PFS Page Free Space): almacenan información sobre la ubicación y el tamaño del espacio libre.
Paginas GAM and SGAM: utilizadas para ubicar extensiones.
Páginas de Mapa de Ubicaciones de índices (IAM – Index Allocation Map): contiene información sobre el almacenamiento de páginas de una tabla o índice en particular.
Páginas Índices: Utilizada para almacenar registros de índices.
Páginas de espacio libre (PFS Page Free Space): almacenan información sobre la ubicación y el tamaño del espacio libre.
Paginas GAM and SGAM: utilizadas para ubicar extensiones.
Páginas de Mapa de Ubicaciones de índices (IAM – Index Allocation Map): contiene información sobre el almacenamiento de páginas de una tabla o índice en particular.
Páginas Índices: Utilizada para almacenar registros de índices.
Archivo de Registro de Transacciones: El propósito principal del registro de transacciones es la recuperación de datos a un momento en el tiempo o complementar una restauración de copia de respaldo completa (full backup).
2.1.3 Requerimientos para instalación.
Changed in version 3.4: MongoDB no longer supports 32-bit x86 platforms.
Changed in version 3.4: MongoDB no longer supports 32-bit x86 platforms.
x86_64
Platform Support EOL Notice
Ubuntu 14.04 Support removed in MongoDB 4.2+.
Debian 8 Support removed in MongoDB 4.2+.
Debian 7 Support removed in MongoDB 4.0+, 3.6.6+, 3.4.16+, and 3.2.21+.
SLES 11 Support removed in MongoDB 3.6.4+, 3.4.15+, and 3.2.20+.
Ubuntu 12.04 Support removed in MongoDB 3.6.4+, 3.4.15+, and 3.2.20+.
Upcoming EOL Notice:
Windows 7/2008R2 MongoDB will end support in future releases.
Windows 8/2012 MongoDB will end support in future releases.
Windows 8.1/2012R2 MongoDB will end support in future releases.
Platform Support EOL Notice
| Ubuntu 14.04 | Support removed in MongoDB 4.2+. |
| Debian 8 | Support removed in MongoDB 4.2+. |
| Debian 7 | Support removed in MongoDB 4.0+, 3.6.6+, 3.4.16+, and 3.2.21+. |
| SLES 11 | Support removed in MongoDB 3.6.4+, 3.4.15+, and 3.2.20+. |
| Ubuntu 12.04 | Support removed in MongoDB 3.6.4+, 3.4.15+, and 3.2.20+. |
Upcoming EOL Notice:
| Windows 7/2008R2 | MongoDB will end support in future releases. |
| Windows 8/2012 | MongoDB will end support in future releases. |
| Windows 8.1/2012R2 | MongoDB will end support in future releases. |
Prerequisites
Platform Support
MongoDB requires x86-64 architecture and supports the following:
- Windows 7/Server 2008 R2
- Windows 8/2012 R2 and later
See Supported Platforms for more information.
MongoDB requires x86-64 architecture and supports the following:
See Supported Platforms for more information.
|
2.1.4 Instalación del software de BD en modo transaccional
Una base de datos en modo transaccional significa que la BD será capaz de que las operaciones de inserción y actualización se hagan dentro de una transacción, es un componente que procesa información descomponiéndola de forma unitaria en operaciones indivisibles, llamadas transacciones, esto quiere decir que todas las operaciones se realizan o no, si sucede algún error en la operación se omite todo el proceso de modificación de la base de datos, si no sucede ningún error se hacen toda la operación con éxito.
Una transacción es un conjunto de líneas de un programa que llevan INSERT o UPDATE o DELETE. Todo aquél software que tiene un log de transacciones (que es la "bitácora" que permite hacer operaciones de commit o rollback), propiamente es un software de BD; aquél que no lo tiene (v.g. D-Base), propiamente no lo es. Todo software de base de datos es transaccional; si el software de la BD no es "transaccional", en realidad NO es un "software" de BD; en todo caso, es un software que emula el funcionamiento de un verdadero software de BD. Cada transacción debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio.
Se usan los siguientes métodos:
- Begin TRans para iniciar la transacción
- CommitTrans para efectuar los cambios con éxito
- RollbackTrans para deshacer los cambios
Depende que base de datos uses para efectuar las operaciones pero, es la misma teoría para cualquier BD. Una vez que se sabe la forma de ingresar comandos, es el momento de acceder a una base de datos. Suponga que en su hogar posee varias mascotas y desea registrar distintos tipos de información sobre ellas.
Puede hacerlo si crea tablas para almacenar sus datos e introduce en ellas la información deseada.
Entonces, podrá responder una variedad de preguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasos serían:
- Crear una base de datos
- Crear una tabla
- Introducir datos en la tabla
- Recuperar datos desde la tabla de varias maneras
- Emplear múltiples tablas
La base de datos menagerie (palabra inglesa que en español significa "colección de animales") se ha hecho deliberadamente simple, pero no es difícil imaginar situaciones del mundo real donde podría usarse un tipo similar de base de datos.
2.1.5 Variables de Ambiente y archivos importantes para instalación.
Variable: Es un espacio en memoria al cual se le da un nombre Hay variables específicas que se crean al momento de entrar al sistema, pero también hay variables que pueden ser definidas por el usuario. Las variables son una forma de pasar información a los programas al momento de ejecutarlos.Variables de Ambiente: Se usan para personalizar el entorno en el que se ejecutan los programas y para ejecutar en forma correcta los comandos del shell.
2.1.6 Procedimiento general de instalación
Instalación de MongoDB en MS Windows
- Obtener el instalador para Windows del centro de descargas.
- Iniciar el instalador como administrador.
- Crear las carpeta de almacenamiento y configuracion de MongoDB.
- Dar permisos escritura y lectura a estas carpetas.
C:\data
C:\data\db
- (Opcional) Crear las carpeta de almacenamiento en una ruta segura ejemplo:
D:\mongodb\data\db
- Iniciar el servidor del servicio de MongoDB: mongod.
C:\mongodb\bin\mongod.exe
- (Opcional) Si se usa una ruta personalizada se debe pasar un parámetro con la ruta al iniciar el servidor de mongo.
C:\mongodb\bin\mongod.exe --dbpath D:\mongodb\data\db
- Iniciar el shell de mongo.
C:\mongodb\bin\mongo.exe
2.1.7 Procedimiento para configuración
de un DBMS.
Configuración avanzada del proceso de MongoDB
Buscando en el directorio raíz de la unidad en la que habéis ejecutado el comando mongod (en mi caso D), podréis ver que se ha creado un directorio llamado data. Si lo abrimos veremos que dentro hay un directorio llamado db. Este directorio es en el que se guardan los archivos de nuestra base de datos.
Para cambiar la ruta de dicho directorio, deberemos lanzar el proceso de MongoDB con el parámetro dbpath
PS D:\Software\mongodb> ./mongod --dbpath d:\software\mongodb\databases\db1
Al ejecutar este comando, se nos mostrará un error diciendo que la ruta no existe. Así que la creamos
PS D:\Software\mongodb> mkdir databases; mkdir databases\db1
Si volvemos a ejecutar el comando mongod con la ruta, el proceso se lanzará sin problemas.
Ahora imaginemos que queremos lanzar otro proceso mongod. Para ello tendremos que primero crear un nuevo directorio para la nueva base de datos
PS D:\Software\mongodb> mkdir .\databases\db2
Y luego lanzaremos el nuevo proceso, pero apuntando a la nueva ruta y cambiando el puerto, ya que el puerto por defecto estará siendo usado por el proceso mongod que hemos arrancado antes.
PS D:\Software\mongodb> ./mongod --dbpath d:\software\mongodb\databases\db1 --port 27018
Mongod acepta multitud de parámetros, que podéis consultar en la página oficial de MongoDB. Si queréis ver la lista en la consola, bastará con ejecutar un mongod —help.
De todos los parámetros listados, además de los ya vistos, vamos a utilizar uno más: smallfiles.
PS D:\Software\mongodb> ./mongod --dbpath d:\software\mongodb\databases\db1 –smallfiles
Con el parámetro smallfiles, lo que decimos es que queremos reservar menos espacio para los archivos de la base de datos, ahorrando un poco de espacio en disco. Teniendo en cuenta que estamos haciendo pruebas, este parámetro puede sernos útil. En entornos de producción dejaremos los valores por defecto.
2.1.8 Comandos generales de alta y baja del DBMS
mongod

Ahora que ya tenemos iniciado MongoDB vamos a conectarnos con el siguiente comando.
mongo

Vamos a mostrar todas las bases de datos NoSql que tenemos con el siguiente comando.
show dbs;

Con el siguiente comando hacemos uso de una base de datos igual que en mysql, también nos crea una base de datos y aparecerá listada con el comando que hemos usando anteriormente show dbs; hasta que insertemos un documento en la colección.
use [nombre de la base];

Para insertar y crear una colección de datos en MongoDB solo debemos usar la sentencia insert y agregar el documento (datos) en formato JSON, la colecciones se crean automáticamente en MongoDB una vez que insertamos un elemento o colección.
db.[coleccion].insert( [documento en formato JSON] ) ;

las colecciones en las bases de datos relacionales equivalen a las tablas. pero esto no quiere decir que se usan de la misma forma, o se relacionan entre si como las “bases de datos relaciones”.
Ahora con este comando vamos a ver como nos muestra las colecciones disponibles en la base de datos, recuerda que primero tienes que seleccionar la base de datos que quieras con el comando.
use [tabla]
Usamos show collection para ver las colecciones de la tabla seleccionada.
show collections;

Con el comando find() lo que hace es mostrarnos la lista de documentos “registros” de una colección, podemos filtrar o enviar al comando find para especificar los resultados de nuestra consulta.
db.[coleccion].find();

Si queremos que los resultados se vean mucho mejor o darle una salida mas visible en la pantalla solo tenemos que agregar a la consulta pretty() que hara que el resultado se vea mas bonito.
db.[coleccion].find().pretty();


No hay comentarios:
Publicar un comentario