jueves, 4 de febrero de 2016

Datamining (Minería de datos)


El datamining (minería de datos), es el conjunto de                                                                 técnicas y tecnologías que permiten
 
explorar grandes bases de datos, de manera automática o semiautomática, con el objetivo de encontrar patrones repetitivos, tendencias o reglas que expliquen el comportamiento de los datos en un determinado contexto.

Básicamente, el datamining surge para intentar ayudar a comprender el contenido de un repositorio de datos. Con este fin, hace uso de prácticas estadísticas y, en algunos casos, de algoritmos de búsqueda próximos a la Inteligencia Artificial y a las redes neuronales.

De forma general, los datos son la materia prima bruta. En el momento que el usuario les atribuye algún significado especial pasan a convertirse en información. Cuando los especialistas elaboran o encuentran un modelo, haciendo que la interpretación que surge entre la información y ese modelo represente un valor agregado, entonces nos referimos al conocimiento. 


Cuatro etapas principales:

  • Determinación de los objetivos. Trata de la delimitación de los objetivos que el cliente desea bajo la orientación del especialista en data mining.

  • Preprocesamiento de los datos. Se refiere a la selección, la limpieza, el enriquecimiento, la reducción y la transformación de las bases de datos. Esta etapa consume generalmente alrededor del setenta por ciento del tiempo total de un proyecto de data mining.

  • Determinación del modelo. Se comienza realizando unos análisis estadísticos de los datos, y después se lleva a cabo una visualización gráfica de los mismos para tener una primera aproximación. Según los objetivos planteados y la tarea que debe llevarse a cabo, pueden utilizarse algoritmos desarrollados en diferentes áreas de la Inteligencia Artificial.

  • Análisis de los resultados. Verifica si los resultados obtenidos son coherentes y los coteja con los obtenidos por los análisis estadísticos y de visualización gráfica. El cliente determina si son novedosos y si le aportan un nuevo conocimiento que le permita considerar sus decisiones.

1.2. Análisis de los manejadores de bases de datos


El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.


MySQL

Es un sistema de gestión de bases de datos relacional, fue creada por la empresa sueca MySQL AB, la cual tiene el copyright del código fuente del servidor SQL, así como también de la marca. 
MySQL es un software de código abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versión comercial, en lo único que se diferencia de la versión libre, es en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de otra manera, se vulneraría la licencia GPL.


PosgreSQL
  • Es una base de datos 100% ACID.
  • Soporta distintos tipos de datos: además del soporte para los tipos base, también soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP ...), cadenas de bits, etc. También permite la creación de tipos propios.
  • Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le incluye entre los gestores objeto-relacionales.
  • Copias de seguridad en caliente (Online/hot backups)
  • Unicode
  • Juegos de caracteres internacionales
  • Regionalización por columna
  • Multi-Version Concurrency Control (MVCC)
  • Multiples métodos de autentificación
  • Acceso encriptado via SSL
  • SE-postgres
  • Completa documentación
  • Licencia BSD
  • Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows 32/64bit.


Microsoft SQL Server
Es un sistema gestor de base de datos                                                                                    relacionales de Microsoft Corporation orientado a
sistemas medianos y grandes aunque también puede rodar en ordenadores personales. SQL Server Management Studio (SSMS) es la herramienta de SQL Server que permite definir y gestionar todas las bases de datos almacenadas en el servidor SQL Server 2005.

SQL (Structured Query Languaje), Lenguaje Estructurado de Consulta

Es el lenguaje utilizado para definir, controlar y acceder a los datos almacenados en una base de datos relacional.





Oracle


Oracle la Primera Base de Datos Diseñada para                                                                        Grid Computing, es un sistema de gestión
de base de datos relacional fabricado por Oracle Corporation. Oracle es básicamente un herramienta cliente/servidor para la gestión de base de datos la gran potencia que tiene y su elevado precio hace que solo se vea en empresas muy grandes y multinacionales, por norma general. Oracle Corporation : es una de las mayores compañías de software del mundo. Sus productos van desde bases de datos (Oracle) hasta sistemas de gestión. Cuenta además, con herramientas propias de desarrollo para realizar potentes aplicaciones, como Oracle Designer





Microsoft Access

Microsoft Access es un sistema de gestión de                                                                       bases de datos incluido en el paquete
ofimático denominado Microsoft Office. Igualmente, es un gestor de datos que recopila información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música, etcétera. Está pensado en recopilar datos de otras utilidades (Excel, SharePoint, etcétera) y manejarlos por medio de las consultas e informes 





Microsoft Visual Foxpro
Microsoft Visual FoxPro le ofrece más de lo                                                                                que puede esperar de un sistema de
administración de bases de datos (DBMS): velocidad, eficacia y flexibilidad. Además, Visual FoxPro le lleva hacia la próxima generación y le proporciona modelos de objetos y eventos que ayudan a crear y modificar aplicaciones con mayor rapidez que nunca.

  • Creación rápida de aplicaciones 
  • Puede programar aplicaciones rápidamente con ayuda de los asistentes, los generadores, las barras de herramientas y los diseñadores de Visual FoxPro. Con el modelo de objetos y eventos de Visual FoxPro, puede crear prototipos e implementar rápidamente las aplicaciones.








Firebird 

FireBird es un sistema de administración de bases de                                                                 datos de código abierto, que tiene su
origen en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Este sistema de bases de datos relacional proporciona muchas de las características implementadas en el estándar ANSI SQL.

El programa es multiplataforma y puede trabajar sistemas operativos tan dispares como Windows, Mac o Linux. Otras características de Firebird son: arquitectura cliente/servidor sobre protocolo TCP/IP; soporte para transacciones y claves foráneas; seguridad basada en usuarios y roles, y mucho más.

FireBird proporciona dos tipos distintos de servidor: Classic y Super Server. La principal diferencia entre ellos reside en la forma como se realiza la conexión, ya que Super Server crea hilos independientes para cada una.



mSQL (Mini SQL):

mSQL (Mini SQL): se trata de un gestor de bases de datos ligero, diseñado para proporcionar acceso rápido a conjuntos relativamente pequeños de datos almacenados en sistemas con poca memoria. Implementa un subconjunto de SQL e inicialmente fue desarrollado como un proyecto académico en código abierto



 IBM DB2

  • 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
  • DB2 utiliza una combinación de seguridad externa y control interno de acceso a proteger datos.
  • DB2 proporciona un juego de datos de acceso de las interfaces para los diferentes tipos de usuarios y aplicaciones.
  • DB2 guarda sus datos contra la pérdida, acceso desautorizado, o entradas inválidas.
  • Usted puede realizar la administración de la DB2 desde cualquier puesto de trabajo.
  • La tecnología de replicación heterogénea (heterogeneous replication) en SQL Server permite la publicación automática de los datos en otros sistemas que no sean SQL Server, entre los que se incluyen DB2.
  • La mayoría de los que utilizan equipos IBM utilizan DB2 porque es confiable y tiene un muy buen soporte técnico".
  • El DB2 se basa en dos ejes que lo hacen fuerte en su rendimiento: utiliza un sistema multiprocesador (SMP) simétrico y un sistema de procesador paralelo masivo.
  • El DB2 distribuye y recuerda la ubicación de cada pista donde se encuentra la información. En el contexto de una larga base de datos, este sistema de partición hace que la administración sea mucho más fácil de manejar que una base de datos de la misma medida no particionada.
  • La base de datos se puede programar para tener una exacta cantidad de particiones que contienen la información del usuario, índice, clave de transacción y archivos de configuración. De esta forma, los administradores definen grupos de nodos, que son una serie de particiones de la base, lo que posteriormente facilita cualquier búsqueda.


IBM Informix


nInformix:Es un gestor de base de datos creado por informix sofware Inc. Incluye un RDBMS (sistema Administrador de Base de datos relacionales/ Relational Data Base Manager System) basado en SQL,un lenguaje de cuarta generación y juegos de herramientas para la inclusión de SQL en programas de aplicación.





SQLite

SQLITE es un gestor de bases de datos muy ligero y potente.                                                    Por sus características se
utiliza en una gran variedad de aplicaciones, como Skype, Mozilla Firefox, Adobe Photoshop Elements, el navegador web Opera, …; y por supuesto en KEME-Contabilidad, donde es una alternativa para el almacenamiento de las contabilidades, junto con MySQL y PostgreSQL.

Las bases de datos bajo SQLITE se almacenan en un archivo que puede ser accedido por un programa monitor interactivo en modo texto denominado “sqlite3”. Mediante esta aplicación se pueden efectuar consultas y ediciones utilizando sentencias SQL.



Sybase ASE

Gestión de grandes conjuntos de Datos: 

  • Compresión — permite almacenar de forma más compacta grandes bases de datos y reduce los tiempos de I/O para asegurar un alto rendimiento hasta en las bases de datos más grandes
  • Latencia de Query Reducida — ayuda a manejar mejor grandes conjuntos de datos, especialmente esos que usan SQL dinámico para una recuperación de datos interactiva
  • Rendimiento de Replicación — incrementa el rendimiento de la tecnología líder en la industria de replicación de transacciones y sincronización
  • Mejoras para Hardware Paralelo — mejora la optimización para arquitecturas de CPU multi-core/multi-threaded para obtener el máximo rendimiento de los últimos procesadores de hoy en día 


