miércoles, 29 de febrero de 2012

Motores de Bases de datos

Motores de Bases de Datos

Hay muchos motores de bases de datos hoy voy a señalar varios:

Definicion,
Lo motores de bases de datos son programas o software capaces de interactuar con el usuario para la organizacion de siertos datos.
Uno de los mas importantes si no es el mas importantes que esta en el mercado actualmente es Oracle.


Oracle es un sistema de gestion de bases de datos objeto-relacional (o ORDBMS por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando:
  • soporte de transacciones,
  • estabilidad,
  • escalabilidad y
  • Soporte multiplataforma.
Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux

.


MySQL es un sistema de gestión de bases de datos relacional, licenciado bajo la GPL de la GNU. Su diseño multihilo le permite soportar una gran carga de forma muy eficiente. MySQL fue creada por la empresa sueca MySQL AB, que mantiene el copyright del código fuente del servidor SQL, así como también de la marca.

Aunque MySQL es software libre, MySQL AB distribuye una versión comercial de MySQL, que no se diferencia de la versión libre más que en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de no ser así, se vulneraría la licencia GPL.

Este gestor de bases de datos es, probablemente, el gestor más usado en el mundo del software libre, debido a su gran rapidez y facilidad de uso. Esta gran aceptación es debida, en parte, a que existen infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de programación, además de su fácil instalación y configuración.


SQL Server es un conjunto de objetos eficientemente almacenados. Los objetos donde se almacena la información se denominan tablas, y éstas a su vez están compuestas de filas y columnas. En el centro de SQL Server está el motor de SQL Server, el cual procesa los comandos de la base de datos. Los procesos se ejecutan dentro del sistema operativo y entienden únicamente de conexiones y de sentencias SQL.

SQL Server incluye herramientas para la administración de los recursos que el ordenador nos proporciona y los gestiona para un mejor rendimiento de la base de datos. Una buena instalación y configuración de SQL Server, y sobre todo una buena administración de las herramientas que éste nos proporciona, logrará:

·  Qué las consultas que se realicen mediante sentencias SQL obtengan un tiempo de
respuesta óptimo.
·  Qué la memoria y la CPU de la máquina estén aprovechadas al máximo.

Transact-SQL es el lenguaje que utiliza SQL Server para poder enviar peticiones tanto de consultas, inserciones, modificaciones, y de borrado a las tablas, así como otras peticiones que el usuario necesite sobre los datos. En definitiva, es un lenguaje que utiliza SQL Server para poder gestionar los datos que contienen las tablas.




CouchDB, oficalmente Apache CouchDB, es una base de datos orientada a documentos (document-oriented database), también conocido como ‘NoSQL’, que puede ser consultada e indexada usando JavaScript como función MapReduce.

CouchDB ofrece una API (Application Programming Interface) RESTful (Representational State Transfer) en JSON que puede ser accedida vía peticiones HTTP. Hay muchas librerías para casi cualquier lenguaje de programación que facilitan el acceso.

CouchDB está escrito en Erlang, un lenguaje de programación funcional robusto ideal para construir sistemas distribuidos simultáneos, lo que permite un diseño flexible y fácilmente escalable y extensible.






Apache Cassandra es una Base de Datos no relacional (NO SQL), distribuida y basada en un modelo de almacenamiento de Clave-Valor, escrita en Java.

Cuando uno piensa en bases de datos, inevitablemente vienen a la cabeza palabras tales como tablas, primary keys, foreign keys, integridades referenciales, índices, relaciones y cosas así. Y cuando uno trata de pasar de un modelo entidad - relación al modelo relacional, piensa en normalización, en evitar duplicidad de datos, ACID, etc...

Pero no todas las aplicaciones tienen las mismas necesidades de consistencia de datos. Y es que existe un  teorema que explica que no podemos tener todo (Consistencia, Alta disponibilidad y Tolerancia a fallos) y que hemos de elegir dos. Y no todas las aplicaciones tienen las mismas necesidades. En algunos casos, nuestras aplicaciones necesitan almacenar gran cantidad de información que ha de ser accedida de manera casi instántanea y estar disponible 24x7. Pensad en aplicaciones tipo facebook o twitter (no creo que sea necesario poner los enlaces). Para este tipo de aplicaciones es donde entra en juego esta nueva forma de plantear los motores de bases de datos. En este caso la forma de plantearse el modelo de datos es diferente. En un modelo relacional típico, uno crea un esquema de datos normalizado que permite solicitar cualquier consulta y añade índices a las tablas que permitan acelerar dichas consultas. En este nuevo esquema de datos, uno ha de plantearse primero que consultas va a realizar y crea el esquema en base a conseguir el máximo rendimiento en los accesos a esa información y si es necesario duplica los datos para conseguir mejor rendimiento. Se podrí decir que casi crea un "mapa" de datos apropiado para cada consulta que se vaya a realizar

MonetDB es un código abierto orientada a columnas de base de datos del sistema de gestión desarrollado en el Centrum y Wiskunde Informatica (CIT) en el los Países Bajos . Fue diseñado para proporcionar un alto rendimiento en consultas complejas para grandes bases de datos, por ejemplo, la combinación de tablas con cientos de columnas y filas de varios millones. Como tal, MonetDB se puede utilizar en aplicaciones zonas que, debido a problemas de rendimiento son no-go áreas para el uso de la tecnología de base de datos tradicional en un tiempo real manera. MonetDB se ha aplicado con éxito en aplicaciones de alto rendimiento para la minería de datos , OLAP , GIS , XML Query , el texto y multimedia de recuperación.
 
MonetDB representación interna de datos basado en memoria, basándose en la gran memoria frente a los rangos de las CPUs actuales con paginación por demanda , y por lo tanto partiendo de los diseños tradicionales de DBMS que implica un manejo complejo de almacenes de datos grandes en la memoria limitada.

Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1. 

Es una base de datos relacional que puede ser utilizada en Linux, Windows y varias plataformas UNIX, y ofrece un alto rendimiento y potente soporte de lenguajes para procedimientos almacenados y triggers. 

No hay comentarios:

Publicar un comentario