lunes, 20 de octubre de 2014

Tema 3: Bases de Datos

Las bases de datos surgieron a raíz de la necesidad de almacenar datos informáticos. La evolución de las bases de datos ha ido ligada a la evolución que ha tenido la informática a lo largo de los años, más en concreto, la información para almacenar cada vez ha ido creciendo con el paso de los años, con lo cual se vio necesario tener un sistema para almacenar esa información. Dicho de otra forma, por ejemplo, una empresa antes de la aparición de las bases de datos, guardaban “por departamentos” la información requerida de usuarios o transacciones y solo tenían acceso los empleados de dicha empresa en cada determinado departamento. Con la aparición de las bases de datos, se permite recoger toda la información de forma integrada y estructurada, en este caso de la empresa, podría tener acceso a cualquiera de esos datos todos los empleados o en circunstancias concretas, otras empresas podrían acceder con un consentimiento a dichas bases de datos.

Podemos encontrarnos dos tipos de memorias:

Memorias volátiles : dejan de tener información cuando se le deja de suministrar energía.
Dispositivos físicos: (que suelen ser los más utilizados) son no volátiles, sin embargo, con el tiempo se van degradando. Pueden ser  el CD, discos duros, etc.

En muchas ocasiones nos hemos planteado: ¿Dónde se guardarán todas las bases de datos de empresas grandes como puede ser Google? La respuesta es en millones de dispositivos físicos y servidores, que suelen estar guardados en lugares secretos.

Una base de datos muy de moda es “The Cloud (la nube)”, ésta constituye una serie de servidores gestionados por una aplicación que presentan unos servicios al usuario a través de internet. Estos servicios son supuestamente gratuitos, el supuestamente viene a que no es del todo cierto, ya que se lucran a través de la publicidad. Otro dato que habría que añadir, es que el acceso a la nube se puede hacer a través de internet sin necesidad de tener un programa específico, puede ser el ejemplo del correo electrónico.

Las bases de datos, al ser tan extensa la cantidad de archivos, utiliza unos procedimientos para poder ordenarlos. Una forma de organización puede ser la extensión de los documentos al guardarlos y sirve para conocer la procedencia de cada archivo. Por ejemplo para los archivos de Power Point, se pondrá el nombre del archivo y se finalizará con (.ppt).

Las bases de datos, como su propio nombre indica están compuestas por datos que representan cosas, como puede ser el nombre y apellidos de una persona, número de teléfono, fecha de nacimiento, etc.
Las entidades es otro elemento que podemos encontrar y se corresponden con datos que son útiles de guardar. Mediante relación de diferentes datos podemos formar una entidad.

Para poder manejarnos fácilmente, las entidades suelen tener unas claves que pueden ser primarias o foráneas (estas últimas son claves primarias que utilizan otras empresas) que permiten acceder de forma rápida a una serie de datos concretos.

Otra forma de estructura de las bases de datos son los metadatos, que son datos sobre los datos que hay en la base d datos. Por ejemplo, considerando la tabla:

Dato
Tipo
Longitud
Apellido
Alfabético
50

Aquí tenemos información de los datos donde por ejemplo el dato apellidos será de tipo alfabético y tendrá una longitud de 50 caracteres.

Un elemento importante en este tema son las SGBD (Sistema de Gestión de Bases de Datos) que es un Software que permite manipular las bases de datos, como por ejemplo en el paquete de office podemos encontrarnos el programa Access.

Este SGBD es independiente a los datos, es decir, esto sería el gestor de la base de datos no los datos en sí mismos. Estos gestores facilitarían el acceso, seguridad y administración de las bases de datos. Hay que destacar que también permitirán un acceso simultaneo a estos datos por parte de diferentes personas, con lo cual, si ponemos por ejemplo una tienda on-line, nos permite saber en mili-segundos las modificaciones que se han hecho como puede ser un producto que estamos mirando si ya se ha vendido o no. Hay que tener en cuenta que las bases de datos están en constante instancia, que quiere decir que van cambiando, con lo cual para que pudiese funcionar correctamente una tienda on line, los dispositivos o servidores deben ser rápidos, así como los SGBD eficientes, para que estas modificaciones puedan ser visibles rápidamente por los usuarios.

