Vous êtes sur la page 1sur 12

BASE DE DATOS I

Base de datos orientada a objetos, distribuidas y no SQL

INTEGRANTES:
APORTE (%)
Chilón Cueva Jhon Alexander 25%
Guevara Campos Diego Armando 25%
Novoa Alvarado Shania 25%
Villanueva Zabaleta Edward 25%

Cajamarca, 09 de enero de 2020


TEMA 1
A. Introducción
Los modelos de bases de datos tradicionales (relacional, red y jerárquico) han sido capaces de satisfacer con
éxito las necesidades básicas, como una consulta, a través de las aplicaciones de gestión tradicionales. Sin
embargo, presentan algunas deficiencias cuando se trata de aplicaciones más complejas o sofisticadas como,
por ejemplo, el diseño y fabricación en ingeniería, los experimentos científicos, los sistemas de información
geográfica o los sistemas multimedia. Los requerimientos y las características de estas nuevas aplicaciones
difieren en gran medida de las típicas aplicaciones de gestión: la estructura de los objetos es más compleja,
las transacciones son de larga duración, se necesitan nuevos tipos de datos para almacenar imágenes y textos.
Las bases de datos orientadas a objetos se crearon para tratar de satisfacer las necesidades de estas nuevas
aplicaciones. La orientación a objetos ofrece flexibilidad para manejar algunos de estos requisitos y no está
limitada por los tipos de datos y los lenguajes de consulta de los sistemas de bases de datos tradicionales.
Una característica clave de las bases de datos orientadas a objetos es la potencia que proporcionan al
diseñador al permitirle especificar tanto la estructura de objetos complejos, como las operaciones que se
pueden aplicar sobre dichos objetos. Otro motivo para la creación de las bases de datos orientadas a objetos
es el creciente uso de los lenguajes orientados a objetos para desarrollar aplicaciones. Las bases de datos
tradicionales son difíciles de utilizar cuando las aplicaciones que acceden a ellas están escritas en un
lenguaje de programación orientado a objetos como C++, Smalltalk o Java. Las bases de datos orientadas a
objetos se han diseñado para que se puedan integrar directamente con aplicaciones desarrolladas con
lenguajes orientados a objetos, habiendo adoptado muchos de los conceptos de estos lenguajes. Los
fabricantes de los SGBD relacionales también se han dado cuenta de las nuevas necesidades en el modelado
de datos, por lo que las nuevas versiones de sus sistemas incorporan muchos de los rasgos propuestos para
las bases de datos orientadas a objetos, como ha ocurrido con Informix y Oracle. Esto ha dado lugar al
modelo relacional extendido y a los sistemas que lo implementan se les denomina sistemas objeto–
relacionales. La nueva versión de SQL, incluye algunas de las características de la orientación a objetos.
B. Desarrollo
i. Definición
Una base de datos orientada a objetos es un sistema de gestión de base de datos mediante el cual
representamos los datos en forma de objetos que son utilizados en la programación orientada a
objetos; es por esto que algunas de estas bases son diseñadas para trabajar bien con lenguajes de
programación orientados a objetos tales como Delphi, Ruby, Python, Perl, Java, Visual Basic.NET,
etc. La base de datos está constituida por objetos, que pueden ser de muy diversos tipos, y sobre los
cuales se encuentran definidas unas operaciones. Las bases de datos orientadas a objetos pueden
manejar información binaria (como objetos multimedia, como videos, imágenes y sonidos) de una
forma eficiente. El objetivo de una base de datos orientada a objetos son los mismos que los de las
bases de datos tradicionales, pero con la ventaja de representar las modelos de datos con un marco
mucho más eficiente, manteniendo la integridad y relación entre ellos.

ii. Características

Recordemos que un objeto es una estructura que tiene asociado un estado y un comportamiento
(propiedades y métodos). Estas bases tienen las características de todo lo que es orientado a objeto
que son herencia, polimorfismo, abstracción y encapsulamiento.

 La mayoría de bases de datos orientadas a objetos incluyen algún tipo de lenguaje para realizar
