BASE DE DATOS 


Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), y por ende se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos. 
Una Base de Datos consiste de una colección de datos interrelacionados y un conjunto de programas que permiten acceder esos datos. Su objetivo primordial es proporcionar un medio ambiente que sea conveniente y eficiente tanto al extraer como al almacenar datos. Su orientación es a nivel empresarial como la entidad central en donde todas sus operaciones se fusionan al utilizar esta herramienta (centralizado). A continuación veremos las ventajas y desventajas de utilizar una Base de Datos. 
Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico. Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono. 


CARACTERÍSTICAS DE BASE DE DATOS


Independencia de los Datos. Es decir, que los datos no dependen del programa y por tanto cualquier aplicación puede hacer uso de los datos. 

- Reducción de la Redundancia. Llamamos redundancia a la existencia de duplicación de los datos, al reducir ésta al máximo conseguimos un mayor aprovechamiento del espacio y además evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos encontramos con datos contradictorios. 

- Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los datos. 

- Se visualiza normalmente como una tabla de una hoja de cálculo, en la que los registros son las filas y las columnas son los campos, o como un formulario. 

- Permite realizar un listado de la base de datos. 

- Permiten la programación a usuarios avanzados.


INTRODUCCIÓN DE DATOS

En una base de datos podemos introducir, entre otros, los siguientes tipos de datos: 

- Vídeo: secuencias de imágenes. 

- Gráficos: archivos de imagen que pueden modificar la base de datos. 

- Sonido: archivos de audio. 

- Lógicos: tratan de establecer relaciones entre los datos. 

- Numéricos. 

- Alfanuméricos. 

VENTAJA DEL USO DE  BASE DE DATOS

Obtener más información de la misma cantidad de data: La base de datos facilita al usuario obtener mas información debido a la facilidad que provee esta estructura para proveer datos a los usuarios (si se tiene el privilegio).

Compartir los Datos: Usuarios de distintas oficinas pueden compartir datos si estan autorizados. Esto implica que si un dato cambia de contenido como por ejemplo la dirección de un cliente, todos los usuarios que pueden acceder ese dato, verán inmediatamente el cambio efectuado.

Balance de Requerimientos Conflictivos: Para que la Base de Datos trabaje apropiadamente, necesita de una persona o grupo que se encargue de su funcionamiento. El título para esa posición es Administrador de Base de Datos y provee la ventaja de que Diseña el sistema tomando en mente la necesidad de cada departamento de la empresa

Se refuerza la estandarización: Debido a lo que se mencionó previamente, es más facil estandarizar procesos, formas, nombres de datos, formas, etc.

Redundancia controlada: Debido al sistema tradicional de archivos independientes, los datos se duplicaban constantemente lo cual creaba mucha duplicidad de datos y creaba un problema de sincronización cuando se actualizaba un dato en un archivo en particular..

Consistencia: Al controlarse la redundancia, cuando actualizas un dato, todos los usuarios autorizados de la Base de Datos pueden ver el cambio independientemente de que estén trabajando en distintos sistemas.

Integridad: La base de datos tiene la capacidad de validar ciertas condiciones cuando los usuarios entan datos y rechazar entradas que no cumplan con esas condiciones. El DBA (Data Base Administrator) es responsable de establecer esas validaciones.

Seguridad: El DBA al tener control central de los Datos, la Base de Datos le provee mecanismos que le permiten crear niveles de seguridad para distintos tipos de Usuarios. En COBOL esta opción tendría que programarse.

Flexibilidad y rapidez al obtener datos: Aquí el usuario puede fácilmente obtener información de la Base de Datos con tan solo escribir unas breves oraciones. Esto evita el antiguo y burocrático proceso de llenar una petición al Centro de Cómputos para poder obtener un informe. Ejemplo: Explicar como ocurría ese proceso.

Aumenta la productividad de los programadores: Debido a que los programadores no se tienen que preocupar por la organización de los datos ni de su validación, se pueden concentrar en resolver otros problemas inmediatos, mejorando de ese modo su productividad.

Mejora el mantenimiento de los programas: Debido a que los datos son independientes de los programas (a diferencia de Cobol), si ocurre un cambio en la estructura de una tabla (archivo), el código no se afecta. Ejemplo: Explicar el problema de Cobol cuando ocurre un cambio de campo en un archivo aún con el uso de librerías.

