lunes, 10 de septiembre de 2018

PostgreSQL


Información general
Desarrollador(es)PostgreSQL Global Development Group
Lanzamiento inicial1995
Última versión estable10.5 (info)
9 de agosto de 2018 (1 mes)
GéneroBase de datos objeto-relacional (ORDBMS)
Programado enC
Sistema operativoMultiplataforma
LicenciaPostgreSQL License1
En españolNo

¿Qué es PostgreSQL? 
PostgreSQL es un sistema de base de datos objeto-relacional que tiene las características de los sistemas de base de datos propietarios tradicionales con mejoras de los sistemas de base de datos de la nueva generación. PostgreSQL es libre y el código fuente completo está disponible.

¿Quién controla PostgreSQL?
Si está buscando un guardián, comité central o compañía controladora, dese por vencido -no hay ninguno. El proyecto es dirigido por la comunidad de desarrolladores y usuarios, a la cual cualquiera se puede unir y tener sus contribuciones juzgadas estrictamente en el mérito.
¿Cuál es la licencia de PostgreSQL?
PostgreSQL es distribuido bajo una licencia similar a BSD y MIT. Les permite a los usuarios hacer cualquier cosa que quieran con el código, incluyendo la reventa de los binarios sin el código. La única restricción es que no puede hacer legalmente responsable a los desarrolladores originales por los problemas con el software (aunque esto es, por su puesto, aparte de cualquier acuerdo que pueda hacer con 2ndQuadrant). También está el requerimiento de que este copyright aparezca en todas las copias del software.
¿Qué plataformas son soportadas por PostgreSQL?
En general, cualquier plataforma moderna compatible con Unix, como Linux, Mac OS X y FreeBSD, puede ejecutar PostgreSQL, así como Microsoft Windows. PostgreSQL no depende en el comportamiento de ninguna arquitectura en particular, por lo que casi se puede asegurar que cualquier arquitectura soportada por estos sistemas operativos es soportada por PostgreSQL.
¿Qué controladores están disponibles para PostgreSQL para mi ambiente de programación preferido?
La instalación de PostgreSQL solo incluye las interfaces de C y C embebido. Si bien hay un enorme número de controladores dirigidos a varios ambientes de programación diferentes, todas las demás interfaces son proyectos independientes que se distribuyen por separado; Esto les permite a ellos tener su propio calendario de lanzamientos y equipos de desarrolladores.
Algunos lenguajes de programación como PHP incluyen una interfaz para PostgreSQL. Interfaces para lenguajes/ambientes como Python, Perl, .Net, JDBC y muchas otras están disponibles.
¿Tiene PostgreSQL una herramienta gráfica de administración?
Hay un gran número de herramientas gráficas disponibles para PostgreSQL, tanto de desarrolladores software propietario como de código abierto. 2ndQuadrant oficialmente soporta, y de hecho emplean a un contribuidor activo del tal, la popular aplicación de escritorio de código abierto pgAdminIII. phpPgAdmin también es una herramienta popular, la cual está basada en web.
Pagina web: https://www.postgresql.org/

lunes, 3 de septiembre de 2018

Gestores de Base de Datos

MySQL

Es un sistema de gestión de base de datos relacional, multihilo y multiusuario seguramente el más usado en aplicaciones creadas como software libre.
Por un lado se ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso.
Ventajas:
  • Velocidad al realizar las operaciones
  • Bajo costo en requerimientos para la elaboración de bases de datos
  • Facilidad de configuración e instalación.

Microsoft SQL Server

Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.
Es un sistema propietario de Microsoft. Sus principales características son:
  • 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 las terminales o clientes de la red sólo acceden a la información.
  • Además permite administrar información de otros servidores de datos
Su principal desventaja es el precio, aunque cuenta con una versión EXPRESS que permite usarlo en entornos pequeños. (Aprox. unos 4GB de información y varios millones de registros por tabla) 


Oracle

Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), fabricado por Oracle Corporation.
Tradicionamente Oracle ha sido el SGBS por excelencia, considerado siempre como el más completo y robusto, destacando por:
  • Soporte de transacciones.
  • Estabilidad.
  • Escalabilidad.
  • Es multiplataforma.
