Thursday, March 26, 2020

Resumen de los Motores de Bases de Datos

Sistemas Gestores de bases de datos Relacionales (SQL)

PosgreSQL

Este sistema gestor de base de datos relacional está orientado a objetos y es libre, publicado bajo la licencia BSD.
Sus principales características son:
  • Control de Concurrencias multiversión (MVCC)
  • Flexibilidad en cuanto a lenguajes de programación
  • Multiplataforma
  • Dispone de una herramienta (pgAdmin, https://www.pgadmin.org/) muy fácil e intuitiva para la administración de las bases de datos.
  • Robustez, Eficiencia y Estabilidad.
La principal desventaja es la lentitud para la administración de bases de datos pequeñas ya que está optimizado para gestionar grandes volúmenes de datos.
MySQL Workbench

Es el sistema gestor de bases de datos relacional por excelencia.

Es un SGBD multihilo y multiusuario utilizado en la gran parte de las páginas web actuales. Además es el más usado en aplicaciones creadas como software libre.
Las principales ventajas de este Sistema Gestor de Bases de datos son:
  • Facilidad de uso y gran rendimiento
  • Facilidad para instalar y configurar
  • Soporte multiplataforma
SQLite3

Más que un Sistema Gestor de bases de datos como tal, SQLite es una biblioteca escrita en C que implementa un SGBD y que permite transacciones sin necesidad de un servidor ni configuraciones.
Es una biblioteca utilizada en multitud de aplicaciones actuales ya que es open source y las consultas son muy eficientes.

Las principales características de SQLite son:
  • El tamaño, al tratarse de una biblioteca, es mucho menor que cualquier SGBD
  • Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) logrando gran estabilidad
  • Gran portabilidad y rendimiento
La gran desventaja de SQLite es la escalabilidad ya que no soporta bases de datos que sean muy grandes.
MariaDB

Este SGBD es una derivación de MySQL que cuenta con la mayoría de características de este e incluye varias extensiones.

Nace a partir de la adquisición de MySQL por parte de Oracle para seguir la filosofía Open Source y tiene la ventaja de que es totalmente compatible con MySQL.

Entre las principales características de este Sistema Gestor de Bases de datos se encuentran:
  • Aumento de motores de almacenamiento
  • Gran escalabilidad
  • Seguridad y rapidez en transacciones
  • Extensiones y nuevas características relacionadas con su aplicación para Bases de datos NoSQL.
No tiene desventajas muy aparentes salvo algunas pequeñas incompatibilidades en la migración de MariaDB y MySQL o pequeños atrasos en la liberación de versiones estables.

Sistemas Gestores de bases de datos No Relacionales (NoSQL)

Redis

Redis está basado en el almacenamiento clave-valor. Podríamos verlo como un vector enorme que almacena todo tipo de datos, desde cadenas, hashses, listas, etc.

El principal uso de este SGBD es para el almacenamiento en memoria caché y la administración de sesiones.

Las características principales son:
  • Atomicidad y persistencia
  • Gran velocidad
  • Simplicidad
  • Multiplataforma
MongoDB

MongoDB es un SBGD NoSQL orientado a ficheros que almacena la información en estructuras BSON con un esquema dinámico que permite su facilidad de integración.

Las principales características de MongoDB son:
  • Indexación y replicación
  • Balanceo de carga
  • Almacenamiento en ficheros
  • Consultas ad hoc
  • Escalabilidad horizontal
  • Open Source
Como desventaja principal, MongoDB no es un SGBD adecuado para realizar transacciones complejas.

Thursday, March 19, 2020

Unidad 2: ARQUITECTURA DEL GESTOR

Hacer click aquí.

Django EN PYTHON

Esta es una captura de pantalla que está satisfactoriamente instalado Django en Python3:


REDIS: SGBD NoMySQL

Se instala Redis con el comando: python3 -m pip install redis, para Python3, así como se muestra en la siguiente captura de pantalla:


Con los siguientes comandos se ingresan datos a la lista 'amigos' que se creó, se muestran las keys existen:


En la siguiente captura de pantalla se muestra la CONEXIÓN CON PYTHON de acuerdo con la llave que recién se ingresó en el ejemplo anterior que sería ''dolly'':


Las siguientes capturas de pantalla se muestran otros ejemplos de conexión con Python:




Sunday, March 15, 2020

MariaDB: instalación y comandos básicos

El siguiente link contiene una breve explicación de la instalación de MariaDB:


Ejemplos:

Crear base de datos por HeidiSQL


Creación de tabla


Agregar campos a la tabla


Crear la llave primaria de la tabla



Ahora se crea otra base de datos, incluyendo los campos en la consola de MariaDB


Se insertan datos a la tabla


Se comprueba que se agregaron en HeidiSQL


Se elimina un campo de la tabla


Se comprueba



Wednesday, March 11, 2020

MNEMÓNICO

En informática, un mnemónico o nemónico es una palabra que sustituye a un código de operación (lenguaje de máquina), con lo cual resulta más fácil la programación, es de aquí de donde se aplica el concepto de lenguaje ensamblador.

Un ejemplo común de mnemónico es la instrucción MOV (mover), que le indica al microprocesador que debe asignar datos de un lugar a otro. El microprocesador no entiende palabras, sino números binarios, por lo que es necesaria la traducción del término mnemónico a código objeto.
 

Lenguaje Ensamblador

El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas informáticos de bajo nivel, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.

La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en el se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria.

Ventajas
  • Como trabaja directamente con el microprocesador al ejecutar un programa, pues como este lenguaje es el mas cercano a la máquina la computadora lo procesa mas rápido.
  • Eficiencia de tamaño: Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan librerías y demás como son los lenguajes de alto nivel.
  • Flexibilidad porque todo lo que puede hacerse con una máquina, puede hacerse en el lenguaje ensamblador de esta máquina; los lenguajes de alto nivel tienen en una u otra forma limitantes para explotar al máximo los recursos de la máquina.
Desventajas
  • Tiempo de programación: Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso, en comparación con un lenguaje de alto nivel.
  • Programas fuente grandes: Por las mismas razones que aumenta el tiempo, crecen los programas fuentes, simplemente requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.
  • Peligro de afectar recursos inesperadamente: Que todo error que podamos cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la maquina, programar en este lenguaje lo más común que pueda pasar es que la máquina se bloquee o se reinicie.
Ejemplo: