martes, 28 de febrero de 2017

2. MySQL


Descripción
MySQL. Sistema de gestión de base de datos relacional y multiusuario con más de seis millones de instalaciones. Por un lado, se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.
MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.
Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

S.O soportados
  • ·         AIX
  • ·         BSD
  • ·         FreeBSD
  • ·         HP-UX
  • ·         GNU/Linux
  • ·         Mac OS X
  • ·         NetBSD
  • ·         Novell Netware
  • ·         OpenBSD
  • ·         OS/2 Warp
  • ·         QNX
  • ·         SGI IRIX
  • ·         Solaris
  • ·         SunOS
  • ·         SCO OpenServer
  • ·         SCO UnixWare
  • ·         Tru64
  • ·         eBD
  • ·         Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows Server 2000, 2003 y 2008 Windows.


Aplicaciones
MySQL es muy utilizado en apliciones web, en plataformas Linux/Windows-Apache-MySQL-PHP/Perl/Python, y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante adelantar monitoreos sobre el desempeño para detectar y corregir errores tanto de SQL como de programacion.


Escalabilidad
El servidor de bases de datos MySQL ofrece lo último en escalabilidad, siendo capaz de manejar bases de datos empotradas ocupando sólo 1MB, y hacer funcionar data warehouses que contengan terabytes de información.
Ø  Usuarios concurrentes: Mysql tiene su numero limitado de usuarios concurrentes que va directamente proporcional al de "hilos" creados o mejor dicho de conexiones establecidas (sean permanentes o no).

Ø Transacciones: Las transacciones aportan una fiabilidad superior a las bases de datos. Si disponemos de una serie de consultas SQL que deben ejecutarse en conjunto, con el uso de transacciones podemos tener la certeza de que nunca nos quedaremos a medio camino de su ejecución. De hecho, podríamos decir que las transacciones aportan una característica de "deshacer" a las aplicaciones de bases de datos.

Para este fin, las tablas que soportan transacciones, como es el caso de InnoDB, son mucho más seguras y fáciles de recuperar si se produce algún fallo en el servidor, ya que las consultas se ejecutan o no en su totalidad. Por otra parte, las transacciones pueden hacer que las consultas tarden más tiempo en ejecutarse.

Los pasos para usar transacciones en MySQL son:
·         Iniciar una transacción con el uso de la sentencia BEGIN.
·         Actualizar, insertar o eliminar registros en la base de datos.
·         Si se quieren los cambios a la base de datos, completar la transacción con el uso de la sentencia COMMIT. Únicamente cuando se procesa un COMMIT los cambios hechos por las consultas serán permanentes.
·         Si sucede algún problema, podemos hacer uso de la sentencia ROLLBACK para cancelar los cambios que han sido realizados por las consultas que han sido ejecutadas hasta el momento.


Ø  Herramientas de apoyo: La herramienta más conocida para administrar el servidor de MySQL es phpmyadmin. Una muy buena herramienta que se accede a través de un entorno web.
Pero hay otras muy buenas herramientas de escritorio que también  pueden usarse para gestionar MySQL .  MySQL Workbench es una herramienta propia de la companyia de MySQL. Esta herramienta es la suma de las herramientas que existian (MySQL Administrator, MySQL Migration Toolkit, MySQL Browser Query) y que ahora agrupa todas sus funcionalidades en una sola.
A partir de ahora, MySQL WorkBench cubre todas las necesidades básicas para hacer el todo el proceso de diseño, desarrollo y consultas en modo gráfico.
Otra herramienta de MySQL y quizá menos conocida es Toad for MySQL. Esta herramienta de la casa de Quest Software, empresa dedicada al software para la administración de las bases de datos, pone a nuestra disposición una herramienta gratuita muy útil para los desarrolladores de SQL y administradores, te permite crear y ejecutar tus consultar, automatizar la gestión de los objetos de la base de datos y hacer el código SQLmás eficiente.


Ø  Soporte técnico: Los servicios de soporte técnico de MySQL proporcionan acceso directo a los expertos ingenieros de soporte de MySQL que están listos para ayudar al público en el desarrollo, implementación y administración de aplicaciones MySQL.
El equipo de soporte de MySQL está compuesto por desarrolladores experimentados de MySQL. Son expertos en bases de datos y entienden los problemas y desafíos que enfrenta porque han superado estos mismos desafíos.
A pesar de que puede tener personal técnico altamente cualificado que puede resolver sus problemas, los ingenieros de soporte de MySQL normalmente pueden resolver los mismos problemas mucho más rápido. Una gran mayoría de los problemas que los ingenieros de soporte de MySQL encuentran, han visto antes. Así que un problema que podría tomar varias semanas para que su personal investigue y resuelva, puede ser resuelto en cuestión de horas por el equipo de soporte de MySQL.
Para tener más acceso al sooprte técnico de MySQL se puede visitar la página principal https://www.mysql.com/support/ .

Ø  Tipo de licencia: se distribuye bajo los términos de la
Licencia Publica General GNU, pero no es totalmente hostil al "payware"
(software comercial) ya que hay una licencia comercial disponible para
aquellos que quieran distribuir aplicaciones no GPL que requieran MySQL.
Para saber si tiene que adquirir licencias para aplicaciones no GPL,
las palabras clave son "distribuir" y "requerir".
Para poder distribuir aplicaciones no GPL que requieran MySQL deberá
adquirir una licencia comercial por cada aplicación y máquina servidora
corriendo MySQL.
La licencia tiene un valor unitario de $200 (USD), y puede comprar
muchas licencias antes de usarlas para sacar partido de importantes
descuentos.

Ø  Última actualización:  5.7.6

Clientes importantes que la usan:
Usuarios Destacados
·         Pacific Soft - Sistemas inteligentes de Punto de venta
·         Amazon.com
·         Cox Communications - La cuarta televisión por cable más importante de EEUU, tienen más de 3.600 tablas y aproximadamente dos millones de inserciones cada hora.
·         Google - Para el motor de búsqueda de la aplicación AdWords.
·         NASA
·         Net QOS, usa MySQL para la gestión de algunas de las redes más grandes del mundo como las de Chevron, American Express y Boeing.
·         Nokia, usa un cluster MySQL para mantener información en tiempo real sobre usuarios de redes de móviles.
·         Palcasa Palmas Aceiteras de CentroAmerica en sus Sistemas Administrativos de Orden Financiero (Basculas,Inventarios y otros).
·         Universidad de Piura Campus Lima, para su sistema académico denomidado SIAD.
·         Wikipedia, sirve más de 200 millones de consultas y 1,2 millones de actualizaciones cada día, con picos de 11.000 consultas por segundo.
·         WordPress, con cientos de blogs alojados en él.

Ø  Requisitos de instalación:
512MB de memoria RAM
1024 Mb de memoria virtual
1 GB de espcio de Disco Duro
Sistema operativo: Windows, Linux, unix.
Arquitectura del sistema 32/64 bits
Protocolo de red TCP/IP

Ø  Requisitos de hardware / software y Requisitos de almacenamiento:
Los siguientes requisitos se aplican a todas las instalaciones:
Componentes
Requisito
.Net
Framework
SQL Server 2016 RC1 y las versiones posteriores necesitan .NET Framework 4.6 para el Motor de base de datos, Master Data Services o la replicación. El programa de instalación de SQL Server 2016 instala automáticamente .NET Framework. .NET Framework también se puede instalar manualmente desde Microsoft .NET Framework 4.6 (instalador web) para Windows.

Para ver más información, recomendaciones y directrices sobre .NET Framework 4.6, consulte la Guía de implementación de .NET Framework para desarrolladores.

Windows 8.1 y Windows Server 2012 R2 necesitan KB2919355 para instalar .NET Framework 4.6.
Software de red
Los sistemas operativos admitidos para SQL Server 2016 tienen software de red integrado. Las instancias con nombre y predeterminadas de una instalación independiente admiten los siguientes protocolos de red: Memoria compartida, Canalizaciones con nombre, TCP/IP y VIA.
Nota: la memoria compartida y VIA no se admiten en clústeres de conmutación por error.
Además, el protocolo VIA está en desuso. Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.
Disco duro
SQL Server 2016 requiere un mínimo de 6 GB de espacio disponible en disco.
Las necesidades de espacio en disco variarán según los componentes de SQL Server 2016 que instale.
Unidad
Para la instalación desde disco se necesita una unidad de DVD.
Monitor
SQL Server 2016 requiere Super VGA (800x600) o un monitor de una resolución mayor.
Internet
La funcionalidad de Internet necesita acceso a Internet (no necesariamente de carácter gratuito).
 Nota: la ejecución de SQL Server 2016 en una máquina virtual será más lenta que la ejecución nativa, dada la sobrecarga de virtualización.