consultas, lo cual permite que los objetos sean encontrados utilizando un enfoque de
programación declarativa.
 El lenguaje de programación y el esquema de la base de datos utilizan la misma definición de
tipos.

Al crear un sistema de BD Orientado a Objetos se deben tener en cuenta ciertas características


divididas en tres grupos:

 Mandatorias: Son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y
estos son: encapsulación, tipos o clases, o la más simple que sería tener un motor de BD.
 Opcionales: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son
mandatorias, estas son de: herencia múltiple, chequeo de tipos e inferencia de distribución, etc.
 Abiertas: Son aquellas en las que el diseñador puede poner de su parte y que están relacionadas
con la programación.
Algunas propiedades son las de encapsulación, herencia y polimorfismo; la primera, permite ocultar
la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos; la segunda,
es una propiedad donde los objetos heredan comportamiento dentro de una jerarquía de clases; la
última permite que una operación pueda ser aplicada a distintos tipos de objetos.

iii. Herramientas

Ahora, una base de datos orientada a objetos, requiere de manejadores de bases de datos que
soporten éste tipo de arquitecturas, pero estos son muy escasos en comparación con los
tradicionales. Algunos de los pocos OODBMS que existen son: Db4o, Informix, Bdoviedo3; todas
estas, software de pago.

iv. Importancia

Cuenta la historia que uno de los principales problemas a los que se enfrentaba Nygaard en su época,
era el de realizar procesos de trabajo largos para una tarea posterior que no simbolizaba tanta
dificultad. No era tirar horas de trabajo a la basura, pero sí sentía que su tiempo se estaba
desperdiciando dentro del contexto. Por eso planteó soluciones y descubrió que finalmente la
orientación a objetos con la que había trabajado le resolvía este aspecto. Pero con este
descubrimiento Nygaard necesitaba un lenguaje que le sirviera de apoyo, así fue como nació
Simula-67, lenguaje que hoy día aún se usa y que está considerado como uno de los inventos más
importantes en el mundo de la informática, aunque no sea algo conocido en términos populares.
Quizá aun así no entendamos la importancia de este tipo de bases, y es que este lenguaje luego se
transformó en el que ahora conocemos como C++.

v. Aplicación
Una aplicación actual sería en la ciencia, ya que estos tipos de base de datos permiten manejar los
datos de formas asombrosas, están presentes en las investigaciones científicas o en las grandes
empresas como lo sería Google, o en las grandes entidades bancarias como el banco industrial y
comercial de china.
C. Conclusiones
Las bases de datos orientadas a objetos permiten que múltiples usuarios compartan objetos
complejos y los manipulen en un ambiente seguro y estructurado. Las bases de datos
convencionales fueron diseñadas para manejar tipos de datos alfanuméricos y por esto difícilmente
pueden manipular objetos y métodos (los métodos son los comportamientos definidos de los
objetos).
Una base de datos orientada a objetos almacena datos complejos y relaciones entre datos
directamente, sin asignar filas y columnas, y esto hace que sean más adecuadas para aplicaciones
que tratan con datos muy complejos. Los objetos tienen relaciones “muchos a muchos” y son
accesibles mediante el uso de punteros. Estos punteros se vinculan a los objetos para establecer
relaciones. Otro beneficio adicional de una base de datos orientada a objetos es que puede ser
programada con pequeñas diferencias de procedimientos sin afectar a todo el sistema.

D. Referencias Bibliográficas

Anónimo. (3 de mayo de 2015). EcuRed. Obtenido de


https://www.ecured.cu/Bases_de_datos_orientadas_a_objetos
Banciihon, F. (1988). Object-oriented database systems. ACM Digital Library, 152-162.

Kavanagh, T. S. (1998). Object oriented database management system. Google Patents, 1-3.

Kim, W. (1990). Base de datos deductivas y orientas a objetos. Science Direct, 241-258.

Kyocera. (16 de Junio de 2017). El blog de Kyocera. Obtenido de