Estos SGBD suelen ser bastantes complejos, con lo que hay gente que se especializa en bases de datos y en concreto en estos gestores. A estos gestores de les denomina según su función: usurarios finales (interactúa), usuario especialista (diseño) y Database Administrator (administrador).

Estos SGBD tienen muchas ventajas para el usuario, ya que permite el acceso a los datos de manera más eficiente y cómoda, entre entras ventaja sin embargo también existen algunos inconvenientes debido al tamaño, fallas o velocidad de estos.

El nivel de visión externo es otro factor a tener en cuenta ya que puede variar mucho la percepción según el usuario que tenga acceso, según la información que se requiera o su procedencia, ya que varía la manera de exposición de los datos en distintos países.

En cuanto al desarrollo de las bases de datos, tenemos en cuenta que las empresas comienzan a perder el miedo de introducir su información en espacios fuera de los tradicionales hardwares físicos, para abrir el campo de la Virtualización o el Cloud Computing.
Las empresas cada vez pretenden ser más eficientes y ello en parte conlleva el ahorro de costes y espacio. También piensan en el futuro, más en concreto en poder tener acceso a la información de forma segura en el futuro, sin posibles “catástrofes” de pérdida de información y esto es algo que la virtualización permite solucionar.

Tanto las grandes empresas como las Pymes, empiezan a darse cuenta de que el desarrollo y mantenimiento de una empresa se basa en gran parte por la información que maneja, como dice Manuel Navarro en su artículo “Cada vez son más las empresas que comprenden que la información es el centro neurálgico de su negocio”(1).

La gran competencia entre empresas dedicadas a los sistemas de almacenamiento, está permitiendo que estas se desarrollen y especialicen presentando cada vez servicios más interesantes y eficientes para mejorar el rendimiento de las empresas como puede ser optimizar costes, mejorar servicios, seguridad y eficiencia. Estas soluciones que presentan las están ofreciendo gracias a la virtualización del almacenamiento de datos.


Actualmente el principal objetivo que se presenta en este campo es el de hacer crecer la demanda de clientes hacia estos nuevos sistemas de almacenamiento para que en un futuro no muy lejano los grandes proyectos de almacenamiento en la red puedan surgir como realmente una forma de mejora de eficiencia y rendimiento para las empresas. Como demuestra Carmen Pérez, Product Manager de Almacenamiento de Fujitsu “...el mercado está en pleno crecimiento, se fija en algunos pilares fundamentales como son el almacenamiento en red, la virtualización cada vez más omnipresente y el software de gestión de los dispositivos de almacenamiento […] La consolidación de almacenamiento continuará sin pausa porque muchas empresas están inmersas en estos proyectos. Aunque el objetivo a largo plazo es fomentar la virtualización del almacenamiento para lograr una mayor eficacia del uso de la capacidad, el efecto a corto plazo es incrementar la capacidad de demanda”(2).


El auge desde hace ya tiempo de los dispositivos inteligentes, entre otros,  ha hecho que se cree al día un gran volumen de información que se debe almacenar. Ante esto se demanda cada vez más capacidad de gestión de información, seguridad o cumplimiento con la normativa, velocidad, disponibilidad y eficiencia de la información. Para ello a las empresas dedicadas a este sector se les plantean nuevos retos para poder satisfacer esta demanda y esto lo están enfocando hacia la mencionada virtualización o cloud computing.

Otro enfoque en desarrollo  que se plantea es el de la tecnología mixta (dispositivos físicos –online) como asegura Fermín Palacios, Director de Negocio de arsys.es “...se está definiendo una tendencia basada en tecnologías mixtas (offline-online o dispositivo físico-online). Estas tecnologías están desarrollándose y no tardaremos en ver sofisticados sistemas de backup online, transparentes para el usuario y capaces de auto sincronizar los documentos simultáneamente en varios dispositivos”(3)


Por su parte, el portavoz de Inves, cree que “en el ámbito corporativo, lo más destacable será el paulatino crecimiento del mundo de la virtualización. Tendremos unidades de almacenamiento más seguras y que proporcionarán una mayor velocidad de escritura y lectura, y de recuperación de datos. También seguirá mejorando la facilidad de gestión e implantación de estos sistemas dentro de las empresas. Específicamente en el ámbito de la virtualización, seguirá mejorando la rapidez y facilidad a la hora de gestionar y desplegar máquinas virtuales”

