Beruflich Dokumente
Kultur Dokumente
TEMA:
LOS SGBD EXISTENTES EN EL MERCADO
CUAL ES EL MEJOR ¿Por qué?
NOMBRE DEL CURSO:
FUNDAMENTO BASE DE DATOS
NOMBRE DEL PROFESOR:
LUCIANO LLAUCE VALDERA
CICLO: III - SEMESTRE ACADÉMICO: 2018-I
ALUMNO:
CHACHAPOYAS
SGBD EXISTENTES EN EL MERCADO
SGBD LIBRES:
MySQL:
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual:
Licencia pública general/Licencia comercial por Oracle Corporation y está considerada como la
base datos de código abierto más popular del mundo, y una de las más populares en general
junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.
MySQL fue inicialmente desarrollado por MySQL AB (empresa fundada por David Axmark, Allan
Larsson y Michael Widenius). MySQL AB fue adquirida por Sun Microsystems en 2008, y ésta a
su vez fue comprada por Oracle Corporation en 2010, la cual ya era dueña desde 2005 de
Innobase Oy, empresa finlandesa desarrolladora del motor InnoDB para MySQL.
Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad
pública y los derechos de autor del código están en poder del autor individual, MySQL es
patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.
Esto es lo que posibilita el esquema de doble licenciamiento anteriormente mencionado. La
base de datos se distribuye en varias versiones, una Community, distribuida bajo la Licencia
pública general de GNU, versión 2, y varias versiones Enterprise, para aquellas empresas que
quieran incorporarlo en productos privativos. Las versiones Enterprise incluyen productos o
servicios adicionales tales como herramientas de monitorización y asistencia técnica oficial. En
2009 se creó un fork denominado MariaDB por algunos desarrolladores (incluido algunos
desarrolladores originales de MySQL) descontentos con el modelo de desarrollo y el hecho de
que una misma empresa controle a la vez los productos MySQL y Oracle Database.
Lenguajes De Programación
Aplicaciones
MySQL es muy utilizado en aplicaciones web, como Joomla, Wordpress, Drupal o phpBB, en
plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de
seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a
PHP, que a menudo aparece en combinación con MySQL.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional
MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la
modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en
cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de
aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar
de antemano el rendimiento para detectar y corregir errores tanto de SQL como de
programación.
Características
Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por
desarrollos internos, como por desarrolladores de software libre. Entre las características
disponibles en las últimas versiones se puede destacar:
Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes
velocidades de operación, soporte físico, capacidad, distribución geográfica,
transacciones.
Transacciones y claves foráneas.
Conectividad segura.
Replicación.
Búsqueda e indexación de campos de texto.
MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier
persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y
usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus
necesidades. MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y
qué no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o
requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una
versión comercial licenciada.
PostgreSQL:
Características
Algunas de sus principales características son, entre otras:
Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por
completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los
tipos de datos GIS creados por el proyecto PostGIS.
Otras características
Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).
Disparadores (triggers): Un disparador o trigger se define como una acción específica
que se realiza de acuerdo a un evento, cuando éste ocurra dentro de la base de datos.
En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en
una determinada acción sobre una tabla específica. Ahora todos los disparadores se
definen por seis características:
El nombre del disparador o trigger
El momento en que el disparador debe arrancar
El evento del disparador deberá activarse sobre...
La tabla donde el disparador se activará
La frecuencia de la ejecución
La función que podría ser llamada
La función no es correcta
Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia
funcionalidad a través de su sistema de activación de disparadores (triggers).
Vistas.
Integridad transaccional.
Herencia de tablas.
Tipos de datos y operaciones geométricas.
Soporte para transacciones distribuidas. Permite a PostgreSQL integrarse en un sistema
distribuido formado por varios recursos (p.ej, una base de datos PostgreSQL, otra
Oracle, una cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un servidor
de aplicaciones donde el éxito ("commit") de la transacción global es el resultado del
éxito de las transacciones locales.
Funciones
Bloques de código que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con
la potencia que cada uno de ellos da, desde las operaciones básicas de programación, tales
como bifurcaciones y bucles, hasta las complejidades de la programación orientada a objetos o
la programación funcional.
Los disparadores (triggers en inglés) son funciones enlazadas a operaciones sobre los datos.
C.
C++.
Java PL/Java web.
PL/Perl.
plPHP.
PL/Python.
PL/Ruby.
PL/sh.
PL/Tcl.
PL/Scheme.
Lenguaje para aplicaciones estadísticas R por medio de PL/R.
PostgreSQL soporta funciones que retornan "filas", donde la salida puede tratarse como un
conjunto de valores que pueden ser tratados igual a una fila retornada por una consulta (query
en inglés).
Las funciones pueden ser definidas para ejecutarse con los derechos del usuario ejecutor o con
los derechos de un usuario previamente definido. El concepto de funciones, en otros DBMS,
son muchas veces referidas como "procedimientos almacenados" (stored procedures en
inglés).
Ventajas
SQLite:
SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida
en una relativamente pequeña (~275 kiB) biblioteca escrita en C. SQLite es un proyecto de
dominio público creado por D. Richard Hipp.
A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no
es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la
biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El
programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y
funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a
funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de
datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero
estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base
de datos al principio de cada transacción.
Características
SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la
mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores
individuales. Por ejemplo, se puede insertar un string en una columna de tipo entero (a pesar
de que SQLite tratará en primera instancia de convertir la cadena en un entero). Algunos
usuarios consideran esto como una innovación que hace que la base de datos sea mucho más
útil, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros
usuarios lo ven como un gran inconveniente, ya que la técnica no es portable a otras bases de
datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3.
Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos
de lectura pueden ser servidos en paralelo. Un acceso de escritura sólo puede ser servido si no
se está sirviendo ningún otro acceso concurrentemente. En caso contrario, el acceso de
escritura falla devolviendo un código de error (o puede automáticamente reintentarse hasta
que expira un tiempo de expiración configurable). Esta situación de acceso concurrente podría
cambiar cuando se está trabajando con tablas temporales. Sin embargo, podría producirse un
interbloqueo debido al multihilo. Este punto fue tratado en la versión 3.3.4, desarrollada el 11
de febrero de 2006.
Existe un programa independiente de nombre sqlite que puede ser utilizado para consultar y
gestionar los ficheros de base de datos SQLite. También sirve como ejemplo para la escritura de
aplicaciones utilizando la biblioteca SQLite.
DB2 Express-C:
DB2 Express-C comparte el mismo núcleo de funcionalidad y código base como las ediciones
pagadas de DB2 para Linux, UNIX y Windows. DB2 Express-C puede correr en sistemas de 32-
bits y 64-bits con sistemas operativos Windows o Linux. Puede correr en un sistema que tenga
cualquier cantidad de núcleos y de memoria. No tiene ningún requerimiento especial de
almacenamiento o de configuración del sistema que sean especiales. DB2 Express-C también
incluye pureXML sin costo. pureXML es la tecnología única de DB2 para almacenar y procesar
documentos XML nativamente.
Características
Apache Derby:
Apache Derby es un sistema gestor de base de datos relacional escrito en Java que puede ser
empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un
tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache
Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se
distribuye como Sun Java DB.
Características
Ventajas
Es un jar de 2mb.
Esta basado en java, usa los estandares de JDBC y SQL.
Tiene la opción del manejador de base de datos empotrado, embedido, encajado.
Soporta la arquitectura cliente/servidor.
Flexibilidad Manejo de Datos Complejos.
BDOO-Ajusta al espacio necesario y elimina espacio desperdiciado.
Manipulación de Objetos complejos en forma rápida y ágil.
Desventajas
SGBD no libres:
Advantage Database:
Rendimiento
El motor de base de datos de alta velocidad y el procesado cliente/servidor que Advantage le
ofrece suponen una significativa reducción del tráfico de red y un mejor rendimiento. El tráfico
de red y la concurrencia son problemas destacados de los entornos multiusuario en que no se
ha implementado un modelo cliente/servidor. Las aplicaciones que trabajan en dicho entorno
generan un elevado tráfico de red, puesto que son las máquinas clientes quienes llevan a cabo
todo el procesado de datos. Advantage Database Server optimiza el rendimiento multiusuario
al dividir, de forma inteligente, las operaciones entre el cliente y el servidor. La arquitectura
cliente/servidor traslada todas las peticiones de gestión de datos al propio servidor donde se
guarda la información, con lo que el tráfico de red se reduce extraordinariamente.
Bloqueo de alta velocidad: Advantage Database Server utiliza un sistema inteligente de gestión
de bloqueos que elimina los reintentos de bloqueo y el correspondiente tráfico de red.
Advantage Database Server implementa un algoritmo interno de colas, que permite realizar
bloqueos sin que sea necesario llamar a la API del sistema operativo de red. Toda la
información de bloqueo se mantiene internamente en las colas de bloqueo. Advantage soporta
el bloqueo de índices para lectura y el bloqueo de escritura inmediata. El primer mecanismo
incrementa enormemente el rendimiento en la lectura de índices multiusuario, mientras que
las colas de bloqueo de escritura y la eliminación de reintentos aumentan el rendimiento de las
propias aplicaciones.
Cifrado de la base de datos: Advantage Database Server permite cifrar toda la información de
una base de datos. Advantage es capaz de cifrar a nivel físico los registros para proteger su
contenido ante accesos no autorizados. El esquema de cifrado hace uso de una contraseña
para codificar los datos, y requiere de ella para poder mostrar los datos originales. De esta
forma, es posible asegurar la privacidad de su información en la red. El cifrado actúa tanto
sobre las tablas como sobre los archivos memo. Asimismo, los datos se transmiten de forma
cifrada por la red, con lo que las aplicaciones cliente deben disponer de la contraseña correcta
para poder mostrar la información. El sistema de cifrado de Advantage utiliza un algoritmo
estándar de 160 bits que garantiza la inviolabilidad de la información.
Advantage Database Server ofrece una gran estabilidad a la base de datos y elimina cualquier
posible corrupción al garantizar que toda operación sobre la base de datos se efectúa de forma
completa o no se efectúa. Las órdenes recibidas en el servidor se ejecutan de forma completa,
con independencia del estado de la estación de trabajo, red o aplicación. Cualquier comando
que no se reciba de forma completa se ignorará, por lo que con Advantage la integridad de los
datos e índices sólo depende del servidor de ficheros y no de las estaciones de trabajo
conectadas o del estado de la red.
Claves primarias y únicas: No pueden haber dos registros de la tabla con el mismo valor para el
conjunto de columnas clave.
Restricciones a nivel de campo: Asegura que los datos introducidos en cada campo concreto de
un registro son validados a nivel lógico. Las restricciones a nivel de campo incluyen el valor
mínimo y máximo permitido, si el campo puede ser NULL y el mensaje de error asociado con la
comprobación de la restricción impuesta.
Restricciones a nivel de registro: Asegura que los datos introducidos en los campos
relacionados de un registro son válidos a nivel lógico antes de guardarlos. La restricción a nivel
de registro incluye una expresión lógica que establece la relación entre los campos de un
registro y el mensaje de error asociado.
Total escalabilidad
Advantage Data Architect es una herramienta diseñada para ayudarle a desarrollar y mantener
eficazmente sus aplicaciones Advantage. Advantage Data Architect incluye las siguientes
características:
Desarrollo:
Importa y convierte todo tipo de tablas (como Paradox, dBASE, Access y SQL Server) en tablas
compatibles con Advantage.
Configuración:
Comprueba el entorno de la estación de trabajo cliente para verificar la conexión con
Advantage Database Server.
Establece listas de control de acceso para determinar los derechos de acceso de los
usuarios que se conecten a Advantage Database Server.
Crea alias similares a los utilizados por Borland Database Engine.
Gestión:
IBM DB2:
DB2 es una familia de productos de sistema de gestión de bases de datos relacionales (RDBMS)
de IBM que sirven a varias plataformas diferentes de sistemas operativos. Según IBM, DB2
lidera en términos de participación y rendimiento en el mercado de bases de datos. Aunque los
productos DB2 se ofrecen para sistemas basados en UNIX y sistemas operativos de
computadoras personales, DB2 sigue a productos de base de datos de Oracle en sistemas
basados en UNIX y a Access de Microsoft en sistemas Windows.
Características
Permite el manejo de objetos grandes (hasta 2 GB), la definición de datos y funciones por parte
del usuario, el chequeo de integridad referencial, SQL recursivo, soporte multimedia: texto,
imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y
offline.
Además cuenta con un monitor gráfico de performance el cual posibilita observar el tiempo de
ejecución de una sentencia SQL y corregir detalles para aumentar el rendimiento.
Mediante los extensores se realiza el manejo de los datos no tradicionales, por ejemplo si
tengo un donde tengo almacenados los curriculums de varias personas, mediante este puedo
realizar búsquedas documentos con los datos que me interesen sin tener que ver los CV uno
por uno.
Ventajas
Desventajas
El DB2 - IBM es la tercera base de datos que más se vende, de acuerdo con los VARs
recientemente encuestados en el número de junio de 1996 de la revista VAR Business
Magazine. El Microsoft SQL Server se anotó un 38%, Oracle, 21%, IBM, 10%, Informix,
9%, y Sybase un 8%.
En sistemas grandes la base más usada es DB2 ya que corre en diferentes plataformas
operativas, pero en realidad, en la mayoría de los casos la decisión para optar por un
software de estas características es corporativa.
Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van a
implementar.
Influye en la elección el hardware utilizado.
Microsoft Access:
Microsoft Access. Sistema de Administración de Bases de Datos para Microsoft Windows el cual
pone a su alcance la capacidad de organizar, buscar y presentar información, aprovechando al
máximo la potencia gráfica de Windows ofreciendo métodos visuales de acceso a sus datos y
proporcionando maneras simples y directas de presentar y trabajar con su información.
Access es gráfico
por lo que aprovecha al máximo la potencia gráfica de Windows, ofreciendo métodos usuales
de acceso a los datos y proporcionando métodos simples y directos de trabajar con la
información.
Con Access
Access
Microsoft SQL Server. Es un sistema para la gestión de bases de datos creado por Microsoft, el
mismo se basa en el modelo relacional. Sel Server utiliza como lenguajes de consulta T-SQL y
ANSI SQL.
Características
Microsoft SQL Server revoluciona el concepto de Base de datos para la Empresa. Reúne en un
sólo producto la potencia necesaria para cualquier aplicación empresarial, crítica junto con
unas herramientas de gestión que reducen al mínimo el coste de propiedad. Con Microsoft SQL
Server, la empresa tiene todo de serie
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Incluye también un potente entorno gráfico de administración, que permite el uso de
comandos DDL y DML gráficamente.
Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el
servidor y los terminales o clientes de la red sólo acceden a la información.
Además, permite administrar información de otros servidores de datos.
Oracle:
Los tipos objeto de Oracle son tipos de datos definidos por el usuario que permiten modelar
entidades complejas del mundo real en una estructura que trata cada entidad como una
unidad atómica simple en la base de datos.
A partir de la versión 10g del año 2004, se añade a los servidores la capacidad de funcionar
según el paradigma de “Grid” (o rejilla) y se ofrecen mejoras en la administración e integración
de algunos elementos que previamente no funcionaban correctamente juntos.
Ventajas
Las entidades complejas del mundo real y la lógica se pueden modelar fácilmente, lo que
permite reutilizar objetos para el desarrollo de base de datos de una forma más rápida y con
mayor eficiencia.
Los programadores de aplicaciones pueden acceder directamente a tipos de objetos Oracle, sin
necesidad de ninguna capa adicional entre la base de datos y la capa cliente. Las aplicaciones
que utilizan objetos de Oracle son fáciles de entender y mantener porque soportan las
características del paradigma orientado a objetos. Tiene buen rendimiento y hace buen uso de
los recursos. Posee un rico diccionario de datos. Brinda soporte a la mayoría de los lenguajes
de programación. Es un sistema multiplataforma, disponible en Windows, Linux y Unix. Permite
tener copias de la base de datos productiva en lugares lejanos a la ubicación principal. Las
copias de la Base de Datos productiva pueden estar en modo de lectura solamente.
Desventajas
Es un producto de elevado precio por lo que por lo general se utiliza en empresas muy grandes
y multinacionales. Los costos de soporte técnico y mantenimiento son elevados.
Vulnerabilidades en la seguridad de la plataforma, se hace necesario aplicar parches de
seguridad.
¿cuál SGBD es mejor y por qué?