https://smarterworkspaces.kyocera.es/blog/conceptos-base-datos-orientada-objetos/

Marqués, M. (12 de Abril de 2002). Tema 2. Bases de datos orientadas a objetos. Obtenido de
http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf

VIU, E. d. (26 de Agosto de 2019). Universidad Internacional de Valencia. Obtenido de


https://www.universidadviu.com/base-datos-orientada-objetos-definicion-origen/
TEMA 2
A. Introducción
Los sistemas de bases de datos distribuidas representan la estructura geográficamente
descentralizada de una organización, pues aumentan la disponibilidad de los datos y reducen el
tráfico de comunicación y esto es justificable debido al abaratamiento de los costos en el
equipamiento y la infraestructura de comunicaciones de las redes de computadoras. El diseño de las
Bases de Datos Distribuidas posee las fases del diseño centralizado y cuenta, además, con dos
nuevos problemas que caracterizan el proceso de distribución de datos, e incluyen la determinación
de cómo dividir la base de datos en componentes para localizarlos en diferentes sitios, qué cantidad
de datos debe ser replicados y cómo deben los fragmentos replicados ser localizados. Existen varias
definiciones sobre qué es un sistema distribuido pero hay diferencias entre ellas, para nuestros
propósitos es suficiente expresar que un sistema distribuido es una colección de computadoras
independientes interconectadas entre sí que aparecen ante los usuarios del sistema como una
única computadora.
B. Desarrollo
i. Definición
Una base de datos distribuida (BDD) es un conjunto de varias bases de datos lógicamente
relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red
de comunicaciones, las cuales tienen la capacidad de procesamiento autónomo; es decir, pueden
realizar operaciones locales o distribuidas. Por ende, una Base de Datos Distribuida es una colección
de datos que pertenecen lógicamente a un solo sistema, pero se encuentra físicamente distribuido
en varios computadores o servidores de datos en una red de computadoras.

En otras palabras, son un grupo de datos que pertenecen a un sistema, pero a su vez esta repartido
entre ordenadores de una misma red, ya sea a nivel local o cada uno en una diferente localización
geográfica, cada sitio en la red es autónomo en sus capacidades de procesamiento y es capaz de
realizar operaciones locales y en cada uno de estos ordenadores debe estar ejecutándose una
aplicación a nivel global que permita la consulta de todos los datos como si se tratase de uno solo.

ii. Características

Autonomía local: Los sitios de un sistema distribuido deben ser autónomos. La


autonomía Local Implica: propietario local, administración local, responsabilidad local,
Integración local, representación local.
No dependencia de un sitio central: No debe existir un único sitio, ya que implicaría
cuello de botella, vulnerabilidad.

Operación continua: Adición de elementos y actualización de versiones.

Independencia de localización: El usuario desconoce dónde están físicamente los datos.

Procesamiento distribuido de consultas: Brindan herramientas de consulta muy eficientes


y ofrecen varias maneras de trasladar los datos.

iii. Herramientas
Algunos softwares que permiten trabajar con base de datos distribuidas son Ingres, NonStop SQL
y Oracle.
iv. Importancia
Reduce costos de comunicación; es decir, si las bases de datos están muy dispersas y las aplicaciones
hacen amplio uso de datos, es mejor y más económico dividirla. Otra razón por la que se usan este
tipo de bases es por los datos; estos se pueden colocar físicamente en el lugar donde se accedan más
frecuentemente, haciendo que los usuarios tengan control local de los datos con los que interactúan.
Esto resulta en una autonomía local de datos permitiendo a los usuarios aplicar políticas locales
respecto del tipo de accesos a sus datos. Finalmente, mediante la replicación de información, las
bases de datos distribuidas pueden presentar cierto grado de tolerancia a fallas haciendo que el
funcionamiento del sistema no dependa de un solo lugar como en el caso de las bases de datos
centralizadas.
v. Aplicación
Los ambientes en los que se encuentra con mayor frecuencia el uso de las bases de datos distribuidas
son:
 Cualquier organización que tiene una estructura descentralizada.
 Casos típicos de lo anterior son: organismos gubernamentales y/o de servicio público.
 La industria de la manufactura, particularmente, aquella con plantas múltiples. Por ejemplo,