Con lo cual esta virtualización se presenta como un gran proyecto de futuro útil tanto para grandes como para pequeñas empresas ya que permiten ofrecer mejoras de rendimiento a cualquier nivel de empresa.

Algunas ventajas de la virtualización o cloud computing:

·         Flexibilidad para el movimiento de la información.
·         Complejidad de gestión.
·         Optimización de hardware y reducción de costes (aplicaciones)
·         Facilidad de administración de entornos virtuales.
·         Acceso rápido y seguro de los datos, con reducción de operaciones.



Fuente de la imagen: http://telecomunicaciones-cali.blogspot.com.es/p/articulos.html 

En cuanto al Cloud Computing o también conocido como la nube presenta unos servicios de gestión eficiente y sencilla de la información.
Dentro de este marco nos encontramos con, como dice Manuel Navarro: “el cloud computing o el cloud hosting son servicios que se ofrecen con máxima flexibilidad y escalabilidad, sin intervenciones técnicas, porque la nube se basa en recursos interconectados, no en recursos aislados, como el modelo tradicional. Así, un cliente no contrata un número determinado de servidores, sino la capacidad que necesita en todo momento[…] En el almacenamiento cloud, también conocido como cloud storage, se ofrece una solución de almacenamiento fiable, seguro, escalable y eficiente. Paralelamente, el almacenamiento en un Centro de Datos externo con plataforma cloud garantiza la disponibilidad y accesibilidad de la información en distintas ubicaciones y a través de diferentes dispositivos (ordenadores, móviles…), mejorando la competitividad de las empresas y garantizando la supervivencia de los datos en caso de desastre”(4)


Esta forma de almacenamiento nos permite un acceso rápido y sencillo a la información para clientes y para empleados, que aunque no sepamos donde se encuentra de forma física esta información, podemos tenerla a disposición sin tener que preocuparnos de fallos o mantenimiento de aplicaciones con lo que se ahorrra en costes y con lo cual en eficiencia y rendimiento. Esto supone un importante paso hacia delante para las empresas pero además, les permite también “guardarse las espaldas” en el sentido de tener más seguridad en recuperación de datos ante posibles perdida de información.

En conclusión, desde que se comenzó a almacenar gran cantidad de información se hicieron necesarias las bases de datos con el fin de tener un acceso más compacto de la información, con un acceso más general para las distintas personas y empresas.

Estas bases de datos han ido evolucionando de forma paralela a los avances tecnológicos, más concretamente solventando los problemas que suponen un aumento de la información que se genera diariamente y a la que se debe tener acceso de forma sencilla.

Para ello, en gran parte se desarrollaron lo que denominamos los SGBD que nos hacen mucho más fácil el acceso, estructura y gestión de la información.

Este ámbito de almacenamiento y gestión de la información se ha afianzado como fundamental para el desarrollo tanto de la informática como para demás ámbitos (la mayoría) en los que se necesita acceso a la información. Con lo que el seguir innovando en este campo del almacenamiento, supone que todos podamos beneficiarnos de una información cada vez más al alcance de todos con unas condiciones cada vez mejores, en especial para las empresas que ven como les permite mejorar su rendimiento y eficiencia.

Ante esta demanda de las empresas por mejorar surge lo que denominamos la virtualización o Cloud Computing. Estos proyectos, marcados para el futuro pero que ya se trabaja en el presente para que se demanden, haciendo saber los beneficios que pueden aportar, son la tendencia en este ámbito, siendo esperanzadoras los servicios que ofrecen y terminaran seguramente por ofrecer en un futuro y no de forma pasajera por moda, sino que vienen para quedarse. Las empresas verán como su rendimiento y eficiencia mejora por los beneficios que aportan y en general toda la sociedad también se verá favorecida con esta “nube publica” (diferente a la “nube privada” de las empresas que será sobre todo más segura y adaptada a la empresa) que permitirá un acceso más sencillo y cómodo a la información.