Administración Simplificada:
  • Operaciones en Líneas — incrementa la disponibilidad de datos mientras permite que la misma sea optimizada para el rendimiento de las aplicaciones
  • Diagnósticos Extendidos — permite a los DBAs identificar rápidamente los cuellos de botella y acelerar los requerimientos de soporte al cliente
  • Fuerte Encriptación de Contraseñas — protege la base de datos de hackers e intrusiones externas
  • Single Sign-on y Perfil de Login — hace más fácil administrar grandes números de usuarios y simplifica el acceso de usuarios finales al sistema 


Facilidad de desarrollo de aplicaciones:
  • Manejo Eficiente de Grandes Objetos — Gestión en línea de grandes objetos así como características mejoradas de desarrollo de aplicaciones tales como objetos de gran tamaño como parámetros de procedimientos almacenados
  • Capacidades Mejoradas de Lenguaje de Aplicaciones — múltiples características mejoradas de lenguaje TransactSQL™ para incrementar la productividad de los desarrolladores de aplicaciones así como el soporte para una variedad de lenguajes populares como Python, PHP y Perl
  • Un DB de Clase Empresarial para aplicaciones ISV — rendimiento critico de negocios mejorado para aplicaciones “out of the box” para proveedores de software independientes (ISV), permitiendo a éstos escribir y portar fácilmente sus aplicaciones a ASE 15

 Paradox

  • Una consulta visual por ejemplo de implementación que fue apoyada por un motor de inteligencia artificial.
  • Uso eficaz de la memoria (convencional, además de ampliarse y ampliación)
  • Mesas de almacenamiento en caché de datos y, en particular, los índices que causó la paradoja para ejecutar tareas muy rápidamente, en contraste con las habilidades necesarias explícita para optimizar el rendimiento xBase.
  • Un lenguaje de programación innovadora de la paradoja de Idioma de la -Aplicación (PAL) que era legible, poderosa, y puede ser registrado en las acciones del teclado (y no como Lotus 1-2-3 grabación macro).
  • Lotus-como los menús y ventanas de texto que era la interfaz nativa (a diferencia de Base que tenía una interfaz de línea de comandos con los menús en capas en la parte superior).
  • Particularmente en Paradox 1.0 y 2.0, el usuario y manuales de programación ganado premios lectura
  • Fueron bien ilustrada, bien presentado y las explicaciones fueron escritos en inglés comunes.




dBase

dBASE fue el primer Sistema Gestor de Bases de Datos SGBDR usado ampliamente para microcomputadoras, publicado por Ashton-Tate para CP/M, y más tarde para Apple II, Apple Macintosh e IBM PC bajo DOS donde con su legendaria versión III Plus se convirtió en uno de los títulos de software más vendidos durante un buen número de años. dBASE nunca pudo superar exitosamente la transición a Microsoft Windows y terminó siendo desplazado por productos más nuevos como Paradox, Clipper, y FoxPro.

martes, 2 de febrero de 2016

Unidad 1.Perspectiva práctica de la administración de bases de datos

1.1. Administrador de Base de Datos (DBA) 

Un administrador de bases de datos (o DBA) tiene la responsabilidad de 
mantener y operar las bases de datos que conforman el sistema de información de una compañía.

Debido a la importancia de los datos que están a su cargo, el administrador de bases de datos debe ser experto en TI (tecnología de la información), teniendo particular conocimiento de DBMS (sistemas de administración de bases de datos) y el lenguaje de consulta SQL. También debe tener conocimiento de varios tipos de lenguaje de programación para poder automatizar ciertas tareas. Una de sus tareas es la de asegurar la integridad del sistema de información de la compañía. Además, es necesario que posea un buen entendimiento de DBMS para optimizar las consultas, ajustar la configuración de DBMS o para sincronizar en forma precisa las herramientas de control del acceso a las bases de datos.

Es posible que el administrador de bases de datos tenga que brindar asistencia técnica a usuarios de las aplicaciones cliente o equipos de desarrollo para solucionar problemas, dar consejos o ayudar a resolver consultas complicadas.



1.1.1 Funciones de un DBA

Los DBA realizan pruebas de rendimiento, pruebas de impacto, pruebas funcionales, pruebas de código, ruebas de carga de datos, pruebas de implementación y pruebas de integración en proyectos Investigación, desarrollo e innovación. Para la ejecución de pruebas es necesario aplicar las metodologías basadas en Ingeniería del software, sus aplicaciones funcionales y los requerimientos de calidad, añadiendo las líneas base de la ingeniería requerimientos en la inteligencia de negocios y las tecnologías de la información.





1.1.2 Relación del DBA con otras áreas de los Sistemas.

En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es sólo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales. Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.


Esquema “Relación entre una base de datos”