la
 industria automotriz.
 Aplicaciones de control y comando militar.
 Líneas de transportación aérea,
 Cadenas hoteleras.
 Servicios bancarios y financieros.
C. Conclusiones
Las bases de datos distribuidas son cada vez más usadas por las empresas y suponen una ventaja
competitiva frente a los sistemas centralizados, siempre y cuando la empresa en cuestión tenga
necesidad de usar una base de datos de este tipo. Lo más habitual es disponer de varias sedes y tener
que manejar información común, para lo cual las bases de datos distribuidas son especialmente
útiles.
D. Referencias Bibliográficas

Anónimo. (5 de Junio de 2008). EcuRed. Obtenido de https://www.ecured.cu/Bases_de_datos_distribuidas


Bolivia, A. (2005). Diseño de base datos distribuida. Cochabamba: Biblioteca del bicentenario de Bolivia.

Díaz, M. A. (2006). BASES DE DATOS DISTRIBUIDAS. México: MIS 515.

Rachele, W. (26 de Enero de 2010). Techlandia. Obtenido de https://techlandia.com/ejemplos-programas-


administracion-bases-datos-lista_126285/
TEMA 3
A. Introducción
En los últimos años ha aumentado el interés por las bases de datos NoSQL (Not only SQL), un
nuevo conjunto de tecnologías que pueden contribuir al manejo de la información, como lo
menciona: “las organizaciones que recopilan grandes cantidades de datos no estructurados son cada
vez más propensas al uso de las bases de datos NoSQL”; lastimosamente, la documentación acerca
de estas es escasa y generalmente se limita a pequeños artículos o ejemplos prácticos, de los cuales
la mayoría no se encuentran en español. Adicionalmente, es preocupante el desconocimiento del
tema en ambientes académicos.
B. Desarrollo
i. Definición
NoSQL, siglas que significan “Not Only SQL” se refiere a un grupo de sistemas de bases de datos
no relacionales; cuya característica principal es que no se encuentran construidas en tablas y
generalmente no se usa lenguajes comunes del SQL para manipular los datos.
Los sistemas de bases de datos en NoSQL también por su naturaleza tienen la utilidad en la facilidad
de trabajar con grandes cantidades de datos, uno de los requerimientos necesarios para la analítica
de datos propuesto por el Big data.
El término NoSQL que fue construida en 1998, originalmente se refería una base de datos relacional
de código abierto que no usaba un lenguaje de consultas SQL, al principio fue un concepto el cual
no lo tomaron en cuenta, pero conforme al paso del tiempo en el año 2009 un empleado de
Rackspace Rick Evans reintrodujo el termino en evento el cual discutía las bases de datos de código
abierto. Los sistemas NoSQL se encuentran diseñadas de acuerdo por los parámetros establecidos
por el ACID (Atomicidad Consistencia Aislamiento Durabilidad), BASE (Basic Availavility Soft
state Eventual consistency), OLTP (Online Transaction Processing) en tiempo real y la solución
OLAP (On-Line Analytical Processing) garantizando la necesidad de las organizaciones en sistemas
que puedan almacenar y trabajar datos en cantidades descomunales.
Dentro de las plataformas NoSQL encontramos varios grupos:
• Basadas en clave/valor. Se almacenan valores asociados a una clave. Son sencillas y las de mayor
rendimiento.
• Basadas en documento. Son una particularización de la clave/valor, en las que el valor puede ser
un documento. Permiten consultas complejas.
• Basadas en columna. Los valores se almacenan en columnas en lugar de filas. Son útiles cuando
se gestionan datos agregados.
• Basadas en grafo. Las relaciones se tratan como un dato más.
• Basadas en objetos. Los datos son objetos y las relaciones punteras entre ellos. Permiten
operaciones muy complejas, pero suelen tener bajo rendimiento.
• Otras. Cubren necesidades muy específicas y tienen escasa implantación: basadas en tupla,
multivaluadas, jerárquicas, etc.
ii. Características

Se proponen seis características específicas para poder encasillar a las bases de datos NoSQL
(Catell, 2010, págs. 12-27):
• Escalabilidad horizontal: refiriéndose a la facilidad añadir, eliminar o realizar operaciones con
elementos (hardware) del sistema, sin afectar el rendimiento.
• Habilidad de distribución: tiene que ver con la escalabilidad horizontal, pero haciendo énfasis en su
soporte; para ello se tiene en cuenta la habilidad de replicar y distribuir los datos sobre los
servidores.
• Uso eficiente de recursos: aprovecha las nuevas tecnologías, como los discos en estado sólido, el
uso eficiente de recursos como la memoria RAM y los sistemas distribuidos en general.
• Libertad de esquema: al no tener un esquema rígido se permite mayor libertad para modelar los
datos; además facilita la integración con los lenguajes de programación orientados a objetos, lo que
evita el proceso de mapeado.
• Consultas simples: las consultas requieren menos operaciones y son más naturales, por la tanto, se
gana en simplicidad y eficiencia.
iii. Herramientas
• Apache Cassandra: De un avance rápido, eventualmente consistente, y con almacenamiento
estructurado key-value.
• MongoDB: Escrita en lenguaje C++, de código abierto, orientada a documentos, y pensada para ser
escalable y de desarrollo ágil, este almacena documentos similares a JSON con esquemas
dinámicos.
• Neo4j: Base de datos gráfica de alto rendimiento, puede almacenar los datos en los nodos y
relaciones de un grafo operando con una estructura de red flexible y orientada a objetos, obteniendo
todos los beneficios de una base de datos transaccional.
• DynamoDB: Está diseñada para abordar problemas de gestión, rendimiento, escalabilidad y
fiabilidad de datos ya que el cliente no se encarga de instalar, configurar, revisar, ni demás
actividades de mantenimiento ni soporte del motor.
(Peña, 2012)
iv. Importancia
NoSQL no es un sustituto a las bases de datos relacionales, es solo un movimiento que busca otras
opciones para escenarios específicos. Las bases de datos NoSQL, a diferencia de las relacionales,
están basadas en key-value pairs; se dice que esta base de datos de código abierto tiene una
implementación rentable, ya que no requieren las tarifas de licencia y pueden ejecutarse en un
hardware de precio bajo.
Al trabajar con bases de datos NoSQL, la expansión es más fácil y más barata a comparación de
cuando se trabaja con bases de datos relacionales, esto se debe a que se realiza un escalado
horizontal y se distribuye la carga por todos los nodos. En lugar de realizarse una escala vertical,
más típica en los sistemas de bases de datos relacionales.

v. Aplicación
Deben elegir para cada caso, si aceptan datos frágiles o si se configurará el almacén de datos con
consistencia en tiempo de lectura, aunque esto suponga un retraso en la respuesta. Su uso es
adecuado para aquéllas que: (Zorrilla & García, 2017)
• Manejan volúmenes ingentes de datos.
 Tienen una frecuencia alta de accesos de lectura y escritura.
 Con cambios frecuentes en los esquemas de datos.
 Y que no requieren consistencia ACID.
Casos de aplicación:
• Servicios Web2.0 (redes sociales, blogs, etc.)
• Aplicaciones IoT
• Almacenamiento de perfiles sociales
• Juegos sociales
• Gestión de contenidos
C. Conclusiones
NoSQL hace referencia al conjunto de tecnologías en bases de datos que buscan alternativas al
sistema de bases de datos relacional, en un contexto donde priman la velocidad, el manejo de
grandes volúmenes de datos y la posibilidad de tener un sistema distribuido.
D. Referencias Bibliográficas

Vous aimerez peut-être aussi