Algunas cuestiones ante este tema:
  1. ¿Piensas que puede llegar un límite en el que no se pueda almacenar toda la información que se crea de forma global?
  2. ¿Piensas que realmente el futuro de las bases de datos pasan por la Virtualización o Cloud Computing?
  3. Después de darse casos de filtración de información de algunos servidores virtualizados ¿Es realmente segura esta forma de almacenamiento de datos en la nube? 

lunes, 6 de octubre de 2014

Tema 2: Representación de la información.

En este tema hemos tratado otro apartado de la información, en concreto, como se representa la información en el ámbito de la informática.
Como ya vimos,  a partir de un dato o una serie de datos podemos obtener información, y a partir de la información extraemos el conocimiento que lo utilizamos para tomar las decisiones.

En el ámbito de la informática podemos hacer una “pirámide” donde en la base estaría lo más cercano a lo físico e iríamos subiendo hasta lo abstracto. En la base nos encontraríamos con el Hardware que se encarga de ejecutar la información (pueden ser tablets, portátiles…). El “encargado” de manejar el hardware en este caso sería el sistema operativo, donde el usuario se encargaría de decirle lo que tuviera que hacer, punteando con el ratón. Subiendo peldaños en la pirámide podemos encontrarnos con las bases de DATOS, encargado de almacenar dichos datos. Existen también aplicaciones que se encargan de convertir los datos en información y conocimiento. Seguimos ascendiendo y nos encontramos con la interfaz pública que me permiten visualizar la información, un ejemplo de interfaz pública podría ser la Web. A partir de las aplicaciones que se encargan de procesar los datos a información podemos obtener las Bases de información. Por último contamos con las aplicaciones que nos permiten procesar o crear información, como pueden ser Word o Excel.

Existe una teoría de la información conocida como: “Modelo de Shanon” donde dice que para establecer cualquier tipo de comunicación deben aparecer 6 elementos:
Fuente, elemento codificador, mensaje, canal, descodificador y receptor.

Un mecanismo que nos permite representar la información en Internet es el código fuente donde a través de dos números: (0 y 1), conocidos como bit, podemos representar cualquier número natural y diferentes caracteres (utilizando distintos códigos).
De forma general, tenemos a nuestro alcance el poder representar la información a modo de texto, imágenes, vídeo, sonido.
En cuanto al lenguaje que podemos utilizar para representar información en las páginas web, podemos encontrarnos con el lenguaje HTML, con este lenguaje podemos introducir en una página web las diferentes formas de representación de la información que esta nombrada anteriormente.

Ampliando lo que tenemos nos detenemos en el Modelo de Shanon, este modelo es una teoría por un ingeniero de nombre Claude E. Shanon. En primer lugar el propósito de Shanon fue la de crear una pequeña teoría muy sencilla, sin mucha repercusión, sin embargo debido a los diferentes enfoques que se podía emplear esta teoría comenzó a tener una gran repercusión, tanto que Warren Weaver realizo un ensayo alabando dicha propuesta. Finalmente y en conjunto, estos dos lograron crear la teoría de la información.

Teoría representada de forma sencilla:


*El cuadrado en blanco situado entre el transmisor y el receptor sería el canal.

A continuación Weaver hace la siguiente descripción que facilita la comprensión de la teoría: "En la figura se presenta simbólicamente un sistema de comunicación. La fuente de información selecciona a partir de un conjunto de posibles mensajes el mensaje deseado. El transmisor transforma el mensaje en una señal que es enviada por el canal de comunicación al receptor.
El receptor hace las veces de un transmisor invertido que cambia la señal transmitida en un mensaje y pasa este mensaje a su destinatario. Cuando yo hablo con usted, mi cerebro es la fuente de información, el suyo el destinatario, mi sistema vocal es el transmisor, y su oído, con su octavo par de nervios craneanos, es el receptor.
Infortunadamente, es característico del proceso de transmitir la señal que se agreguen a ésta ciertas cosas que no son proporcionadas deliberadamente por la fuente de información. Estos aditamentos indeseados pueden ser distorsiones de sonido (en telefonía, por ejemplo), o estáticos (en radiotelefonía), o distorsiones de la forma o sombreado de una imagen (televisión), o errores de transmisión (telegrafía o facsímil). Todos estos cambios en la señal pueden ser llamados ruidos.
Los problemas que han de estudiarse en un sistema de comunicación tienen que ver con la cantidad de información, la capacidad del canal de comunicación, el proceso de codificación que puede utilizarse para cambiar el mensaje en una señal y los efectos del ruido" (1)