Independencia de los Datos: Debido a lo que se menciono previamente, los datos pueden modificarse para por ejemplo mejorar el "performance" de la Base de Datos y como consecuencia, no se tiene que modificar los programas.

DESVENTAJAS DE BASE DE DATOS


Tamaño: Al proveer todas las ventajas anteriormente nombradas, el Sistema de Manejo de Base de Datos (DBMS) requiere de mucho espacio en disco duro y también requiere de mucha memoria principal (RAM) para poder correr adecuadamente.

Complejidad: Debido a la cantidad de operaciones y a las capacidades del DBMS, se convierte en un producto complejo de entender. Esto requiere que los programadores y los analistas deben tomar cursos que los adiestren para poder comprender las capacidades y limitaciones del DBMS

Costo: Los productos de Bases de Datos (Oracle, DB2, Etc.) son productos caros. Esto sin contar los adiestramientos del personal del centro de cómputos y de los usuarios. Ejemplo: Explicar el costo envuelto en implantar FRS en la Universidad.

Requerimientos adicionales de Equipo: El adquirir un producto de Base de Datos, requiere a su vez adquirir equipo adicional para poder correr ese producto como por ejemplo, servidores, memoria, discos duros, etc. Si se pretende correr la Base de Datos con el mínimo de requerimientos, esta posiblemente se degrada y el "response time" al usuario se va a afectar grandemente.

En caso de alla, el impacto es mayor: Si un componente de la Base de Datos sufre un desperfecto, se detiene las operaciones del producto por completo. En el caso de un ambiente no centralizo en Cobol, el impacto casi siempre afecta al departamento en donde ocurrió el problema únicamente.

Complejo el recuperar los datos: En caso de un accidente que corrompa la Base de datos, el proceso de recuperación y de devolver a la Base de Datos su estado anterior al problema, es mucho mas complejo de ejecutar que en sistemas tradicionales.

MOTOR DE BASE DE DATOS

Es el servicio principal para almacenar, procesar y proteger los datos. El Motor de base de datos proporciona acceso controlado y procesamiento de transacciones rápido para cumplir con los requisitos de las aplicaciones consumidoras de datos más exigentes de su empresa. 

MongoDB: Es una base de datos Open Source de gran rendimiento, escalable, schema-free (creo que esto se refiere a que no es una base de datos relacional convencional, aunque no estoy del todo seguro) y orientada a documentos (esquemas de datos tipo JSON). Hay drivers preparados para usar esta base de datos desde lenguajes como PHP, Python, Perl, Ruby, JavaScript, C++ y muchos más. 

Hypertable: Hypertable es un sistema de almacenamiento distribuido de datos de alto rendimiento diseñado para soportar aplicaciones que requieran máximo rendimiento, escalabilidad y eficiencia. Se ha diseñado y modelado a partir del proyecto BigTable de Google y se enfoca sobre todo a conjuntos de datos de gran escala. 

Apache CouchDB: Como en el caso de MongoDB, este proyecto está destinado a ofrecer una base de datos orientada a documentos que se pueden consultar o indexar en modo MapReduce usando JavaScript. CouchDB ofrece una API JSON RESTful a la que se puede acceder desde cualquier entorno que soporte peticiones HTTP. 

Neo4j: Es un motor de persistencia completamente transaccional en Java que almacena los datos mediante grafos, y no mediante tablas. Neo4j ofrece una escalabilidad masiva. Puede manejar grafos de varios miles de millones de nodos/relaciones/propiedades en una única máquina, y se puede escalar a lo largo de múltiples máquinas. 

Riak: Riak es una base de datos ideal para aplicaciones web y combina:-Una tienda con un valor clave descentralizado 

Un motor map/reduce flexible 

Una interfaz de consultas HTTP/JSPN amigable. 

Oracle Berkeley DB: Se trata de un motor de bases de datos embebidas que proporciona a los desarrolladores persistencia local, rápida y eficiente con una administración nula. Oracle Berkeley DB es una librería que se enlaza directamente en nuestras aplicaciones y permite realizar llamadas simples a funciones en lugar de enviar mensajes a un servidor remoto para mejorar el rendimiento.

0 comentarios: