ACTIVIDAD II
ACTIVIDAD 2 MySQL
Crear una nueva pagina en el menú del sitio web de cada uno (Webnode) dentro de la opción Actividades que esta dentro de base de datos con el nombre de Actividad II MySQL y en ella desarrollar las siguiente actividad:
1. Que es MySQL
2. Que aplicaciones o para que se utiliza MySQL
3. Requerimientos para instalar MySQL
4. Versiones de MySQL haciendo énfasis en las tres últimas
5. En que plataformas se puede instalar MySQL
Nota: recuerde acompañar las respuestas de imágenes y videos, además pegar las fuentes o link de donde se consulta, aportes personales y comentario de los videos.
1. Que es MySQL
MySQL es un sistema de gestión de bases de datos relacionales (RDBMS) de código abierto respaldado por Oracle y basado en el lenguaje de consulta estructurado (SQL). MySQL funciona prácticamente en todas las plataformas, incluyendo Linux, UNIX y Windows. Aunque puede utilizarse en una amplia gama de aplicaciones, MySQL se asocia más a menudo con las aplicaciones web y la publicación en línea.
MySQL es un componente importante de una pila empresarial de código abierto llamada LAMP. LAMP es una plataforma de desarrollo web que utiliza Linux como sistema operativo, Apache como servidor web, MySQL como sistema de gestión de bases de datos relacionales y PHP como lenguaje de scripting orientado a objetos (a veces se utiliza Perl o Python en lugar de PHP).
Originalmente concebido por la empresa sueca MySQL AB, MySQL fue adquirido por Sun Microsystems en 2008 y luego por Oracle cuando compró Sun en 2010. Los desarrolladores pueden utilizar MySQL bajo la licencia pública general GNU (GPL), pero las empresas deben obtener una licencia comercial de Oracle.
Hoy en día, MySQL es el RDBMS que está detrás de muchos de los principales sitios web del mundo y de innumerables aplicaciones corporativas y de consumo basadas en la web, como Facebook, Twitter y YouTube.
Tomado de: https://searchdatacenter.techtarget.com/es/definicion/MySQL

Aporte personal: MySQL es un programa muy usado para la gestión de las bases de datos y es un optimo programa que agiliza el proceso de entrega de información de una manera muy eficaz y potente.
2. Que aplicaciones o para que se utiliza MySQL

Aporte personal: Grandes empresas como Google necesitan de una capacidad muy robusta de albergamiento de información, y esa capacidad aumenta debido a la demanda de usuarios por la utilización de sus servicios.
3. Requerimientos para instalar MySQL
Requerimientos basicos para MySQL:
- 512 Mb de memoria Ram
- 1024 Mb maquina virtual
- 1 GB de espacio de disco duro
- Sistema operativo:Windows,Linux y Unix
- Arquitectura del sistema 32/64 bit
- Protocolo de red TCP/IP
Tomado de: https://lopez-garcia-victor.blogspot.com/2012/08/11-requerimientos-e-instalacion-del-sgbd.html
Aporte personal: La importancia de usar requerimientos mínimos de software y hardware viene en todos los programas, ¿por qué? por que esto nos indica si nuestro sistema operativo o si los componentes de nuestra computadora están aptos para la capacidad de entrada y salida de información que designará el programa.
4. Versiones de MySQL haciendo énfasis en las tres últimas
OPTIMIZE TABLE
ALTER TABLE ... FORCE
ALTER TABLE ... ENGINE=INNODB (when run on an InnoDB table)

Los índices espaciales para InnoDB
Una característica muy esperada, ya que su ausencia impidió, por ejemplo, que muchas empresas usasen como tecnología de almacenameinto InnoDB, mas avanzada y con una fiabilidad y consistencia muy superior a MyISAM, la anterior tecnología de tablas de MySQL.
Función st_distance_sphere
MySQL 5.7 presenta la función nativa st_distance_sphere, que utiliza una fórmula haversine para calcular la distancia entre dos puntos de la tierra, una función muy esperada también. Muchos desarrolladores han creado su propio procedimiento almacenado para calcular dicha distancia utilizando la fórmula haversine; pero la función nativa es 20 veces más rápida que el procedimiento almacenado. Cosa lógica por otra parte, ya que los procedimientos almacenados son lentos computacionalmente, especialmente para las funciones trigonométricas.
La función devuelve un valor en metros y utiliza para calcularla el radio de la tierra, con un valor por defecto de 6.370.986 metros (argumento opcional). A pesar de que nuestra tierra se asemeja más a un esferoide achatado, en la practica todas las aplicaciones utilizan la distancia sobre una esfera. La diferencia entre la fórmula haversine y otras funciones, más precisas (y mucho más lentas) es insignificante a efectos de las aplicaciones habituales.
Nuevas funciones: Geohash y GeoJSON
Otra característica geoespacial interesante de MySQL es la función GeoJSON, que permite convertir un conjunto de resultados a GeoJSON, uno de los formatos de moda para el intercambio de Información Geográfica, como nos contaban en MappingGIS hace unas semanas. De esta manera obtenemos conjuntos de datos listos para usar con la con la API de Google Maps, por ejemplo.
Geohash es un sistema para codificar coordenadas latitud y longitud en una cadena de texto creado por Gustavo Niemeyer en 2008. Con Geohash las coordenadas 40.416737, -3.703587, correspondientes al centro de Madrid, se codifican como ezjmgtxhs1v7. La nueva función permite manipular valores geohash; de esta manera las aplicaciones creadas tienen la capacidad de importar, exportar datos, indexar y buscar de valores geohash.
Gestión de geometrías con la biblioteca Boost.Geometry
Boost.Geometry es una biblioteca escrita en C ++ y en desarrollo desde 2008 que proporciona conceptos, tipos de geometría y algoritmos desarrollados para resolver problemas de geometría. Sigue el estándar del Open Geospatial Consortium (OGC) Simple Features y es independiente del sistema de coordenadas utilizado.
Su uso a partir de la versión 5.7 ha supuesto un cambio importante y es que ha sido necesario modificar gran parte del código nativo de MySQL en lo referente a la gestión de geometrías.
En MySQL eran conscientes de las limitaciones que tenían en la gestión de información geográfica, con algoritmos y geometrías muy pobres. La incorporación de Boost.Geometry aumenta la capacidad de MySQL de realizar aplicaciones SIG.

1. Rendimiento:
Más rápido que MySQL 5.72 Veces. MySQL 8.0 ofrece un mejor rendimiento en las siguientes áreas: cargas de trabajo de lectura / escritura, cargas de trabajo intensivas en E / S y cargas de trabajo de alta competencia (problemas de competencia de puntos críticos).
2. NoSQL:
MySQL desde la versión 5.7Proporcionar la función de almacenamiento NoSQL, Esta parte de la función también se ha mejorado considerablemente en la versión 8.0. Esta característica elimina la necesidad de una base de datos de documentos NoSQL separada, y el almacenamiento de documentos MySQL también proporciona documentos JSON sin esquemaSoporte de transacciones de documentos múltiplesconCumplimiento total de ACID。
3. Funciones de ventana:
A partir de MySQL 8.0, se ha agregado un nuevo concepto llamado función de ventana, que se puede usar para implementar varios métodos de consulta nuevos. Las funciones de ventana son similares a las funciones agregadas como SUM () y COUNT (), pero no combina varias filas de resultados de consulta en una fila, sino que vuelve a colocar los resultados en varias filas. Es decir, la función de ventana no requiere GROUP BY.
4. Ocultar índice:
En MySQL 8.0, los índices se pueden "ocultar" y "mostrar". Cuando el índice está oculto, el optimizador de consultas no lo utilizará. Podemos utilizar esta función para la depuración del rendimiento, por ejemplo, primero ocultamos un índice y luego observamos su impacto en la base de datos. Si el rendimiento de la base de datos disminuye, significa que el índice es útil y luego "restaurar la visualización"; si no hay ningún cambio en el rendimiento de la base de datos, significa que el índice es redundante y puede considerar eliminarlo.
5. Índice descendente:
MySQL 8.0 proporciona soporte para ordenar índices en orden descendente, y los valores en este índice también se ordenarán en orden descendente.
6. Expresiones de tabla comunes (CTE):
Cuando se usan tablas incrustadas en consultas complejas, el uso de CTE hace que la declaración de consulta sea más clara.
7. Codificación UTF-8:
A partir de MySQL 8, utf8mb4 se usa como el juego de caracteres predeterminado de MySQL.
8. JSON:
MySQL 8 ha mejorado enormemente el soporte para JSON, agregando la función JSON_EXTRACT () para extraer datos de los campos JSON basados en parámetros de consulta de ruta, y las agregaciones JSON_ARRAYAGG () y JSON_OBJECTAGG () para combinar datos en matrices y objetos JSON, respectivamente función.
9. Fiabilidad:
InnoDB ahora admite la atomicidad de la tabla DDL, es decir, el DDL en la tabla InnoDB también puede lograr la integridad de la transacción, ya sea fallando al retroceder o confirmando con éxito, de modo que no se produzca el éxito parcial de DDL. Además, también es compatible con la función a prueba de choques. Los metadatos se almacenan en un único diccionario de datos de transacciones.
10. Alta disponibilidad:
El clúster InnoDB proporciona una solución HA integrada nativa para su base de datos.
11. Seguridad:
Mejoras en OpenSSL, nueva autenticación predeterminada, roles SQL, seguridad de contraseña, autorización.
Aporte personal:

5. En que plataformas se puede instalar MySQL
MySQL se ejecuta en prácticamente todas las plataformas, incluyendo Linux, Mac y Windows.

Aporte personal:
Cuando vamos a comenzar con la instalación de un programa es fundamental saber: ¿de que trata?, ¿Qué puedo hacer con el? o si me beneficia en algo el uso del programa, la demanda de servicios tecnológicos por parte de las personas es muy alta y cada vez surgen mas problemáticas que con ayuda de la tecnología son una solución y un aporte a las TIC.