Los siguientes requisitos de memoria y procesador se aplican a todas las ediciones de SQL Server 2016



Componentes
Requisito
Memoria*
Mínimo:
Ediciones Express: 512 MB
Todas las demás ediciones: 1 GB
 Recomendado:
Ediciones Express: 1 GB

Todas las demás ediciones: al menos 4 GB y debe aumentar a medida que el tamaño de la base de datos aumente para asegurar un rendimiento óptimo.
Velocidad del procesador
Mínimo: Procesador x64: 1,4 GHz
 Recomendado: 2 GHz o más
Tipo de procesador
Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel EM64T Intel Pentium IV compatible con EM64T
Nota: La instalación de SQL Server 2016 es posible únicamente en procesadores x64. Ya no es viable en procesadores x86.
La memoria mínima necesaria para instalar el componente Servidor de calidad de datos en Data Quality Services (DQS) es 2 GB de RAM, que es diferente del requisito de memoria mínima de SQL Server 2016.



  • Requisitos de espacio en disco duro
Durante la instalación de SQL Server 2016, Windows Installer crea archivos temporales en la unidad del sistema. Antes de ejecutar el programa de instalación para instalar o actualizar SQL Server, compruebe que dispone de al menos 6,0 GB de espacio en disco en la unidad del sistema para estos archivos. Este requisito es aplicable incluso si instala todos los componentes de SQL Server en una unidad distinta de la predeterminada.
Los requisitos reales de disco duro dependen de la configuración del sistema y de las características que decida instalar. En la tabla siguiente se muestran los requisitos de espacio en disco de los componentes de SQL Server 2016 :
Característica
Requisito de espacio en disco
Motor de base de datos y archivos de datos, replicación, búsqueda de texto completo y Data Quality Services
1480 MB
Motor de base de datos (como arriba) con R Services (In-Database)
2744 MB
Motor de base de datos (como arriba) con Servicio de consultas de PolyBase para datos externos
4194 MB
Analysis Services y archivos de datos
698 MB
Reporting Services
967 MB
Microsoft R Server (independiente)
280 MB
Reporting Services - SharePoint
1203 MB
Complemento Reporting Services para productos de SharePoint
325 MB
Cliente de calidad de datos
121 MB
Conectividad con las herramientas de cliente
328 MB
Integration Services
306 MB
Componentes de cliente (excepto los componentes de los Libros en pantalla de SQL Server y las herramientas de Integration Services)
445 MB
Master Data Services
280 MB
Componentes de Libros en pantalla de SQL Server para ver y administrar el contenido de la Ayuda*
27 MB
Todas las características
8030 MB
*Los requisitos de espacio en disco para el contenido descargado de los Libros en pantalla son 200 MB.
Tipos de almacenamiento para los archivos de datos
Los tipos admitidos de almacenamiento para los archivos de datos son:
  • Disco local
  • Almacenamiento compartido
  • Recurso compartido de archivos SMB


Ø 
Lenguajes soportados:
·         Ada
·         C
·         C#
·         C++
·         D
·         Delphi
·         Eiffel
·         Erlang
·         Haskell
·         Java
·         JavaScript (Node.js)
·         Objective-C
·         OCaml
·         Perl
·         PHP
·         Python
·         Ruby
·         Scheme
·         Tcl


Bibliografía:
http://www.forosdelweb.com/f18/n-usuarios-concurrentes-150812/
http://programacion.net/articulo/transacciones_en_mysql_242
http://www.atcreativa.com/blog/herramientas-para-mysql/
https://www.mysql.com/support/
http://cv.uoc.edu/web/~pberni/faqs/docs/licencia_mysql.pdf


Autor: Vanessa Yajaira Serrano Flores

No hay comentarios:

Publicar un comentario