Analisis y Opiniones de SMDB

El dia de hoy les traigo un analisis de varios manejadores de bases de datos que podemos encontrar hoy en dia, mas especificamente con aquellos con los que he tenido cierta experiencia personal o me ha tocado escuchar de ellos.

No mencionare Mysql dado que ya es muy común y lo que es bueno es ver cosas nuevas.





SQLITE

QLite es una herramienta de software libre, que permite almacenar información en dispositivos empotrados de una forma sencilla, eficaz, potente, rápida y en equipos con pocas capacidades de hardware, como puede ser una PDA o un teléfono celular. SQLite implementa el estándar SQL92 y también agrega extensiones que facilitan su uso en cualquier ambiente de desarrollo. Esto permite que SQLite soporte desde las consultas más básicas hasta las más complejas del lenguaje SQL, y lo más importante es que se puede usar tanto en dispositivos móviles como en sistemas de escritorio, sin necesidad de realizar procesos complejos de importación y exportación de datos, ya que existe compatibilidad al 100% entre las diversas plataformas disponibles, haciendo que la portabilidad entre dispositivos y plataformas sea transparente.

Historia:

Cuando D. Richard Hipp trabajaba desarrollando Software para la fuerza naval de los Estados Unidos, comenzó a desarrollar SQLite, según él por una necesidad personal para su uso personal. En Enero de 2000 D. Richard Hipp estaba trabajando con su equipo del General Dynamics en la Fuerza naval de los Estados Unidos, en un proyecto de software, el cual se conectaba a una base de datos Informix, el motor funcionaba muy bien, pero habían tenido problemas para hacer una reconfiguración cuando el sistema se reiniciaba. Luego cambiaron a PostgreSQL, pero administrar la base de datos era un poco más complejo. Fue en ese momento cuando surgió la idea de escribir un simple motor de base de datos SQL que permitiera leer los archivos del disco duro, y luego ser llamados en diferentes solicitudes.

Cinco meses más tarde comenzó a escribir las primeras versiones de lo que se conoce hoy como SQLite, con el pensamiento de que sería útil en algún problema similar.

Ventajas:

  • No requiere configuración.
  • No se requiere uso de servidor (proceso activo para atender la peticiones)
  • Fácilmente portable (multiplataforma Windows, Linux, MAC, dispositivos móviles, Tablet, etc.) y posee un acceso mucho más rápido.


Desventajas:

  • Sqlite posee deficiencias en la herramienta where esta limitación está dada por el soporte para clausúras anidadas, de igual forma es notoria la falta de Claves Foráneas.
  • Desde mi punto personal no he encontrado ninguna interfaz grafica con todas las herramientas de administración o que almenos sea comodo, facil y versatil para su uso.





Redis_Logo.jpg

Redis es un motor de base de datos en memoria, basado en el almacenamiento en tablas de hashes (clave/valor) pero que opcionalmente puede ser usada como una base de datos durable o persistente. Está escrito en ANSI C por Salvatore Sanfilippo, quien es patrocinado por Redis Labs. Está liberado bajo licencia BSD por lo que es considerado software de código abierto.

Historia:

El desarrollo de Redis comenzó a principios de 2009 por Salvatore Sanfilippo para mejorar los tiempos de respuesta de un producto llamado LLOGG. Fue ganando popularidad, hasta que en marzo del 2010 la empresa VMWare contrató a Salvatore para trabajar a tiempo completo en Redis.​ Poco después, VMWare contrató también a otro de los principales desarrolladores de Redis, Pieter Noordhuis. Entre mayo de 2013 y julio de 2015 Salvatore Sanfilippo fue patrocinado por Pivotal Software. A partir de esta fecha es patrocinado por Redis Labs.

Ventajas:
  • Es una base de datos rapida, dado que los registros necesarios son cargados directamente a la memoria.
  • Tiene soporte en la gran mayoria de los lengujes actuales
  • Fácil configuración
  • Alta disponibilidad
  • Curva de aprendizaje baja
  • Extensible usando LUA scripting
  • Una variedad de tipos de datos (listas, sets, hash)

Desventajas:
  • Pues si eres un desarrollador en windows, hasta donde he podido investigar, no existe soporte para este sistema, existian instaladores y demas en versiones anteriores, pero actualmente el la version 5.0.3 no tiene soporte alguno, solo esta disponible para equipos linux y mac.
  • El método de persistencia RDB consume mucho I/O (escritura en disco)
  • Todos los datos trabajados deben encajar en la memoria (en caso de no usar persistencia física).
Paginas que utilizan este manejador:
  • Hulu usa Redis para mantener la posición en la que un usuario se encuentra en un vídeo, así como el histórico de visualizaciones de los usuarios.
  • Pinterest utiliza Redis para mantener la información de los usuarios y los tablones que sigue cada uno.
  • Twitter usa Redis para mantener el timeline de sus usuarios. El timeline es una lista de los tuits de las personas a las que se sigue, y Twitter usa Redis para poder actualizar en el menor tiempo posible los timelines de todos sus usuarios. Teniendo en cuenta que algunos usuarios tienen más de 60.000.000 de seguidores, actualizar todas estas listas cada vez que se escribe un tuit, se convierte en una operación crítica.
  • Flickr utiliza Redis como base del sistema de colas para mantener de manera asíncrona las tareas a realizar sobre las imágenes de los usuarios. También forma parte de la infraestructura para la generación de notificaciones push a sus usuarios.
  • Trello usa Redis para mantener toda la información efímera que es necesario compartir entre todos sus servidores.