En cuanto a los mecanismos que nos permiten representar la información en la informática, vamos desde el elemento más sencillo conocida como BIT, pasando por el NIBBLE que consta de 4 bits, hasta llegar al BYTE que es el conjunto de 8 bits. Los bits de un byte se numeran del 0 al 7, siendo 0 el grado más bajo y 7 el más alto.
Así haciendo combinaciones de bits y bytes podemos llegar a representar cualquier elemento, por ejemplo para poder representar números utilizamos secuencias de bits, por ejemplo con 8 bits se pueden representar 255 elementos, pero haciendo distintas combinaciones podemos llegar a representar letras, palabras, sonidos, etc.
Como dice Ángel A. Zambrano  “Cualquier computador, incluso el más complejo es en realidad sólo un gran volumen de bits bien organizados”.(2)

(2)Fuente:  http://webdelprofesor.ula.ve/economia/angelz/archivos/los_bits.pdf


Un ejemplo curioso de como leer una palabra en código binario podemos verlo en este vídeo:



Al ir haciendo agrupamientos de estos bits, estos van ocupando espacio o lo que en un ordenador se refiere, va ocupando memoria. Cuantos mas bits haya agrupados y utilizados mayor espacio ocupara. Para hacernos una idea en espacio = numero de bits podemos ver la siguiente imagen:



Podemos ver un ejemplo demostrativo en el siguiente vídeo:



En cuanto a los lenguajes de programación, es el lenguaje que se emplea para ordenar o expresar una serie de procesos que los ordenadores deben realizar. Se programa para que estos ordenadores cumplan una función establecida por el usuario y transmitan dicha información al lenguaje conocido por el ser humano.
Debemos diferenciar el lenguaje de programación con el lenguaje informático. Tomamos el lenguaje informático que abarca el lenguaje de programación y otros más. Podemos encontrarnos por ejemplo con HTML que es un lenguaje informático, que no es considerado como lenguaje de programación sino de estructuración de páginas web.
En cuanto a los lenguajes de programación más usados, este es el Ranking que la Universidad Cardenal Herrera propone en 2014:



La teoría de la información se comenzó a desarrollar a mediados del siglo 20. Años antes, el sistema de código binario empezó también a dar sus primeras "señales de vida". Esto supuso un antes y un después en cuanto a la representación de la información en el ámbito de la informática se refiere.
A partir de estas bases y después de grandes estudios de desarrollo se abrió un enorme abanico de posibilidades en cuanto a poder representar información de manera informatizada. A partir de entonces comenzaron a desarrollarse cada vez mas las nuevas tecnologías y con estas las nuevas formas de representar cada vez mejor cualquier tipo de información en estas.
Esto ha ido evolucionando de tal manera que actualmente ya no concebimos un mundo sin la informática y sin nuevas tecnologías. 
Solo con hacernos la siguiente cuestión: Actualmente dime una persona que no tenga o haya tenido acceso a información procesada de forma informática. 
Ejemplo de esto podemos tener la televisión, una película, música en un mp3, acceso a Internet, etc. La mayoría de la información que actualmente obtenemos como receptores de esta, ha sido procesada de forma informática.
Con esto debemos plantearnos: sí en la actualidad ya casi toda la información podemos obtenerla de forma informatizada y hasta nuestros días las nuevas tecnologías y representación de la información cada vez van a mas, ¿hasta donde pueden llegar?, ¿tiene un límite el desarrollo de nuevas tecnologías y su consiguiente representación de la información en estas?, ¿cómo podrá ser la representación de esta información y los hardware que utilicen en el año 3000?

Pienso que este ámbito de representación de la información es fundamental para seguir avanzando y cada vez se irán inventando mejores hardware, software y todos los elementos que esto conlleva.
Los lenguajes de programación cada vez podrán ir desarrollándose mas debido a las nuevas tecnologías, se emplearán nuevos lenguajes que seguramente aun ni podamos plantearnos y cada vez el acceso y representación de la información nos ayudarán a mejorar la calidad de vida.