Tambien siempre ha sido considerado de los más caros, por lo que no se ha estadarizado su uso como otras aplicaciones.
Al igual que SQL Server, Oracle cuenta con una versión EXPRESS gratis para pequeñas instalaciones o usuarios personales.

Microsoft Access

Es un sistema de gestión de bases de datos Relacional creado por Microsoft (DBMS) para uso personal de pequeñas organizaciones.
Se ha ofrecido siempre como un componente de la suite Microsoft Office aunque no se incluye en el paquete “básico”.
Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas.
Entre las principales funcionalidades reseñables podemos indicar que:
  • Permite crear tablas de datos indexadas.
  • Modificar tablas de datos.
  • Relaciones entre tablas (creación de bases de datos relacionales).
  • Creación de consultas y vistas.
  • Consultas referencias cruzadas.
  • Consultas de acción (INSERT, DELETE, UPDATE).
  • Formularios.
  • Informes.
  • Entorno de programación a través de VBA
  • Llamadas a la API de windows.

PostgreSQL

Es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. La comunidad PostgreSQL se denominada el PGDG (PostgreSQL Global Development Group).
Sus principales características son:
  • Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés)
  • Amplia variedad de tipos nativos: provee nativamente varios soportes
  • Ahorros considerables de costos de operación
  • Estabilidad y confiabilidad

DB2

Este SGBD es propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. Utiliza XML como motor, además el modelo que utiliza es el jerárquico en lugar del modelo relacional que utilizan otros gestores de bases de datos. Es el único de los gestores que hemos comentado que nos relacional.
Sus caracteristicas más importantes son:
  • 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.
  • Permite agilizar el tiempo de respuestas de esta consulta
  • Recuperación utilizando accesos de sólo índices.
  • Predicados correlacionados.
  • Tablas de resumen
  • Tablas replicadas
  • Uniones hash
Su principal desventaja es el precio, está dirigido solo a grandes empresas con necesidades de almacenamiento y  procesamiento muy altas.
Al igual que SQL Server y Oracle dispone de una versión EXPRESS gratis pero no de libre distribución 

  • FireBird
  • Potente y, a la vez, sencillo sistema de gestión de base de datos relacional SQL. Es uno de los mejores gestores de código abierto (Open Source) compatible con Windows y Linux. Entre otras funciones, da soporte completo para procedimientos almacenados, transacciones compatibles con las características ACID y métodos de acceso múltiple (nativo, Python, .NET, etc…).
  • MariaDB
    MariaDB   es un programa sistema de manejo de bases de datos  multiplataforma descendiente de MySQL creado en el año 2009  por el descontento de modelo de desarrollo. Se distribuye bajo la licencia GPL que es una software completamente libre y además se ha introducido dos nuevos motores de almacenamiento Aria y XtraDB en sustitución de MyISAM y InnoDB. 
    Para usar este gestor de base datos existen apis para los diferentes lenguajes de programación e incluso los mismos apis que se usan para MySQL son compatibles.
  • SQLite
    SQLite es un sistema de manejo de bases de datos de tipo modelo relacional multiplataforma, este gestor de base datos se diferencia entre los demás que son cliente-servidor, si no es una biblioteca en proceso que implementa un sistema autónomo, sin necesidad de hacer configuración. SQLite es una base de datos SQL embebido motor, que se puede  leer y escribir directamente a los archivos de disco normal, cuyo archivo  puede soportar con la versión 3 de SQLite hasta 2 Terabytes.
  • MogoDB
    MongoDB es un sistema de base de datos NoSQL multiplataforma, orientado a documentos desarrollado bajo la filosofía de software libre, los datos son guardados en la base datos  en estructuras de datos similar a JSON de JavaScript e incluso  tiene la capacidad de realizar consultas utilizando JavaScript por el cual también existen apis para distintos lenguajes de programación para realizar consultas  e informes.
    La mayoría de los gestores base datos no empaquetan un programa que nos permita administrar nuestras base de datos, para la cual existe un programa  llamado Navicat Premium, es un programa de pago que permite gestionar las bases de datos de forma mucho más cómoda e intuitiva que se puede usar para los 6 primeros sistemas gestores base de datos populares  que se menciona en este articulo, para  MongoDB se puedes optar a usar el uMongo.