PostgreSQL



Es un SGBD relacional orientado a objetos y de código abierto, publicado bajo la licencia de PostgreSQL. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Historia:

Inicia en 1982 con el proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con el mismo, Michael decidió volver a la Universidad en 1985 para trabajar en un nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES.

El proyecto post-ingres pretendía resolver los problemas con el modelo de base de datos relacional que habían sido aclarados a comienzos de los años 1980.

Después de que el proyecto POSTGRES terminara, dos graduados de la universidad, Andrew Yu y Jolly Chen, comenzaron a trabajar sobre el código de POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajo la BSD, y lo primero que hicieron fue añadir soporte para el lenguaje SQL a POSTGRES, dado que anteriormente contaba con un intérprete del lenguaje de consultas QUEL (basado en Ingres), creando así el sistema al cual denominaron Postgres95.

Ventajas:
  • Instalación ilimitada y gratuita.
  • Gran escalabilidad: Nos permite configurar PostgreSQL en cada equipo según el hardware. Por lo que es capaz de ajustarse al número de CPU y a la cantidad de memoria disponible de forma óptima. Con ello logramos una mayor cantidad de peticiones simultáneas a la base de datos de forma correcta.
  • Estabilidad y confiabilidad: Tiene más de 20 años de desarrollo activo y en constante mejora. 
  • pgAdmin: Se trata de una herramienta gráfica con la que podemos administrar nuestras bases de datos de forma fácil e intuitiva.
  • Estándar SQL: implementa casi todas las funcionalidades del estándar ISO/IEC 9075:2011, así pues, resulta sencillo realizar consultas e incluir scripts de otros Motores de Bases de Datos.
Desventajas:
  • Es relativamente lento en inserciones y actualizaciones en bases de datos pequeñas, PostgreSQL está diseñado para ambientes de alto volumen. Ésto hace que la velocidad de respuesta pueda parecer lenta en comparación con bases de datos de pequeño tamaño.
  • Soporte oficial: No cuenta con un soporte en línea o telefónico. PostgreSQL cuenta con foros oficiales donde los usuarios pueden exponer sus dudas que responden otros usuarios de la comunidad. También, disponemos soporte empresarial como EnterpriseDB o TodoPostgreSQL. Cabe resaltar que la comunidad de usuarios PostgreSQL es una de las más activas en el mercado.
  • La sintaxis de algunos de sus comando o sentencias puede llegar a no ser intuitiva si no tienes un nivel medio de conocimientos en lenguaje SQL.
Facilidades:

  • -Es compatible con bases de datos 100% ACID
  • -Generador de copias de seguridad en caliente (Online/hot backups)
  • -Soporta los diferentes juegos de caracteres internacionales.
  • -Al igual que mysql permite la administración de usuarios y privilegios.
  • -Permite el acceso remoto a servidores de bases de datos.




Access

Microsoft Access 2013 logo.svg

Microsoft Access es un sistema de gestión de bases de datos incluido en el paquete ofimático denominado Microsoft Office.

Access es un gestor de datos que utiliza los conceptos de bases de datos relacionales y pueden manejarse por medio de consultas e informes. Está adaptado para recopilar datos de otras utilidades como Excel, SharePoint, etc.

La aplicación permite recopilar información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música, etc

Dentro de lo personal es considerado como la obeja negra de la familia de SGBD dado su simplicidad y ajustarse a necesidades meramente a oficina, practicamente un juguete para niños en palabras de varios desarrolladores.

Historia:

En un principio fue llamado EB ("Embedded Basic") que se utilizaría en la mayoría de software Microsoft hasta la llegada de VBA. También se buscaba que Omega funcionara como front-end para Microsoft SQL Server. Omega requería una enorme cantidad de recursos de los procesadores 386 disponibles en la época para usos comerciales, retrasando su llegada desde el primer cuatrimestre de 1990 hasta enero de 1991. Más tarde partes del proyecto fueron utilizados para otros proyectos de Microsoft. Cirrus (nombre clave para Access) y Thunder (nombre clave para Visual Basic, en el que se utilizó el motor Embedded Basic). Tras el adelanto de Access, Omega fue demostrado ante varios periodistas en 1992 y Access presentaba funciones que no tenía.

Después de la cancelación de Omega, algunos de sus desarrolladores fueron reasignados al proyecto Cirrus (la mayoría fue a parar al equipo creador de Visual Basic). Su meta era crear un competidor de productos como dBase y Paradox en el entorno Windows. El proyecto pareció condenado con la compra de FoxPro (una app de base de datos completamente diferente a Access) por parte de Microsoft, pero la compañía decidió continuar con el desarrollo de Cirrus. Al principio se asumió que el producto usaría el motor Extensible Storage Engine (Jet Blue) pero al final fue reemplazado por otro motor llamado Microsoft Jet Database Engine (Jet Red). El proyecto usó partes del código escrito para Omega y una versión pre-publicada de Visual Basic. En julio de 1992, llegó la versión final con el nombre de Access que continúa hasta el momento unicultural 2017.

Ventajas:

  • Es simple de usar
  • Si no tienes conocimiento de SQL es una buena opción
  • Suerte un completo sistema de administración de BD todo en uno.
  • Soporta grandes volumenes de información.
  • Permite la utilización de macros y formularios en VB.
Desventajas:
  • No es recomendado para bases de datos grandes.
  • Tiene un limite de hasta 3Gb por archivo.
  • Solo puede ser abierta y manejada bajo el software ACCESS de office.






Comentarios