ADMINISTRACION BASE DE DATOS PARTE 3


OPEN SOURCE



¿Qué es?
Open Source o Código abierto, es el término con el que se conoce al software distribuido y desarrollado libremente. El código abierto tiene un punto de vista más orientado a los beneficios prácticos de compartir el código que a las cuestiones éticas y morales las cuales destacan en el llamado software libre.



¿Qué es?
DBMS (Data Base Management System). Son las siglas en inglés para los Sistemas de Gestión de Bases de Datos (SGBD). Bajo este nombre se conoce a productos de fabricantes como Oracle, Sybase, Informix, Ingres, Borland, Microsoft, IBM, etc.Sistema de administración de bases de datos. Software que controla la organización, almacenamiento, recuperación, seguridad e integridad de los datos en una base de datos. Acepta solicitudes de la aplicación y ordena al sistema operativo transferir los datos apropiados.Los DBMS pueden trabajar con lenguajes de programación tradicionales (COBOL, C, etc.) o pueden incluir su propio lenguaje de programación. Por ejemplo, dBASE y Paradox son programas de base de datos con un DBMS, un lenguaje completo de programación y un lenguaje de cuarta generación, haciendo de ellos sistemas completos de desarrollo de aplicaciones. Los comandos de los lenguajes de cuarta generación permiten a los usuarios crear en forma interactiva archivos de bases de datos, editarlos, formular preguntas e imprimir informes sin necesidad de programación. Miles de aplicaciones han sido desarrolladas en ambientes como éstos.



A continuación daremos una lista de DBMS Open Source.

1. PostgreSQL: 


Resultado de imagen para postgresql
PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia PostgreSQL,​ similar a la BSD o la MIT.

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.



2. FirebirdSQL:

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++.





3. MariaDB:

MariaDB Logo.png
MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL (General Public License). Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, APIs y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.



4. Apache derby:

Resultado de imagen para Apache derby logo
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.




5. Cubrid Manager:


Resultado de imagen para cubrid manager
CUBRID es un sistema de gerencia de base de datos de la abrir-fuente (DBMS) optimizado para los servicios del Web. CUBRID asegura alto rendimiento, estabilidad, scalability, y alta disponibilidad cuáles se requieren para los usos misión-críticos del Internet.






    Software de SGBD que elegimos.

     PostgreSQL:

    Resultado de imagen para postgresqlElegimos PostgreSQL soporta distinto tipos de datos: ademas del soporte para los tipos base, también soporta datos tipo fecha, monetarios, elementos gráficos, datos sobre redes, cadenas de bits, etc. Esto es gracias a que posee un  conjunto muy amplio de características que le otorgan gran flexibilidad y nos permiten "afinar" nuestro modelo de datos a nuestras necesidades.

    Por otro lado no parece ser muy difícil de usar para los usuarios que utilizan este SGBD ya que cuenta con estas 5 características:

    1 - Hot Standby

    Esta característica permite que los clientes puedan conectarse al servidor y ejecutar búsquedas en la base de datos mientras éste se encuentra en modo de recuperación o stand by. También le permite pasar de este modo a modo normal sin parar el flujo de búsquedas de los usuarios y manteniendo las conexiones abiertas. Es importante mencionar que todo este proceso ocurre mientras la base de datos se encuentra en modo de solo-lectura.

    2 - JSON(B)

    El punto débil de las bases de datos relacionales es que no son eficientes en el manejo de objetos en formato JSON. Sin embargo, PostgreSQL posee excelentes funciones con las que puedes indexar elementos y hacer búsquedas avanzadas en este formato. Es importante señalar que no es conveniente tener toda la base de datos en JSON. Es mejor usarlo para guardar la información de un solo elemento e indexar alguna de sus propiedades.

    3 - Notificaciones Real-time

    PostgreSQL no está diseñada para ser una base de datos que trabaja al 100% en tiempo real. Pero nos ofrece las funciones LISTENUNLISTEN NOTIFY que nos facilitan el envío de notificaciones asíncronas a todos los procesos conectados a la base de datos. Esto es muy útil cuando tienes, por ejemplo, un servidor para los clientes conectados por web y otro para los clientes conectados por celular. De esta manera, sería posible enviar notificaciones cuando se hacen cambios específicos en la base de datos. Además, tendríamos la opción de incluir los detalles del cambio en forma de texto (y los clientes pueden aplicarlos a su copia local) o simplemente usarlo para informar a las aplicaciones cliente que deben volver a descargar cierto elemento de la base de datos. Gracias a estas funciones podemos crear un sistema de datos que se mantiene sincronizado en todos nuestros clientes de forma asíncrona y nos da un gran control sobre el proceso.

    4 - Point In Time Recovery (PITR)

    Una característica muy interesante de PostgreSQL es que registra cada transacción en el write-ahead-log (WAL). Este nos permite restaurar nuestra base de datos a cualquier punto en el tiempo replicando la lista de cambios desde el checkpoint más cercano. Esto es particularmente útil cuando estamos trabajando con bases de datos muy grandes en las que no es práctico hacer respaldos completos de forma frecuente.

    5 - Streaming Replication

    PostgreSQL nos ofrece varios servicios que son útiles al escalar nuestra base de datos. Por ejemplo, Streaming replication envía constantemente el estado del WAL a nuestros servidores de respaldo. Estos aplican los cambios para mantener actualizadas las copias que tienen almacenadas y son los encargados de la funcionalidad Hot Standby.

    Comentarios

    Entradas populares de este blog

    Multiplicacion

    EMU8086

    Suma de dos numeros