SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS
ANDES “UNIANDES”
CARRERA DE SISTEMAS
DESARROLLO CLIENTE/SERVIDOR
TEMA DEL DOCUMENTO:
Términos de Consulta
ESTUDIANTE: JONATHAN SALGUERO
DOCENTE: BERNABE ORTEGA.
2015
Puyo-Pastaza
¿Qué es Big Data?
Todos formamos parte de ese gran crecimiento
de datos. Debido al gran avance que existe día con
día en las tecnologías de información, las
organizaciones se han tenido que enfrentar a
nuevos desafíos que les permitan analizar,
descubrir y entender más allá de lo que sus
herramientas tradicionales reportan sobre su
información, al mismo tiempo que durante los
últimos años el gran crecimiento de las
aplicaciones disponibles en internet (geo-
referencia miento, redes sociales, etc.) han sido
parte importante en las decisiones de negocio de las empresas. El presente artículo tiene como
propósito introducir al lector en el concepto de Big Data y describir algunas características de
los componentes principales que constituyen una solución de este tipo.
Definición de Cloud Computing
El nuevo concepto de negocio en Internet también conocido como "computación en la nube"
Debitoor es una sistema intuitivo y rápido que trabaja con la tecnología cloud
computing. El cloud computing consiste en la posibilidad de ofrecer servicios a través de
Internet.
La computación en nube es una tecnología nueva que busca tener todos nuestros archivos e
información en Internet y sin depender de poseer la capacidad suficiente para almacenar
información.
El cloud computing explica las nuevas posibilidades de forma de negocio actual, ofreciendo
servicios a través de Internet, conocidos como e-business (negocios por Internet).
Procedimiento
Toda la información, procesos, datos, etc. se localizan dentro de la red de internet, como en una
nube, así todo el mundo puede acceder a la información completa, sin poseer una gran
infraestructura.
Ventajas del cloud computing
 Bajo coste: Productos gratuitos o pagos mensuales fijos por utilización, sin costes
adicionales, dado que no hay que invertir en gran infraestructura, ni en licencias
 Seguridad: Los datos siempre están seguros - Lee la política de seguridad de Debitoor
 No hay necesidades de poseer una gran capacidad de almacenamiento
 Mayor rapidez en el trabajo al estar basado en web
 Información a tiempo real
 Fuerte inversión en innovación
 Acceso a toda la información
 Acceso cuando quiera y donde quiera, sólo con una conexión a Internet

SAAS (Software as a Servicie)
El software como servicio es una de las modalidades más importantes de la computación en
nube. Consiste en una aplicación de software ofrecida totalmente por Internet, con todas las
funcionalidades y para todos los clientes que lo soliciten.
Debitoor es un programa 100% online de facturación y contabilidad simple.
 Envía facturas y presupuestos
 Crea plantillas profesionales para facturas en menos de 1 minuto
 Gestiona tu lista de clientes y productos
 Exporta tus facturas a PDF y Excel
 Almacena automáticamente todos tus documentos
 Gestiona tus gastos sin límite
Más de 300.000 pymes y autónomos gestionan ya su negocio con Debitoor
Green Computing
Los escenarios que se plantean en los próximos años serán completamente diferentes a los que
hemos conocido hasta ahora, los avances tecnológicos provocarán que se renueven muchos de
los aspectos de nuestro día a día. Sin embargo la huella del altísimo nivel de consumo energético
del siglo XX obliga también a que la tecnología mejore todos los aspectos que involucran los
procesos de producción. Uno de los caminos es el Green Computing.
El Green Computing representa las estrategias y el desarrollo de sistemas informáticos que
buscan la utilización eficiente de los recursos para minimizar el impacto ambiental de los
procesos informáticos. El Cloud Computing se encuentra dentro de las tecnologías que
contribuyen a la consecución de dichas estrategias.
Una de las claves para comprender las razones por las que el Cloud Computing aumenta la
productividad y reduce el impacto energético es la frase ‘menos es más’. La utilización de la nube
permite a las empresas dejar de utilizar servidores internos y aprovecharse de software que se
ejecuta fuera de sus ordenadores con lo que pueden invertir menos en equipos informáticos y
reducen su consumo energético.
Evidentemente para que esta ecuación tenga sentido llevar el almacenamiento y los procesos a
la nube las empresas que ofrecen estos servicios tienen que aprovechar su magnitud para
optimizar el espacio y la memoria de ejecución. Es la idea tradicional de la externalización pero
aplicada a los procesos informáticos. En Computing
¿Qué son las bases de datos?
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información
de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te
presentamos una guía que te explicará el concepto y características de las bases de datos.
Definición de base de datos
Se define una base de datos como una
serie de datos organizados y
relacionados entre sí, los cuales son
recolectados y explotados por los
sistemas de información de una
empresa o negocio en particular.
Características
Entre las principales características de
los sistemas de base de datos podemos
mencionar:
 Independencia lógica y física
de los datos.
 Redundancia mínima.
 Acceso concurrente por parte de múltiples usuarios.
 Integridad de los datos.
 Consultas complejas optimizadas.
 Seguridad de acceso y auditoría.
 Respaldo y recuperación.
 Acceso a través de lenguajes de programación estándar.
Sistema de Gestión de Base de Datos (SGBD)
Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo
de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje
de manipulación de datos y de un lenguaje de consulta.
Ventajas de las bases de datos
Control sobre la redundancia de datos:
Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto
hace que se desperdicie espacio de almacenamiento, además de provocar la falta de
consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se
almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede
eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las
relaciones entre los datos.
Consistencia de datos:
Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que
haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe
realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está
duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de
garantizar que todas las copias se mantienen consistentes.
Compartir datos:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que
los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y
puede ser compartida por todos los usuarios que estén autorizados.
Mantenimiento de estándares:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a
nivel de la empresa como los nacionales e internacionales. Estos estándares pueden
establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares
de documentación, procedimientos de actualización y también reglas de acceso.
Mejora en la integridad de datos:
La integridad de la base de datos se refiere a la validez y la consistencia de los datos
almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se
pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y
es el SGBD quien se debe encargar de mantenerlas.
Mejora en la seguridad:
La seguridad de la base de datos es la protección de la base de datos frente a usuarios no
autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de
bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros.
Mejora en la accesibilidad a los datos:
Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al
usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un
programador escriba una aplicación que realice tal tarea.
Mejora en la productividad:
El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en
un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de
ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la función
específica requerida por los usuarios, sin tener que preocuparse de los detalles de
implementación de bajo nivel.
Mejora en el mantenimiento:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los
programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su
estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes
en los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que
se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las
aplicaciones que acceden a la base de datos.
Aumento de la concurrencia:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a
un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda
información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente
a la base de datos y garantizan que no ocurran problemas de este tipo.
Mejora en los servicios de copias de seguridad:
Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias
para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que
hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para
restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de
seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan
de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
Desventajas de las bases de datos
Complejidad:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen
uso de ellos.
Coste del equipamiento adicional:
Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más
espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que
sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al
SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara.
Vulnerable a los fallos:
El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante
los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).
Tipos de Campos
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes.
Entre los más comunes podemos nombrar:
 Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros
“sin decimales” y reales “decimales”.
 Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
 Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente
de no poder ser indexados.
 Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas
de esta forma posibilita ordenar los registros por fechas o calcular los días entre una
fecha y otra.
 Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255
caracteres).
 Autoincrementadles: son campos numéricos enteros que incrementan en una unidad
su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya
que resultan exclusivos de un registro.
Tipos de Base de Datos
Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
 MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por
su rapidez. No es recomendable usar para grandes volúmenes de datos.
 PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien
grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran
calibre.
 Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser
creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya
explicada.
 Microsoft SQL Server: es una base de datos más potente que access desarrollada por
Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.
Modelo entidad-relación
Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram Entity
relationship”) son una herramienta para el modelado de datos de un sistema de información.
Estos modelos expresan entidades relevantes para un sistema de información, sus inter-
relaciones y propiedades.
Cardinalidad de las Relaciones
El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:
 Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente
una de la entidad B.
 Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias
instancias de la entidad B.
 Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con
cualquier instancia de la entidad B.
Estructura de una Base de Datos
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe
ser cumplido para acceder a la información de manera coherente. Cada base de datos contiene
una o más tablas, que cumplen la función de contener los campos.
En el siguiente ejemplo mostramos una tabla “comentarios” que contiene 4 campos.
Los datos quedarían organizados como mostramos en siguiente ejemplo:
Por consiguiente una base de datos posee el siguiente orden jerárquico:
 Tablas
 Campos
 Registros
 Lenguaje SQL
El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite
realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos.
A continuación veremos un ejemplo de ellos:
 Mostrar: para mostrar los registros se utiliza la instrucción Select. Select * From
comentarios.
 Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la
instrucción Insert. Insert Into comentarios (titulo, texto, fecha) Values ('saludos', 'como
esta', '22-10-2007')
 Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos
especificar cual o cuales son los registros que queremos borrar. Es por ello necesario
establecer una selección que se llevara a cabo mediante la cláusula Where. Delete From
comentarios Where id='1'.
 Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el
caso de Delete, necesitamos especificar por medio de Where cuáles son los registros en
los que queremos hacer efectivas nuestras modificaciones. Además, tendremos que
especificar cuáles son los nuevos valores de los campos que deseamos actualizar.Update
comentarios Set titulo='Mi Primer Comentario' Where id='1'.
Las bases de datos NoSQL, también llamadas No Solo SQL, son un enfoque hacia la gestión de
datos y el diseño de base de datos que es útil para grandes conjuntos de datos distribuidos.
NoSQL, que abarca una amplia gama de tecnologías y arquitecturas, busca resolver los
problemas de escalabilidad y rendimiento de big data que las bases de datos relacionales no
fueron diseñadas para abordar. NoSQL es especialmente útil cuando una empresa necesita
acceder y analizar grandes cantidades de datos no estructurados o datos que se almacenan de
forma remota en varios servidores virtuales en la nube.
Contrariamente a las ideas falsas causadas por su nombre, NoSQL no prohíbe el lenguaje
estructurado de consultas (SQL). Si bien es cierto que algunos sistemas NoSQL son totalmente
no-relacionales, otros simplemente evitan funcionalidades relacionales seleccionadas como
esquemas de tablas fijas y operaciones conjuntas. Por ejemplo, en lugar de utilizar tablas, una
base de datos NoSQL podría organizar los datos en objetos, pares clave/valor o tuplas.
Las bases de datos NoSQL parten de la base en la que las “tablas” no existen como tal, sino que
la información se almacena de forma distinta, generalmente como clave-valor, como una tabla
en la que las columnas son dinámicas, pueden cambiar sin perder la agrupación de la
información, así es que puedo tener ‘Personas’ con mas atributos que otras, puedo cambiar la
estructura de mi información dinámicamente sin tener que re-diseñar todo de nuevo.
De entre todas las implementaciones de bases de datos NoSQL, hay muchas que no utilizan el
lenguaje de consultas SQL (por ejemplo, MongoDB usa JSON), pero hay algunas que siguen
usándolo, como por ejemplo BigTable (GQL), que lo ha transformado manteniendo su estructura
básica.
Características
 Consistencia Eventual: No se implementan mecanismos rígidos de consistencia como
los presentes en las bases de datos relacionales, donde la confirmación de un cambio
implica una comunicación del mismo a todos los nodos que lo repliquen. Esta flexibilidad
hace que la consistencia se dé, eventualmente, cuando no se hayan modificado los datos
durante un periodo de tiempo. Esto se conoce también como BASE (Basically Available
Soft-state Eventual Consistency, o coherencia eventual flexible básicamente disponible).
 Estructura distribuida: Generalmente se distribuyen los datos mediante mecanismos de
tablas de hash distribuidas.
 Escalabilidad horizontal: Consite en la posibilidad de aumentar el rendimiento del
sistema simplemente añadiendo más nodos, sin necesidad en muchos casos de realizar
ninguna otra operación más que indicar al sistema cuáles son los nodos disponibles.
Muchos sistemas NoSQL permiten utilizar consultas del tipo Map-Reduce, las cuales
pueden ejecutarse en todos los nodos a la vez (cada uno operando sobre una porción
de los datos) y reunir luego los resultados antes de devolverlos.
 Tolerancia a fallos y Redundancia.
 No generan cuellos de botella: el problema de fondo de los sistemas SQL, es que deben
de transcribir cada sentencia para poder ser ejecutada y, cada sentencia compleja
requiere, además de un nivel de ejecución más concreto para poderse llevar a cabo, por
lo que constituye un punto de entrada común, único y conflictivo en base a rendimiento.
 Solo lo estrictamente necesario: son sistemas simples que no tienen un sistema de
consulta complejo ni con capacidad declarativa para en una sola línea realizar una
cantidad interna de operaciones desorbitada.
 Estructura dinámica: La primera característica significa que los datos no tienen una
definición de atributos fija, es decir: Cada registro puede contener una información con
diferente forma cada vez, pudiendo así almacenar sólo los atributos que interesen en
cada uno de ellos, facilitando el polimorfismo de datos bajo una misma colección de
información. También se pueden almacenar estructuras de datos complejas en un sólo
documento, como por ejemplo almacenar la información sobre una publicación de un
blog (título, cuerpo de texto, autor, etc) junto a los comentarios y etiquetas vertidos
sobre el mismo, todo en un único registro. Hacerlo así aumenta la claridad (al tener
todos los datos relacionados en un mismo bloque de información) y el rendimiento (no
hay que hacer un JOIN para obtener los datos relacionados, pues éstos se encuentran
directamente en el mismo documento).
Tipos
En general hay 5 tipos de bases de datos NoSQL, dependiendo de cómo almacenan la
información:
 Key-Value: clave-valor es la forma mas típica, como un HashMap donde cada elemento
esta identificado por una llave única, lo que permite la recuperación de la información
de manera muy rápida. Normalmente el valor se alamcenar como un objeto BLOB. De
esta forma el tipo de contenido no es importante para la base de datos, solo la clave y
el valor que tiene asociado. Son muy eficientes para lecturas y escrituras, además de
que pueden escalar fácilmente particionando los valores de acuerdo a su clave; por
ejemplo aquellos cuya clave está entre 1 y 1000 van a un server, los de 1001 a 2000 a
otro, etc. Muchas de ellas están basadas en la publicación de Google acerca de
su BigTable y de Amazon. Dentro de estas bases de datos podemos encontrar
a BigTable de Google, SimpleDB de Amazon,
Cassandra, Hadoop, Riak, Voldemort y MemcacheDB entre otras.
 Basada en Documentos: estas almacenan la información como un documento
(generalmente con una estructura simple como JSON o XML) y con una clave única. Es
similar a las bases de datos Key-value, pero con la diferencia que el valor es un fichero
que puede ser entendido. Si el servidor entiende los datos, puede hacer operaciones
con ellos. De hecho varias de las implementaciones de este tipo de bases de datos
permiten consultas muy avanzadas sobre los datos, e incluso establecer relaciones entre
ellos, aunque siguen sin permitir joins. Podemos encontrar a MongoDB y CouchDB entre
las mas importantes de este tipo.
 Orientadas a Grafos: Hay otras bases de datos que almacenan la información como
grafos donde las relaciones entre los nodos son lo mas importante. Son muy útiles para
representar información de redes sociales. De hecho, las relaciones también pueden
tener atributos y puedes hacer consultas directas a relaciones, en vez de a los nodos.
Además, al estar almacenadas de esta forma, es mucho más eficiente navegar entre
relaciones que en un modelo relacional. Obviamente, este tipo de bases de datos sólo
son aprovechables si la información en cuestión se puede representar fácilmente como
una red.Encontramos a neo4j entre otras.
 Orientadas a Columnas: guardan los valores en columnas en lugar de filas. Con este
cambio ganamos mucha velocidad en lecturas, ya que si se requiere consultar un
número reducido de columnas, es muy rápido hacerlo pero no es eficiente para realizar
escrituras. Por ello este tipo de soluciones es usado en aplicaciones con un índice bajo
de escrituras pero muchas lecturas. Por ejemplo, Cassandra.
Conclusión
Definitivamente, con el término NoSQL nos referimos a una multitud de bases de datos que
intentan solventar las limitaciones que el modelo relacional se encuentra en entornos de
almacenamiento masivo de datos, y concretamente en las que tiene en el momento de escalar,
donde es necesario disponer de servidores muy potentes y de balanceo de carga.
Estas bases de datos no significa que el modelo relacional desaparezca, pero sí que en
determinados entornos donde hemos de escalar rápidamente, es una solución muy buena, en
especial por el altísimo rendimiento que ofrecen. No en vano, hoy en día se utilizan ya
muchísimo no sólo como almacenamiento primario, sino también como sistema de persistencia
para guardar cachés, analíticas de uso, y otros datos para los que lo primordial es la velocidad.
Esto implica que tendremos que realizar un estudio de nuestro sistema, aplicación y datos y ver
cuales de todas las posibilidades que se nos proporcionan es la mejor para nuestra aplicación.
Incluso podemos utilizar una base de datos relacional para almacenar los usuarios registrados y
una base de datos NoSQL para almacenar la información de un blog.
Los Sistemas de Bases de Datos Distribuidas
Representan más naturalmente la estructura geográficamente descentralizada de una
organización, aumentan la disponibilidad de los datos, reducen el tráfico de comunicación y es
justificable, además, por el abaratamiento de los costos en el equipamiento y la infraestructura
de comunicaciones de las redes de computadoras. El diseño de las Bases de Datos Distribuidas
posee las fases del diseño centralizado y cuenta, además, con dos nuevos problemas que
caracterizan el proceso de distribución de datos, e incluyen la determinación de: cómo dividir la
base de datos en componentes para localizarlos en diferentes sitios, qué cantidad de datos debe
ser replicados y cómo deben los fragmentos replicados ser localizados.
Existen varias definiciones sobre qué es un sistema distribuido pero hay divergencias entre ellas,
para nuestros propósitos es suficiente expresar que un sistema distribuido es una colección de
computadoras independientes interconectadas entre sí que aparecen ante los usuarios del
sistema como una única computadora [Özsu, 1991].
2. Ventajas y Desventajas de los sistemas distribuidos
Ventajas:
 El acceso a los datos es más rápido debido a que los datos se localizan más cercanos al
lugar donde se utilizan.
 El procesamiento es rápido debido a que varios nodos intervienen en el procesamiento
de una carga de trabajo,
 Nuevos nodos se pueden agregar fácil y rápidamente.
 La probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una
autonomía e independencia entre los nodos.
 Control local de los datos con que se interactúa.
 Mayor tolerancia a los fallos
Desventajas:
 Es más complicado el control y la manipulación de los datos
 Es compleja el aseguramiento de la integridad de la información en presencia de fallas
no predecibles tanto de componentes de hardware como de software. La integridad se
refiere a la consistencia, validez y exactitud de la información.
 El control de concurrencia y los mecanismos de recuperación son mucho más complejos
que en un sistema centralizado dado que los datos pueden estar replicados.
La distribución de la BD requiere determinar la fragmentación y la localización. La fragmentación
es el proceso de dividir una relación en pequeñas porciones llamadas fragmentos [Meghini,
1991]. Las razones principales para la fragmentación son el incremento del nivel de concurrencia
y el desempeño del sistema. Existen dos alternativas para fragmentar datos: fragmentación
horizontal (FH) y fragmentación vertical (FV). La combinación de las anteriores resulta en una
fragmentación híbrida. Es importante seguir tres reglas, las cuales aseguran que la BD no tenga
cambios semánticos durante la fragmentación: completitud, reconstrucción y desjuntara.
INFRAESTRUCTURA DE DATOS ESPACIALES (IDE)
El término Infraestructura de Datos Espaciales fue acuñado por primera vez en 1993 por el U.S.
Nacional Research Council para referirse a un marco de tecnologías, políticas y disposiciones
institucionales que, trabajando conjuntamente, facilitan la creación, el intercambio y el uso de
los datos geoespaciales y recursos de información relacionados a través de una comunidad de
intercambio de información.
Una primera definición de una IDE puede aludir a un Sistema de Información Geográfico (SIG)
abierto implementado sobre la Red.
Sin embrago, una IDE debe
ser mucho más que un simple
conjunto de datos o base de
datos; una IDE aloja datos y
atributos geográficos,
suficientemente
documentados (metadatos),
un medio para su búsqueda,
visualización y evaluación
(catálogos y servidores de
mapas), y algunos métodos
para posibilitar el acceso a los
datos. Más allá de esto hay
todo un conjunto de servicios
y software para soportar la
explotación de los datos.
Para poder hacer una IDE
operacional, es necesario incluir acuerdos entre organizaciones con el objeto de posibilitar su
coordinación y administración a escalas locales, regionales, nacionales y transnacionales.
Aunque el núcleo del concepto de una IDE no lo recoge, la infraestructura suministra el entorno
ideal para abordar los problemas de la conexión de los datos con sus aplicaciones sobre la base
del trabajo con un mínimo conjunto de estándares y políticas. Los estándares esenciales
aplicables a la información Geográfica son: la familia de normas ISO 190100 y las
especificaciones del Open Geoespatial Consortium (OGC).
La implantación de una IDE tiene como objeto revertir una situación previa en la que se
encuentra la información geográfica: datos espaciales dispersos por la red, con la consiguiente
dificultad de localización de los mismos, así como el contacto con las entidades propietarias de
los mismos; desconocimiento por parte de los propietarios de la totalidad de los datos
almacenados; existencia de información espacial duplicada; datos de distintos organismos y
países que no son comparables ni interoperables.
Por los motivos anteriores los objetivos de una IDE son claros y ambiciosos:
 Facilitar el acceso y la integración de la información espacial, tanto a nivel institucional
y empresarial como de los propios ciudadanos, lo que permitirá extender el
conocimiento y el uso de la información geográfica y la optimización de la toma de
decisiones.
 Promover los metadatos estandarizados como método para documentar la información
espacial, lo que permitirá la reducción de costos y evitar la duplicación de esfuerzos.
 Posibilitar la reutilización de la Información Geográfica generada en un proyecto para
otras finalidades diferentes, dado el alto coste de su producción.
 Animar a la cooperación entre los agentes, favoreciendo un clima de confianza para el
intercambio de datos
RAID (Redundant Array of Inexpensive Disks):
Consiste en una serie de sistemas para organizar varios discos como si de uno solo se tratara
pero haciendo que trabajen en paralelo para aumentar la velocidad de acceso o la seguridad
frente a fallos del hardware o ambas cosas.
Raid es una forma de obtener discos duros más grandes, más rápidos, más seguros y más baratos
aprovechando la potencia de la CPU para tareas que necesitarían circuitos especializados y
caros.
RAID Hardware
Las soluciones hardware gestionan el subsistema RAID independientemente del host,
presentándole a este un solo disco.
Un ejemplo de RAID hardware podría ser el conectado al controlador SCSI que presenta al
sistema un único disco SCSI. Un sistema RAID externo se encarga de la gestión del RAID con el
controlador localizado en el subsistema externo de los discos. Todo el subsistema está
conectado a un host a través de un controlador SCSI normal y se le presenta al host como un
solo disco.
Existen también controladores RAID en forma de tarjetas que se comportan como un
controlador SCSI con el sistema operativo, pero gestionan todas las comunicaciones reales entre
los discos de manera autónoma. En estos casos, basta con conectar los discos a un controlador
RAID como lo haría con un controlador SCSI, pero después podrá configurarlo como un
controlador RAID sin que el sistema operativo note la diferencia.
RAID Software
El RAID Software implementa los diferentes niveles de RAID en el código del kernel que tienen
que ver con la gestión del disco (block device). Ofrece además la solución menos costosa, el RAID
software funciona con discos IDE menos costosos así como con discos SCSI. Con las rápidas CPU
de hoy en día, las prestaciones de un RAID software pueden competir con las de un RAID
hardware.
El driver MD del kernel de Linux es un ejemplo de que la solución RAID es completamente
independiente del hardware. Las prestaciones de un RAID basado en el software dependen de
las prestaciones y de la carga del CPU.
Tipos de RAID:
Lineal
Diferentes discos se enlazan uno detrás de otro para que el sistema vea un solo disco más
grande. Si falla uno perdemos todo el sistema de ficheros.
RAID 0
La información se graba y se lee en paralelo entre varios discos. Como no hay redundancia
el riesgo de fallos aumenta, pero el rendimiento es muy bueno.
RAID 1: Mirrored Disk Array (MDA)
Conjunto de discos en espejo:
La configuración de nivel 1 de Raid o disco en espejo incluye dos unidades de disco:
1° unidad de datos y una unidad de réplica. Cuando se describen datos en una unidad, también
se escriben en la otra. El disco redundante es una réplica exacta del disco de datos, por lo que
se conoce también como disco espejo. Los datos pueden leerse de cualquiera de las 2 unidades
de forma que si se avería la unidad de datos es posible acceder a la unidad de réplica, con lo que
el sistema puede seguir funcionando. Con el nivel de Raid se obtiene la misma velocidad de
lectura/ escritura que una configuración normalizada de disco, por lo que constituye la mejor
opción para aplicaciones que contienen un gran número de operaciones de escritura.
Ventajas
 Mayor rendimiento en las lecturas de datos de las lecturas convencionales.
 Podemos recuperar todos los datos en caso de error en unos de los discos ya que si un
disco suspende la operación el otro continua disponible.
Inconvenientes
 Bastante caro ya que necesitamos el doble de espacio que el necesario.
 Moderada lentitud en la escritura de datos ya que la hemos de escribir en dos
localizaciones.
Ambientes en donde implementarlos
Raid1 está diseñado para sistemas en donde la disponibilidad de información es esencial y su
reemplazo resultaría difícil y costoso (más costoso que reponer el disco en si).
Típico en escrituras aleatorias pequeñas a fallas. El problema de este tipo de arreglos es el que
implica d costo uplicar el disco.
Raid 2 : Hamming code for Error Corrección
Es el primer nivel de Raid que usa código de correcciones de error utilizando la " generación
Hamming" de código de error.
Con único de paridad solo se puede detectar un único error, pero si está interesado en la
recuperación de más errores son necesarios más discos adicionales. Sistemas de nueve discos.
Este nivel cuenta con varios discos para bloques de redundancia y corrección de errores. La
división es a nivel de bits, cada byte se graba con un bit de paridad en cada uno de los discos y
un bit de paridad en el noveno. El acceso es simultáneo a todas las unidades tanto en
operaciones de escritura como lectura. Algunos de estos discos son empleados para códigos de
error, los cuales se emplean para referencias de los datos en caso de que falle uno de los discos.
Este nivel tiene un costo bastante elevado ya que necesitamos muchos discos para mantener
los códigos de error. Gracias a como están distribuidos los datos en los discos se consigue
mejorar la velocidad de transferencia principalmente en la lectura ya que podemos emplear
todos los discos en paralelo. Estos discos aunque proporcionen un buen rendimiento no son
muy empleados ya que los niveles 1 –3 – 5 proporcionan una mayor relación costo/ rendimiento
Ventajas
• Se emplea para mejorar la demanda y también la velocidad de transferencia.
• Podemos recuperar los datos gracias a los discos de código de error.
Inconvenientes
• Solución cara ya que requeriremos muchos discos para guardar los códigos de error.
• Tiempo de escritura de datos bastante lentos, incluso aunque los datos se separen en los
diferentes discos
Raid 3
Sistemas de disco en paralelo con disco de paridad para corrección de errores.
Conocido también como Striping con paridad delicada.
Utiliza también un disco de protección de información separado para almacenar información de
control codificada con lo que se logra una forma mas eficaz de proporcionar redundancia de
datos. Este control de información codificada o paridad proviene de los datos almacenados en
los discos y permite la reconstrucción de información en caso de fallas. Se requieren como
mínimo 3 discos y se utiliza la capacidad de un disco para la información de control.
Los datos se dividen fragmentos que se transfieren a los discos que funcionan en paralelo, lo
que permiten enviar más datos de una sola vez, y aumentar en forma sustancial la velocidad
general de transferencia de datos. Esta última característica convierte a este nivel en idóneo
para que estas aplicaciones que requieran la transferencia de grandes ficheros contiguos hacia
y desde el ordenador central.
Resultan más adecuados para sistemas en los que transfieren grandes cantidades de datos
secuencialmente, ejemplo audio, video. Para estos es el nivel Raid más eficiente ya que nunca
es necesario leer modificar, escribir el bloque de paridad. Es menos apropiado para el tipo de
acceso de base de datos en los cuales se necesitan transferir pequeñas unidades de datos de
manera aleatoria.
No obstante en aquellos entornos en los que muchos usuarios desean leer y escribir múltiple
registros aleatorios, las peticiones de operaciones de entrada /salida simultaneas pueden
sobrecargar y ralentizar el sistema. En el nivel 3 de Raid los discos participan en cada transacción,
atendiendo cada petición de Entrada /Salida de una en una. Por consiguiente el nivel 3 de Raid
no es una opción adecuada para operaciones transaccionales, en la que la mayor parte del
tiempo se emplea en buscar pequeños registros esparcidos aleatoriamente en los discos.
Ventajas
•Alto rendimiento para aplicaciones de velocidad de transferencia alta.
• Gracias al disco de paridad podemos recuperar datos.
Inconvenientes
•Si perdemos el disco de paridad perdemos toda la información redundante que teníamos
• Tipo de escritura de datos bastante lento.
RAID 4 Independiente Disk Array (IDA)
Sistemas de discos independientes con disco de control de errores.
En el nivel 4 de raid los bloques de datos pueden ser distribuidos a través de un grupo de discos
para reducir el tiempo de transferencia y explotar toda la capacidad de transferencia de datos
de la matriz del disco .El nivel 4 de Raid es preferible al nivel 2 de Raid para pequeños bloques
de datos , porque en este nivel , los datos son distribuidos por sectores y no por bits .Otra ventaja
del nivel 4 de RAID frente a los niveles 2 y 3 es que al mismo tiempo puede estar activa más de
una operación de lectura escritura sobre el conjunto de discos .
Cada disco graba un bloque de datos distinto, y un disco adicional graba un código de corrección
de errores. Si falla un disco, su información se puede recomponer; solo perdemos la capacidad
de un disco, pero éste está muy saturado.
El nivel 4 de RAID tiene división a nivel de bloques y el acceso al arreglo de discos es paralelo,
pero no simultaneo. Posee un delicado a paridad y corrección de errores. La operación de
escritura se realiza en forma secuencial y la lectura en paralelo,
Ventajas:
•Buen rendimiento en las escrituras de datos: Tiene integridad de datos Inconvenientes
• Si perdemos el disco de parida, perdemos toda la información redundante que Teníamos.
• Meno rendimiento en las lecturas de datos
RAID 5 igual que el anterior, pero el disco que graba el código de corrección se va alternando.
Rápido, seguro, y sólo pierde la capacidad de un disco...pero necesita al menos 3 discos.
RAID-6. Este tipo es similar al RAID-5, pero incluye un segundo esquema de paridad distribuido
por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y las caídas
de disco. Hay pocos ejemplos comerciales en la actualidad.
RAID-7. Este tipo incluye un sistema operativo incrustado de tiempo real como controlador,
haciendo las operaciones de caché a través de un bus de alta velocidad y otras características
de un ordenador sencillo. Un vendedor ofrece este sistema.
Raid 10
La información se distribuyen en bloques como el Raid 0 y adicionalmente, cada disco se duplica
como raid 1, creando un segundo nivel de arreglo se conoce como "Striping de arreglos
duplicados” . Se requieren, dos canales, dos discos para cada canal y se utilizan el 50 % de la
capacidad para información de control
Ventajas
• Este nivel ofrece un 100 % de redundancia de la información y un soporte para grandes
volúmenes de datos, donde el precio no es un factor importante.
Ambientes donde implementarlo, ideal para sistemas de emisión critica, donde se requiera
mayor confiabilidad de la información ya que pueden fallar dos discos inclusive (uno por cada
canal) y los datos todavía se mantienen en línea .Es apropiado también en escritura aleatorias
pequeñas .
Blade HP
Servidores Modulares Información general
Servidores modulares son una clase de servidores con capacidades de cómputo modulares
alojados en una, a menudo de propiedad, chasis común. Este chasis también puede contener
componentes de almacenamiento y de red, como parte de la oferta de servidor modular.
Para Gartner para considerar un producto de servidor como "modular", el producto debe tener
un chasis o recinto que permite la adición o sustitución fácil y rápida de servidores. Servidores
en rack, torre y el marco no se consideran servidores modulares, como tampoco lo son do-it-
yourself servidores creados a partir de la placa base y componentes adquisiciones. La categoría
de servidor modular incluye ambos servidores blade y servidores multinodo. Consulte
"Definiciones de mercado y Metodología: Servidores" para obtener más información.
La demanda de servidores blade, fábrica creada en gran parte se ha estancado desde 2011, ya
las nuevas demandas de carga de trabajo a favor de los factores de forma modulares
alternativas, previamente clasificados como servidores multinodo. Los mercados blade y
servidores multinodo vez separados se superponen cada vez más en términos de uso y la
aceptación, creando un efecto de canalización de las cuchillas y la conducción de convergencia
mercado. Aún así, los ingresos anuales de los servidores blade sigue siendo más del doble que
para los servidores multinodo.
El diseño de servidores modulares se centra en la densidad de los componentes de hardware y
la riqueza del software de gestión de infraestructura incluida. Mediante la implementación de
este tipo de servidores, gestores de centros de datos pueden mejorar la administración de
servidores, la eficiencia operativa y la densidad del servidor. También pueden aumentar CPU
arquitectura flexibilidad y soportar los requerimientos de muchos, Web-escala emergente TI
cargas de trabajo.
Tradicionalmente, los servidores blade, servidores multinodo, hechos a la medida de alto
rendimiento de computación (HPC), sistemas de supercomputadoras y diseños de TI de
proveedores de servicios han sido en gran parte las ofertas diferenciadas. Sin embargo, como
las capacidades de primera calidad que diferencian estas opciones se hicieron comunes,
marcadas diferencias entre estos productos disminuyeron. Hoy en día, muchos productos en
esta categoría son similares y pueden caer en la categoría más general de servidores modulares.
Servidores modulares suelen abordar las cargas de trabajo y las cargas de trabajo más pequeños
que pueden escalar a cabo para lograr un mayor rendimiento. Los servidores blade son
especialmente adecuados para las estrategias de consolidación de centros de datos y de
modernización, y muchas de las estrategias del sistema integrado se basan en servidores blade.
Una amplia gama de ofertas de servidores modulares están ahora disponibles. Estos servidores
varían en las opciones de configuración, como el tipo de CPU y memoria, almacenamiento y
tecnologías de conmutación.
Alta disponibilidad
Alta disponibilidad (High availability) es un protocolo de diseño del sistema y su implementación
asociada que asegura un cierto grado absoluto de continuidad operacional durante un período
de medición dado. Disponibilidad se refiere a la habilidad de la comunidad de usuarios para
acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger
los resultados de trabajos previos. Si un usuario no puede acceder al sistema se dice que está no
disponible. El término tiempo de inactividad (downtime) es usado para definir cuándo el sistema
no está disponible.
Redundancia de Datos
En bases de datos o en ficheros, la redundancia hace referencia al almacenamiento de los
mismos datos varias veces en diferentes lugares. La redundancia de datos puede provocar
problemas como: * Incremento del trabajo: como un mismo dato está almacenado en dos o más
lugares, esto hace que cuando se graben o actualicen los datos, deban hacerse en todos los
lugares a la vez. * Desperdicio de espacio de almacenamiento: ya que los mismos datos están
almacenados en varios lugares distintos, ocupando así más bytes del medio de almacenamiento.
Este problema es más evidente en grandes bases de datos. * Inconsistencia de datos: esto
sucede cuando los datos redundantes no son iguales entre sí. Esto puede suceder, por ejemplo,
cuando se actualiza el dato en un lugar, pero el dato duplicado en otro lugar no es actualizado.
Si una base de datos está bien diseñada, no debería haber redundancia de datos (exceptuando
la redundancia de datos controlada, que se emplea para mejorar el rendimiento en las consultas
a las bases de datos
Escalado vertical
El escalado vertical implica aumentar los recursos del sistema (como procesadores, memoria,
discos y adaptadores de red) al hardware existente o reemplazar hardware existente por otro
con mayores recursos de sistema. El escalado vertical es idóneo cuando se desea mejorar el
tiempo de respuesta de los clientes, como en una configuración de Equilibrio de carga de red
(NLB) de un servidor de aplicaciones para usuario de Exchange. Por ejemplo, si el hardware
actual no ofrece un rendimiento adecuado para los usuarios, puede considerar la posibilidad de
agregar memoria RAM o unidades centrales de procesamiento (CPU) a los servidores del clúster
NLB para satisfacer esa demanda.
Windows Server 2003 es compatible con una o varias CPU que cumplan el estándar de
multiprocesamiento simétrico (SMP). Mediante SMP, el sistema operativo puede ejecutar
subprocesos en cualquier procesador disponible, lo que permite que las aplicaciones utilicen
varios procesadores cuando se necesite mayor capacidad de procesamiento para aumentar las
capacidades de un sistema.
Escalado horizontal
El escalado horizontal implica agregar servidores para atender a la demanda. En un clúster de
servidor de servicios de fondo, esto significa agregar nodos al clúster. En una situación NLB de
aplicaciones para usuario, significa agregar equipos al conjunto de servidores de protocolo de
aplicaciones para usuario de Exchange 2003. El escalado horizontal también es adecuado
cuando se desea mejorar el tiempo de respuesta de los clientes con los servidores.
Para obtener información acerca de la escalabilidad en lo que respecta a las soluciones de clúster
de servidor, consulte “Consideraciones de rendimiento y escalabilidad” en Consideraciones de
diseño de la organización en clústeres.
Para obtener información detallada sobre la selección de hardware y el ajuste de Exchange 2003
para rendimiento y escalabilidad, consulte la Exchange Server 2003 Performance and Scalability
Guide.
Bibliografía:
1. Clegg Dai, Big Data: The Data Velocity Discussion, Artículo
Web http://thinking.netezza.com/blog/big-data-data-velocity-discussion
2. Kobielus James, Big Data Analytics Helps Researchers Drill Deeper into Multiple
Sclerosis, Artículo Webhttp://thinking.netezza.com/blog/big-data-analytics-helps-
researchers-drill-deeper-multiple-sclerosis
3. Aprenda más acerca de Apache Hadoop en http://hadoop.apache.org/
4. Zikopolous Paul, Deroos Dirk, Deutsch Tom, Lapis George, Understanding Big Data:
Analytics for Enterprise Class Hadoop and Streaming Data, McGraw-Hill, 2012
5. Foster Kevin, Nathan Senthil, Rajan Deepak, Ballard Chuck, IBM InfoSphere Streams:
Assembling Continuous Insight in the Information Revolution, IBM RedBooks, 2011
6. http://reciclajeinformatico.wordpress.com/
7. http://es.engadget.com/tag/fit-pc/
8. http://es.wikipedia.org/wiki/Zonbu#Beneficios_ambientales
9. http://ldc.usb.ve/~emilio/Portafolio/Redes/Car.htm
10. http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube
11. http://www.quantumofgeek.com/2010/09/cloud-based-computing-to-begin-
dominating-it/
12. http://www.datacenterdynamics.es/focus/archive/2012/08/un-data-center-listo-en-
30-d%C3%ADas
13. http://es.wikipedia.org/wiki/Simple_Linux_Utility_for_Resource_Management
14. http://www.siliconweek.es/noticias/google-duplicara-la-capacidad-de-su-centro-de-
datos-en-finlandia-25907

Más contenido relacionado

La actualidad más candente

Taller n1 base de datos 2010
Taller n1 base de datos 2010Taller n1 base de datos 2010
Taller n1 base de datos 2010alvaro hernan
 
2.2 eficiencia y transformación de los procesos de negocio a través del uso d...
2.2 eficiencia y transformación de los procesos de negocio a través del uso d...2.2 eficiencia y transformación de los procesos de negocio a través del uso d...
2.2 eficiencia y transformación de los procesos de negocio a través del uso d...softjack
 
Bases de datos ventajas y desventajas trabajo didactica
Bases de datos ventajas y desventajas   trabajo didacticaBases de datos ventajas y desventajas   trabajo didactica
Bases de datos ventajas y desventajas trabajo didacticaWilliam Martinez
 
Taller Introduccion Bases de Datos
Taller Introduccion Bases de DatosTaller Introduccion Bases de Datos
Taller Introduccion Bases de Datosuceva
 
Administración de base de datos
Administración de base de datosAdministración de base de datos
Administración de base de datososcardazamercado
 
Taller 1 Y 3 Bases De Datos
Taller 1 Y 3 Bases De DatosTaller 1 Y 3 Bases De Datos
Taller 1 Y 3 Bases De DatosBeatriz Salazar
 
Lopez marroquin almacenamiento en la nube
Lopez marroquin almacenamiento en la nubeLopez marroquin almacenamiento en la nube
Lopez marroquin almacenamiento en la nubemariolopez077
 
F:\Universidad\Bases De Datos\Taller1 IntroducciòNbd
F:\Universidad\Bases De Datos\Taller1 IntroducciòNbdF:\Universidad\Bases De Datos\Taller1 IntroducciòNbd
F:\Universidad\Bases De Datos\Taller1 IntroducciòNbdCarlos Julio
 

La actualidad más candente (17)

Bases de datos
Bases de datosBases de datos
Bases de datos
 
Taller 1
Taller 1Taller 1
Taller 1
 
Taller 1
Taller 1Taller 1
Taller 1
 
Taller n1 base de datos 2010
Taller n1 base de datos 2010Taller n1 base de datos 2010
Taller n1 base de datos 2010
 
Base de datos
Base de datosBase de datos
Base de datos
 
2.2 eficiencia y transformación de los procesos de negocio a través del uso d...
2.2 eficiencia y transformación de los procesos de negocio a través del uso d...2.2 eficiencia y transformación de los procesos de negocio a través del uso d...
2.2 eficiencia y transformación de los procesos de negocio a través del uso d...
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos ventajas y desventajas trabajo didactica
Bases de datos ventajas y desventajas   trabajo didacticaBases de datos ventajas y desventajas   trabajo didactica
Bases de datos ventajas y desventajas trabajo didactica
 
Taller Introduccion Bases de Datos
Taller Introduccion Bases de DatosTaller Introduccion Bases de Datos
Taller Introduccion Bases de Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Administración de base de datos
Administración de base de datosAdministración de base de datos
Administración de base de datos
 
Sistema de información pdf
Sistema de información pdfSistema de información pdf
Sistema de información pdf
 
Taller 1 Y 3 Bases De Datos
Taller 1 Y 3 Bases De DatosTaller 1 Y 3 Bases De Datos
Taller 1 Y 3 Bases De Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Lopez marroquin almacenamiento en la nube
Lopez marroquin almacenamiento en la nubeLopez marroquin almacenamiento en la nube
Lopez marroquin almacenamiento en la nube
 
F:\Universidad\Bases De Datos\Taller1 IntroducciòNbd
F:\Universidad\Bases De Datos\Taller1 IntroducciòNbdF:\Universidad\Bases De Datos\Taller1 IntroducciòNbd
F:\Universidad\Bases De Datos\Taller1 IntroducciòNbd
 

Similar a Consultas

Similar a Consultas (20)

Resumen
ResumenResumen
Resumen
 
Eduardo hiram godínez aguirre inv dbms
Eduardo hiram godínez aguirre   inv dbmsEduardo hiram godínez aguirre   inv dbms
Eduardo hiram godínez aguirre inv dbms
 
Valentiina
ValentiinaValentiina
Valentiina
 
Base de datos_jehisglay_oliveros
Base de datos_jehisglay_oliverosBase de datos_jehisglay_oliveros
Base de datos_jehisglay_oliveros
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Smbd equipo 2
Smbd equipo 2Smbd equipo 2
Smbd equipo 2
 
Base de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datosBase de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datos
 
Doris aguagallo bdii_tarea1 (2)
Doris  aguagallo bdii_tarea1 (2)Doris  aguagallo bdii_tarea1 (2)
Doris aguagallo bdii_tarea1 (2)
 
BASES DE DATOS.pptx
BASES DE DATOS.pptxBASES DE DATOS.pptx
BASES DE DATOS.pptx
 
Base de datos
Base de datosBase de datos
Base de datos
 
Sistema de Administración de base de datos
Sistema de Administración de base de datosSistema de Administración de base de datos
Sistema de Administración de base de datos
 
Smbd
SmbdSmbd
Smbd
 
B a s e d e d a t o s
B a s e   d e   d a t o sB a s e   d e   d a t o s
B a s e d e d a t o s
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
Base de datos (conceptos básicos )
Base de datos (conceptos básicos )Base de datos (conceptos básicos )
Base de datos (conceptos básicos )
 
Glosario de base de datos
Glosario de base de datosGlosario de base de datos
Glosario de base de datos
 
Introducciòn Bases de Datos
Introducciòn Bases de DatosIntroducciòn Bases de Datos
Introducciòn Bases de Datos
 
Smbd (2)
Smbd (2)Smbd (2)
Smbd (2)
 
Smbd (2)
Smbd (2)Smbd (2)
Smbd (2)
 
Smb Dfin
Smb DfinSmb Dfin
Smb Dfin
 

Más de Jonathan Israel (19)

Generador codigo
Generador codigoGenerador codigo
Generador codigo
 
Socket
SocketSocket
Socket
 
Rmi
RmiRmi
Rmi
 
Modelo
ModeloModelo
Modelo
 
Interfaz java y c#
Interfaz java y c#Interfaz java y c#
Interfaz java y c#
 
Ensayo c s
Ensayo c sEnsayo c s
Ensayo c s
 
Distros en centos
Distros en centosDistros en centos
Distros en centos
 
CORBA
CORBACORBA
CORBA
 
Ciclovs metodologia
Ciclovs metodologiaCiclovs metodologia
Ciclovs metodologia
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Java
JavaJava
Java
 
Prog1
Prog1Prog1
Prog1
 
Programas en netbeans
Programas en netbeansProgramas en netbeans
Programas en netbeans
 
Programas en netbeans
Programas en netbeansProgramas en netbeans
Programas en netbeans
 
Copilacion de ejercicios en java
Copilacion de ejercicios en javaCopilacion de ejercicios en java
Copilacion de ejercicios en java
 
Universidad regional autónoma de lo1
Universidad regional autónoma de lo1Universidad regional autónoma de lo1
Universidad regional autónoma de lo1
 
Enclausulamiento java
Enclausulamiento javaEnclausulamiento java
Enclausulamiento java
 
Enclausulamiento java
Enclausulamiento javaEnclausulamiento java
Enclausulamiento java
 
Poo
PooPoo
Poo
 

Consultas

  • 1. UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES” CARRERA DE SISTEMAS DESARROLLO CLIENTE/SERVIDOR TEMA DEL DOCUMENTO: Términos de Consulta ESTUDIANTE: JONATHAN SALGUERO DOCENTE: BERNABE ORTEGA. 2015 Puyo-Pastaza
  • 2. ¿Qué es Big Data? Todos formamos parte de ese gran crecimiento de datos. Debido al gran avance que existe día con día en las tecnologías de información, las organizaciones se han tenido que enfrentar a nuevos desafíos que les permitan analizar, descubrir y entender más allá de lo que sus herramientas tradicionales reportan sobre su información, al mismo tiempo que durante los últimos años el gran crecimiento de las aplicaciones disponibles en internet (geo- referencia miento, redes sociales, etc.) han sido parte importante en las decisiones de negocio de las empresas. El presente artículo tiene como propósito introducir al lector en el concepto de Big Data y describir algunas características de los componentes principales que constituyen una solución de este tipo. Definición de Cloud Computing El nuevo concepto de negocio en Internet también conocido como "computación en la nube" Debitoor es una sistema intuitivo y rápido que trabaja con la tecnología cloud computing. El cloud computing consiste en la posibilidad de ofrecer servicios a través de Internet. La computación en nube es una tecnología nueva que busca tener todos nuestros archivos e información en Internet y sin depender de poseer la capacidad suficiente para almacenar información.
  • 3. El cloud computing explica las nuevas posibilidades de forma de negocio actual, ofreciendo servicios a través de Internet, conocidos como e-business (negocios por Internet). Procedimiento Toda la información, procesos, datos, etc. se localizan dentro de la red de internet, como en una nube, así todo el mundo puede acceder a la información completa, sin poseer una gran infraestructura. Ventajas del cloud computing  Bajo coste: Productos gratuitos o pagos mensuales fijos por utilización, sin costes adicionales, dado que no hay que invertir en gran infraestructura, ni en licencias  Seguridad: Los datos siempre están seguros - Lee la política de seguridad de Debitoor  No hay necesidades de poseer una gran capacidad de almacenamiento  Mayor rapidez en el trabajo al estar basado en web  Información a tiempo real  Fuerte inversión en innovación  Acceso a toda la información  Acceso cuando quiera y donde quiera, sólo con una conexión a Internet  SAAS (Software as a Servicie) El software como servicio es una de las modalidades más importantes de la computación en nube. Consiste en una aplicación de software ofrecida totalmente por Internet, con todas las funcionalidades y para todos los clientes que lo soliciten. Debitoor es un programa 100% online de facturación y contabilidad simple.  Envía facturas y presupuestos  Crea plantillas profesionales para facturas en menos de 1 minuto  Gestiona tu lista de clientes y productos  Exporta tus facturas a PDF y Excel  Almacena automáticamente todos tus documentos  Gestiona tus gastos sin límite Más de 300.000 pymes y autónomos gestionan ya su negocio con Debitoor
  • 4. Green Computing Los escenarios que se plantean en los próximos años serán completamente diferentes a los que hemos conocido hasta ahora, los avances tecnológicos provocarán que se renueven muchos de los aspectos de nuestro día a día. Sin embargo la huella del altísimo nivel de consumo energético del siglo XX obliga también a que la tecnología mejore todos los aspectos que involucran los procesos de producción. Uno de los caminos es el Green Computing. El Green Computing representa las estrategias y el desarrollo de sistemas informáticos que buscan la utilización eficiente de los recursos para minimizar el impacto ambiental de los procesos informáticos. El Cloud Computing se encuentra dentro de las tecnologías que contribuyen a la consecución de dichas estrategias. Una de las claves para comprender las razones por las que el Cloud Computing aumenta la productividad y reduce el impacto energético es la frase ‘menos es más’. La utilización de la nube permite a las empresas dejar de utilizar servidores internos y aprovecharse de software que se ejecuta fuera de sus ordenadores con lo que pueden invertir menos en equipos informáticos y reducen su consumo energético. Evidentemente para que esta ecuación tenga sentido llevar el almacenamiento y los procesos a la nube las empresas que ofrecen estos servicios tienen que aprovechar su magnitud para optimizar el espacio y la memoria de ejecución. Es la idea tradicional de la externalización pero aplicada a los procesos informáticos. En Computing
  • 5. ¿Qué son las bases de datos? Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te presentamos una guía que te explicará el concepto y características de las bases de datos. Definición de base de datos Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular. Características Entre las principales características de los sistemas de base de datos podemos mencionar:  Independencia lógica y física de los datos.  Redundancia mínima.  Acceso concurrente por parte de múltiples usuarios.  Integridad de los datos.  Consultas complejas optimizadas.  Seguridad de acceso y auditoría.  Respaldo y recuperación.  Acceso a través de lenguajes de programación estándar. Sistema de Gestión de Base de Datos (SGBD) Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Ventajas de las bases de datos Control sobre la redundancia de datos: Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos. En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede
  • 6. eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos. Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes. Compartir datos: En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados. Mantenimiento de estándares: Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas de acceso. Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas. Mejora en la seguridad: La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros. Mejora en la accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea. Mejora en la productividad: El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación. El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel. Mejora en el mantenimiento:
  • 7. En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación que los manejan. Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos. Aumento de la concurrencia: En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo. Mejora en los servicios de copias de seguridad: Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo. Desventajas de las bases de datos Complejidad: Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos. Coste del equipamiento adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara. Vulnerable a los fallos: El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup). Tipos de Campos Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más comunes podemos nombrar:  Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”.
  • 8.  Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.  Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.  Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.  Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).  Autoincrementadles: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro. Tipos de Base de Datos Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:  MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.  PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.  Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.  Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones. Modelo entidad-relación Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram Entity relationship”) son una herramienta para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información, sus inter- relaciones y propiedades. Cardinalidad de las Relaciones
  • 9. El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:  Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B.  Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B.  Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B. Estructura de una Base de Datos Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente. Cada base de datos contiene una o más tablas, que cumplen la función de contener los campos. En el siguiente ejemplo mostramos una tabla “comentarios” que contiene 4 campos. Los datos quedarían organizados como mostramos en siguiente ejemplo: Por consiguiente una base de datos posee el siguiente orden jerárquico:  Tablas  Campos  Registros  Lenguaje SQL El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos. A continuación veremos un ejemplo de ellos:  Mostrar: para mostrar los registros se utiliza la instrucción Select. Select * From comentarios.  Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la instrucción Insert. Insert Into comentarios (titulo, texto, fecha) Values ('saludos', 'como esta', '22-10-2007')
  • 10.  Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos especificar cual o cuales son los registros que queremos borrar. Es por ello necesario establecer una selección que se llevara a cabo mediante la cláusula Where. Delete From comentarios Where id='1'.  Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el caso de Delete, necesitamos especificar por medio de Where cuáles son los registros en los que queremos hacer efectivas nuestras modificaciones. Además, tendremos que especificar cuáles son los nuevos valores de los campos que deseamos actualizar.Update comentarios Set titulo='Mi Primer Comentario' Where id='1'. Las bases de datos NoSQL, también llamadas No Solo SQL, son un enfoque hacia la gestión de datos y el diseño de base de datos que es útil para grandes conjuntos de datos distribuidos. NoSQL, que abarca una amplia gama de tecnologías y arquitecturas, busca resolver los problemas de escalabilidad y rendimiento de big data que las bases de datos relacionales no fueron diseñadas para abordar. NoSQL es especialmente útil cuando una empresa necesita acceder y analizar grandes cantidades de datos no estructurados o datos que se almacenan de forma remota en varios servidores virtuales en la nube. Contrariamente a las ideas falsas causadas por su nombre, NoSQL no prohíbe el lenguaje estructurado de consultas (SQL). Si bien es cierto que algunos sistemas NoSQL son totalmente no-relacionales, otros simplemente evitan funcionalidades relacionales seleccionadas como esquemas de tablas fijas y operaciones conjuntas. Por ejemplo, en lugar de utilizar tablas, una base de datos NoSQL podría organizar los datos en objetos, pares clave/valor o tuplas. Las bases de datos NoSQL parten de la base en la que las “tablas” no existen como tal, sino que la información se almacena de forma distinta, generalmente como clave-valor, como una tabla en la que las columnas son dinámicas, pueden cambiar sin perder la agrupación de la información, así es que puedo tener ‘Personas’ con mas atributos que otras, puedo cambiar la estructura de mi información dinámicamente sin tener que re-diseñar todo de nuevo. De entre todas las implementaciones de bases de datos NoSQL, hay muchas que no utilizan el lenguaje de consultas SQL (por ejemplo, MongoDB usa JSON), pero hay algunas que siguen usándolo, como por ejemplo BigTable (GQL), que lo ha transformado manteniendo su estructura básica. Características  Consistencia Eventual: No se implementan mecanismos rígidos de consistencia como los presentes en las bases de datos relacionales, donde la confirmación de un cambio implica una comunicación del mismo a todos los nodos que lo repliquen. Esta flexibilidad hace que la consistencia se dé, eventualmente, cuando no se hayan modificado los datos durante un periodo de tiempo. Esto se conoce también como BASE (Basically Available Soft-state Eventual Consistency, o coherencia eventual flexible básicamente disponible).  Estructura distribuida: Generalmente se distribuyen los datos mediante mecanismos de tablas de hash distribuidas.
  • 11.  Escalabilidad horizontal: Consite en la posibilidad de aumentar el rendimiento del sistema simplemente añadiendo más nodos, sin necesidad en muchos casos de realizar ninguna otra operación más que indicar al sistema cuáles son los nodos disponibles. Muchos sistemas NoSQL permiten utilizar consultas del tipo Map-Reduce, las cuales pueden ejecutarse en todos los nodos a la vez (cada uno operando sobre una porción de los datos) y reunir luego los resultados antes de devolverlos.  Tolerancia a fallos y Redundancia.  No generan cuellos de botella: el problema de fondo de los sistemas SQL, es que deben de transcribir cada sentencia para poder ser ejecutada y, cada sentencia compleja requiere, además de un nivel de ejecución más concreto para poderse llevar a cabo, por lo que constituye un punto de entrada común, único y conflictivo en base a rendimiento.  Solo lo estrictamente necesario: son sistemas simples que no tienen un sistema de consulta complejo ni con capacidad declarativa para en una sola línea realizar una cantidad interna de operaciones desorbitada.  Estructura dinámica: La primera característica significa que los datos no tienen una definición de atributos fija, es decir: Cada registro puede contener una información con diferente forma cada vez, pudiendo así almacenar sólo los atributos que interesen en cada uno de ellos, facilitando el polimorfismo de datos bajo una misma colección de información. También se pueden almacenar estructuras de datos complejas en un sólo documento, como por ejemplo almacenar la información sobre una publicación de un blog (título, cuerpo de texto, autor, etc) junto a los comentarios y etiquetas vertidos sobre el mismo, todo en un único registro. Hacerlo así aumenta la claridad (al tener todos los datos relacionados en un mismo bloque de información) y el rendimiento (no hay que hacer un JOIN para obtener los datos relacionados, pues éstos se encuentran directamente en el mismo documento). Tipos En general hay 5 tipos de bases de datos NoSQL, dependiendo de cómo almacenan la información:  Key-Value: clave-valor es la forma mas típica, como un HashMap donde cada elemento esta identificado por una llave única, lo que permite la recuperación de la información de manera muy rápida. Normalmente el valor se alamcenar como un objeto BLOB. De esta forma el tipo de contenido no es importante para la base de datos, solo la clave y el valor que tiene asociado. Son muy eficientes para lecturas y escrituras, además de que pueden escalar fácilmente particionando los valores de acuerdo a su clave; por ejemplo aquellos cuya clave está entre 1 y 1000 van a un server, los de 1001 a 2000 a otro, etc. Muchas de ellas están basadas en la publicación de Google acerca de su BigTable y de Amazon. Dentro de estas bases de datos podemos encontrar a BigTable de Google, SimpleDB de Amazon, Cassandra, Hadoop, Riak, Voldemort y MemcacheDB entre otras.  Basada en Documentos: estas almacenan la información como un documento (generalmente con una estructura simple como JSON o XML) y con una clave única. Es similar a las bases de datos Key-value, pero con la diferencia que el valor es un fichero
  • 12. que puede ser entendido. Si el servidor entiende los datos, puede hacer operaciones con ellos. De hecho varias de las implementaciones de este tipo de bases de datos permiten consultas muy avanzadas sobre los datos, e incluso establecer relaciones entre ellos, aunque siguen sin permitir joins. Podemos encontrar a MongoDB y CouchDB entre las mas importantes de este tipo.  Orientadas a Grafos: Hay otras bases de datos que almacenan la información como grafos donde las relaciones entre los nodos son lo mas importante. Son muy útiles para representar información de redes sociales. De hecho, las relaciones también pueden tener atributos y puedes hacer consultas directas a relaciones, en vez de a los nodos. Además, al estar almacenadas de esta forma, es mucho más eficiente navegar entre relaciones que en un modelo relacional. Obviamente, este tipo de bases de datos sólo son aprovechables si la información en cuestión se puede representar fácilmente como una red.Encontramos a neo4j entre otras.  Orientadas a Columnas: guardan los valores en columnas en lugar de filas. Con este cambio ganamos mucha velocidad en lecturas, ya que si se requiere consultar un número reducido de columnas, es muy rápido hacerlo pero no es eficiente para realizar escrituras. Por ello este tipo de soluciones es usado en aplicaciones con un índice bajo de escrituras pero muchas lecturas. Por ejemplo, Cassandra. Conclusión Definitivamente, con el término NoSQL nos referimos a una multitud de bases de datos que intentan solventar las limitaciones que el modelo relacional se encuentra en entornos de almacenamiento masivo de datos, y concretamente en las que tiene en el momento de escalar, donde es necesario disponer de servidores muy potentes y de balanceo de carga. Estas bases de datos no significa que el modelo relacional desaparezca, pero sí que en determinados entornos donde hemos de escalar rápidamente, es una solución muy buena, en especial por el altísimo rendimiento que ofrecen. No en vano, hoy en día se utilizan ya muchísimo no sólo como almacenamiento primario, sino también como sistema de persistencia para guardar cachés, analíticas de uso, y otros datos para los que lo primordial es la velocidad. Esto implica que tendremos que realizar un estudio de nuestro sistema, aplicación y datos y ver cuales de todas las posibilidades que se nos proporcionan es la mejor para nuestra aplicación. Incluso podemos utilizar una base de datos relacional para almacenar los usuarios registrados y una base de datos NoSQL para almacenar la información de un blog. Los Sistemas de Bases de Datos Distribuidas Representan más naturalmente la estructura geográficamente descentralizada de una organización, aumentan la disponibilidad de los datos, reducen el tráfico de comunicación y es justificable, además, por el abaratamiento de los costos en el equipamiento y la infraestructura de comunicaciones de las redes de computadoras. El diseño de las Bases de Datos Distribuidas posee las fases del diseño centralizado y cuenta, además, con dos nuevos problemas que caracterizan el proceso de distribución de datos, e incluyen la determinación de: cómo dividir la base de datos en componentes para localizarlos en diferentes sitios, qué cantidad de datos debe ser replicados y cómo deben los fragmentos replicados ser localizados.
  • 13. Existen varias definiciones sobre qué es un sistema distribuido pero hay divergencias entre ellas, para nuestros propósitos es suficiente expresar que un sistema distribuido es una colección de computadoras independientes interconectadas entre sí que aparecen ante los usuarios del sistema como una única computadora [Özsu, 1991]. 2. Ventajas y Desventajas de los sistemas distribuidos Ventajas:  El acceso a los datos es más rápido debido a que los datos se localizan más cercanos al lugar donde se utilizan.  El procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo,  Nuevos nodos se pueden agregar fácil y rápidamente.  La probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonomía e independencia entre los nodos.  Control local de los datos con que se interactúa.  Mayor tolerancia a los fallos Desventajas:  Es más complicado el control y la manipulación de los datos  Es compleja el aseguramiento de la integridad de la información en presencia de fallas no predecibles tanto de componentes de hardware como de software. La integridad se refiere a la consistencia, validez y exactitud de la información.  El control de concurrencia y los mecanismos de recuperación son mucho más complejos que en un sistema centralizado dado que los datos pueden estar replicados. La distribución de la BD requiere determinar la fragmentación y la localización. La fragmentación es el proceso de dividir una relación en pequeñas porciones llamadas fragmentos [Meghini, 1991]. Las razones principales para la fragmentación son el incremento del nivel de concurrencia y el desempeño del sistema. Existen dos alternativas para fragmentar datos: fragmentación horizontal (FH) y fragmentación vertical (FV). La combinación de las anteriores resulta en una fragmentación híbrida. Es importante seguir tres reglas, las cuales aseguran que la BD no tenga cambios semánticos durante la fragmentación: completitud, reconstrucción y desjuntara.
  • 14. INFRAESTRUCTURA DE DATOS ESPACIALES (IDE) El término Infraestructura de Datos Espaciales fue acuñado por primera vez en 1993 por el U.S. Nacional Research Council para referirse a un marco de tecnologías, políticas y disposiciones institucionales que, trabajando conjuntamente, facilitan la creación, el intercambio y el uso de los datos geoespaciales y recursos de información relacionados a través de una comunidad de intercambio de información. Una primera definición de una IDE puede aludir a un Sistema de Información Geográfico (SIG) abierto implementado sobre la Red. Sin embrago, una IDE debe ser mucho más que un simple conjunto de datos o base de datos; una IDE aloja datos y atributos geográficos, suficientemente documentados (metadatos), un medio para su búsqueda, visualización y evaluación (catálogos y servidores de mapas), y algunos métodos para posibilitar el acceso a los datos. Más allá de esto hay todo un conjunto de servicios y software para soportar la explotación de los datos. Para poder hacer una IDE operacional, es necesario incluir acuerdos entre organizaciones con el objeto de posibilitar su coordinación y administración a escalas locales, regionales, nacionales y transnacionales. Aunque el núcleo del concepto de una IDE no lo recoge, la infraestructura suministra el entorno ideal para abordar los problemas de la conexión de los datos con sus aplicaciones sobre la base del trabajo con un mínimo conjunto de estándares y políticas. Los estándares esenciales aplicables a la información Geográfica son: la familia de normas ISO 190100 y las especificaciones del Open Geoespatial Consortium (OGC). La implantación de una IDE tiene como objeto revertir una situación previa en la que se encuentra la información geográfica: datos espaciales dispersos por la red, con la consiguiente dificultad de localización de los mismos, así como el contacto con las entidades propietarias de los mismos; desconocimiento por parte de los propietarios de la totalidad de los datos almacenados; existencia de información espacial duplicada; datos de distintos organismos y países que no son comparables ni interoperables. Por los motivos anteriores los objetivos de una IDE son claros y ambiciosos:  Facilitar el acceso y la integración de la información espacial, tanto a nivel institucional y empresarial como de los propios ciudadanos, lo que permitirá extender el
  • 15. conocimiento y el uso de la información geográfica y la optimización de la toma de decisiones.  Promover los metadatos estandarizados como método para documentar la información espacial, lo que permitirá la reducción de costos y evitar la duplicación de esfuerzos.  Posibilitar la reutilización de la Información Geográfica generada en un proyecto para otras finalidades diferentes, dado el alto coste de su producción.  Animar a la cooperación entre los agentes, favoreciendo un clima de confianza para el intercambio de datos RAID (Redundant Array of Inexpensive Disks): Consiste en una serie de sistemas para organizar varios discos como si de uno solo se tratara pero haciendo que trabajen en paralelo para aumentar la velocidad de acceso o la seguridad frente a fallos del hardware o ambas cosas. Raid es una forma de obtener discos duros más grandes, más rápidos, más seguros y más baratos aprovechando la potencia de la CPU para tareas que necesitarían circuitos especializados y caros. RAID Hardware Las soluciones hardware gestionan el subsistema RAID independientemente del host, presentándole a este un solo disco. Un ejemplo de RAID hardware podría ser el conectado al controlador SCSI que presenta al sistema un único disco SCSI. Un sistema RAID externo se encarga de la gestión del RAID con el controlador localizado en el subsistema externo de los discos. Todo el subsistema está conectado a un host a través de un controlador SCSI normal y se le presenta al host como un solo disco. Existen también controladores RAID en forma de tarjetas que se comportan como un controlador SCSI con el sistema operativo, pero gestionan todas las comunicaciones reales entre los discos de manera autónoma. En estos casos, basta con conectar los discos a un controlador RAID como lo haría con un controlador SCSI, pero después podrá configurarlo como un controlador RAID sin que el sistema operativo note la diferencia. RAID Software El RAID Software implementa los diferentes niveles de RAID en el código del kernel que tienen que ver con la gestión del disco (block device). Ofrece además la solución menos costosa, el RAID software funciona con discos IDE menos costosos así como con discos SCSI. Con las rápidas CPU de hoy en día, las prestaciones de un RAID software pueden competir con las de un RAID hardware. El driver MD del kernel de Linux es un ejemplo de que la solución RAID es completamente independiente del hardware. Las prestaciones de un RAID basado en el software dependen de las prestaciones y de la carga del CPU.
  • 16. Tipos de RAID: Lineal Diferentes discos se enlazan uno detrás de otro para que el sistema vea un solo disco más grande. Si falla uno perdemos todo el sistema de ficheros. RAID 0 La información se graba y se lee en paralelo entre varios discos. Como no hay redundancia el riesgo de fallos aumenta, pero el rendimiento es muy bueno. RAID 1: Mirrored Disk Array (MDA) Conjunto de discos en espejo: La configuración de nivel 1 de Raid o disco en espejo incluye dos unidades de disco: 1° unidad de datos y una unidad de réplica. Cuando se describen datos en una unidad, también se escriben en la otra. El disco redundante es una réplica exacta del disco de datos, por lo que se conoce también como disco espejo. Los datos pueden leerse de cualquiera de las 2 unidades de forma que si se avería la unidad de datos es posible acceder a la unidad de réplica, con lo que el sistema puede seguir funcionando. Con el nivel de Raid se obtiene la misma velocidad de lectura/ escritura que una configuración normalizada de disco, por lo que constituye la mejor opción para aplicaciones que contienen un gran número de operaciones de escritura. Ventajas  Mayor rendimiento en las lecturas de datos de las lecturas convencionales.  Podemos recuperar todos los datos en caso de error en unos de los discos ya que si un disco suspende la operación el otro continua disponible. Inconvenientes  Bastante caro ya que necesitamos el doble de espacio que el necesario.  Moderada lentitud en la escritura de datos ya que la hemos de escribir en dos localizaciones. Ambientes en donde implementarlos Raid1 está diseñado para sistemas en donde la disponibilidad de información es esencial y su reemplazo resultaría difícil y costoso (más costoso que reponer el disco en si). Típico en escrituras aleatorias pequeñas a fallas. El problema de este tipo de arreglos es el que implica d costo uplicar el disco. Raid 2 : Hamming code for Error Corrección Es el primer nivel de Raid que usa código de correcciones de error utilizando la " generación Hamming" de código de error. Con único de paridad solo se puede detectar un único error, pero si está interesado en la recuperación de más errores son necesarios más discos adicionales. Sistemas de nueve discos.
  • 17. Este nivel cuenta con varios discos para bloques de redundancia y corrección de errores. La división es a nivel de bits, cada byte se graba con un bit de paridad en cada uno de los discos y un bit de paridad en el noveno. El acceso es simultáneo a todas las unidades tanto en operaciones de escritura como lectura. Algunos de estos discos son empleados para códigos de error, los cuales se emplean para referencias de los datos en caso de que falle uno de los discos. Este nivel tiene un costo bastante elevado ya que necesitamos muchos discos para mantener los códigos de error. Gracias a como están distribuidos los datos en los discos se consigue mejorar la velocidad de transferencia principalmente en la lectura ya que podemos emplear todos los discos en paralelo. Estos discos aunque proporcionen un buen rendimiento no son muy empleados ya que los niveles 1 –3 – 5 proporcionan una mayor relación costo/ rendimiento Ventajas • Se emplea para mejorar la demanda y también la velocidad de transferencia. • Podemos recuperar los datos gracias a los discos de código de error. Inconvenientes • Solución cara ya que requeriremos muchos discos para guardar los códigos de error. • Tiempo de escritura de datos bastante lentos, incluso aunque los datos se separen en los diferentes discos Raid 3 Sistemas de disco en paralelo con disco de paridad para corrección de errores. Conocido también como Striping con paridad delicada. Utiliza también un disco de protección de información separado para almacenar información de control codificada con lo que se logra una forma mas eficaz de proporcionar redundancia de datos. Este control de información codificada o paridad proviene de los datos almacenados en los discos y permite la reconstrucción de información en caso de fallas. Se requieren como mínimo 3 discos y se utiliza la capacidad de un disco para la información de control. Los datos se dividen fragmentos que se transfieren a los discos que funcionan en paralelo, lo que permiten enviar más datos de una sola vez, y aumentar en forma sustancial la velocidad general de transferencia de datos. Esta última característica convierte a este nivel en idóneo para que estas aplicaciones que requieran la transferencia de grandes ficheros contiguos hacia y desde el ordenador central. Resultan más adecuados para sistemas en los que transfieren grandes cantidades de datos secuencialmente, ejemplo audio, video. Para estos es el nivel Raid más eficiente ya que nunca es necesario leer modificar, escribir el bloque de paridad. Es menos apropiado para el tipo de acceso de base de datos en los cuales se necesitan transferir pequeñas unidades de datos de manera aleatoria. No obstante en aquellos entornos en los que muchos usuarios desean leer y escribir múltiple registros aleatorios, las peticiones de operaciones de entrada /salida simultaneas pueden sobrecargar y ralentizar el sistema. En el nivel 3 de Raid los discos participan en cada transacción, atendiendo cada petición de Entrada /Salida de una en una. Por consiguiente el nivel 3 de Raid no es una opción adecuada para operaciones transaccionales, en la que la mayor parte del tiempo se emplea en buscar pequeños registros esparcidos aleatoriamente en los discos.
  • 18. Ventajas •Alto rendimiento para aplicaciones de velocidad de transferencia alta. • Gracias al disco de paridad podemos recuperar datos. Inconvenientes •Si perdemos el disco de paridad perdemos toda la información redundante que teníamos • Tipo de escritura de datos bastante lento. RAID 4 Independiente Disk Array (IDA) Sistemas de discos independientes con disco de control de errores. En el nivel 4 de raid los bloques de datos pueden ser distribuidos a través de un grupo de discos para reducir el tiempo de transferencia y explotar toda la capacidad de transferencia de datos de la matriz del disco .El nivel 4 de Raid es preferible al nivel 2 de Raid para pequeños bloques de datos , porque en este nivel , los datos son distribuidos por sectores y no por bits .Otra ventaja del nivel 4 de RAID frente a los niveles 2 y 3 es que al mismo tiempo puede estar activa más de una operación de lectura escritura sobre el conjunto de discos . Cada disco graba un bloque de datos distinto, y un disco adicional graba un código de corrección de errores. Si falla un disco, su información se puede recomponer; solo perdemos la capacidad de un disco, pero éste está muy saturado. El nivel 4 de RAID tiene división a nivel de bloques y el acceso al arreglo de discos es paralelo, pero no simultaneo. Posee un delicado a paridad y corrección de errores. La operación de escritura se realiza en forma secuencial y la lectura en paralelo, Ventajas: •Buen rendimiento en las escrituras de datos: Tiene integridad de datos Inconvenientes • Si perdemos el disco de parida, perdemos toda la información redundante que Teníamos. • Meno rendimiento en las lecturas de datos RAID 5 igual que el anterior, pero el disco que graba el código de corrección se va alternando. Rápido, seguro, y sólo pierde la capacidad de un disco...pero necesita al menos 3 discos. RAID-6. Este tipo es similar al RAID-5, pero incluye un segundo esquema de paridad distribuido por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y las caídas de disco. Hay pocos ejemplos comerciales en la actualidad. RAID-7. Este tipo incluye un sistema operativo incrustado de tiempo real como controlador, haciendo las operaciones de caché a través de un bus de alta velocidad y otras características de un ordenador sencillo. Un vendedor ofrece este sistema. Raid 10 La información se distribuyen en bloques como el Raid 0 y adicionalmente, cada disco se duplica como raid 1, creando un segundo nivel de arreglo se conoce como "Striping de arreglos duplicados” . Se requieren, dos canales, dos discos para cada canal y se utilizan el 50 % de la capacidad para información de control Ventajas
  • 19. • Este nivel ofrece un 100 % de redundancia de la información y un soporte para grandes volúmenes de datos, donde el precio no es un factor importante. Ambientes donde implementarlo, ideal para sistemas de emisión critica, donde se requiera mayor confiabilidad de la información ya que pueden fallar dos discos inclusive (uno por cada canal) y los datos todavía se mantienen en línea .Es apropiado también en escritura aleatorias pequeñas . Blade HP Servidores Modulares Información general Servidores modulares son una clase de servidores con capacidades de cómputo modulares alojados en una, a menudo de propiedad, chasis común. Este chasis también puede contener componentes de almacenamiento y de red, como parte de la oferta de servidor modular. Para Gartner para considerar un producto de servidor como "modular", el producto debe tener un chasis o recinto que permite la adición o sustitución fácil y rápida de servidores. Servidores en rack, torre y el marco no se consideran servidores modulares, como tampoco lo son do-it- yourself servidores creados a partir de la placa base y componentes adquisiciones. La categoría de servidor modular incluye ambos servidores blade y servidores multinodo. Consulte "Definiciones de mercado y Metodología: Servidores" para obtener más información. La demanda de servidores blade, fábrica creada en gran parte se ha estancado desde 2011, ya las nuevas demandas de carga de trabajo a favor de los factores de forma modulares alternativas, previamente clasificados como servidores multinodo. Los mercados blade y servidores multinodo vez separados se superponen cada vez más en términos de uso y la aceptación, creando un efecto de canalización de las cuchillas y la conducción de convergencia mercado. Aún así, los ingresos anuales de los servidores blade sigue siendo más del doble que para los servidores multinodo. El diseño de servidores modulares se centra en la densidad de los componentes de hardware y la riqueza del software de gestión de infraestructura incluida. Mediante la implementación de este tipo de servidores, gestores de centros de datos pueden mejorar la administración de servidores, la eficiencia operativa y la densidad del servidor. También pueden aumentar CPU arquitectura flexibilidad y soportar los requerimientos de muchos, Web-escala emergente TI cargas de trabajo. Tradicionalmente, los servidores blade, servidores multinodo, hechos a la medida de alto rendimiento de computación (HPC), sistemas de supercomputadoras y diseños de TI de proveedores de servicios han sido en gran parte las ofertas diferenciadas. Sin embargo, como las capacidades de primera calidad que diferencian estas opciones se hicieron comunes, marcadas diferencias entre estos productos disminuyeron. Hoy en día, muchos productos en esta categoría son similares y pueden caer en la categoría más general de servidores modulares. Servidores modulares suelen abordar las cargas de trabajo y las cargas de trabajo más pequeños que pueden escalar a cabo para lograr un mayor rendimiento. Los servidores blade son especialmente adecuados para las estrategias de consolidación de centros de datos y de modernización, y muchas de las estrategias del sistema integrado se basan en servidores blade. Una amplia gama de ofertas de servidores modulares están ahora disponibles. Estos servidores
  • 20. varían en las opciones de configuración, como el tipo de CPU y memoria, almacenamiento y tecnologías de conmutación. Alta disponibilidad Alta disponibilidad (High availability) es un protocolo de diseño del sistema y su implementación asociada que asegura un cierto grado absoluto de continuidad operacional durante un período de medición dado. Disponibilidad se refiere a la habilidad de la comunidad de usuarios para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos. Si un usuario no puede acceder al sistema se dice que está no disponible. El término tiempo de inactividad (downtime) es usado para definir cuándo el sistema no está disponible. Redundancia de Datos En bases de datos o en ficheros, la redundancia hace referencia al almacenamiento de los mismos datos varias veces en diferentes lugares. La redundancia de datos puede provocar problemas como: * Incremento del trabajo: como un mismo dato está almacenado en dos o más lugares, esto hace que cuando se graben o actualicen los datos, deban hacerse en todos los lugares a la vez. * Desperdicio de espacio de almacenamiento: ya que los mismos datos están almacenados en varios lugares distintos, ocupando así más bytes del medio de almacenamiento. Este problema es más evidente en grandes bases de datos. * Inconsistencia de datos: esto sucede cuando los datos redundantes no son iguales entre sí. Esto puede suceder, por ejemplo, cuando se actualiza el dato en un lugar, pero el dato duplicado en otro lugar no es actualizado. Si una base de datos está bien diseñada, no debería haber redundancia de datos (exceptuando la redundancia de datos controlada, que se emplea para mejorar el rendimiento en las consultas a las bases de datos Escalado vertical El escalado vertical implica aumentar los recursos del sistema (como procesadores, memoria, discos y adaptadores de red) al hardware existente o reemplazar hardware existente por otro con mayores recursos de sistema. El escalado vertical es idóneo cuando se desea mejorar el tiempo de respuesta de los clientes, como en una configuración de Equilibrio de carga de red (NLB) de un servidor de aplicaciones para usuario de Exchange. Por ejemplo, si el hardware actual no ofrece un rendimiento adecuado para los usuarios, puede considerar la posibilidad de agregar memoria RAM o unidades centrales de procesamiento (CPU) a los servidores del clúster NLB para satisfacer esa demanda. Windows Server 2003 es compatible con una o varias CPU que cumplan el estándar de multiprocesamiento simétrico (SMP). Mediante SMP, el sistema operativo puede ejecutar subprocesos en cualquier procesador disponible, lo que permite que las aplicaciones utilicen varios procesadores cuando se necesite mayor capacidad de procesamiento para aumentar las capacidades de un sistema. Escalado horizontal El escalado horizontal implica agregar servidores para atender a la demanda. En un clúster de servidor de servicios de fondo, esto significa agregar nodos al clúster. En una situación NLB de aplicaciones para usuario, significa agregar equipos al conjunto de servidores de protocolo de aplicaciones para usuario de Exchange 2003. El escalado horizontal también es adecuado cuando se desea mejorar el tiempo de respuesta de los clientes con los servidores.
  • 21. Para obtener información acerca de la escalabilidad en lo que respecta a las soluciones de clúster de servidor, consulte “Consideraciones de rendimiento y escalabilidad” en Consideraciones de diseño de la organización en clústeres. Para obtener información detallada sobre la selección de hardware y el ajuste de Exchange 2003 para rendimiento y escalabilidad, consulte la Exchange Server 2003 Performance and Scalability Guide. Bibliografía: 1. Clegg Dai, Big Data: The Data Velocity Discussion, Artículo Web http://thinking.netezza.com/blog/big-data-data-velocity-discussion 2. Kobielus James, Big Data Analytics Helps Researchers Drill Deeper into Multiple Sclerosis, Artículo Webhttp://thinking.netezza.com/blog/big-data-analytics-helps- researchers-drill-deeper-multiple-sclerosis 3. Aprenda más acerca de Apache Hadoop en http://hadoop.apache.org/ 4. Zikopolous Paul, Deroos Dirk, Deutsch Tom, Lapis George, Understanding Big Data: Analytics for Enterprise Class Hadoop and Streaming Data, McGraw-Hill, 2012 5. Foster Kevin, Nathan Senthil, Rajan Deepak, Ballard Chuck, IBM InfoSphere Streams: Assembling Continuous Insight in the Information Revolution, IBM RedBooks, 2011 6. http://reciclajeinformatico.wordpress.com/ 7. http://es.engadget.com/tag/fit-pc/ 8. http://es.wikipedia.org/wiki/Zonbu#Beneficios_ambientales 9. http://ldc.usb.ve/~emilio/Portafolio/Redes/Car.htm 10. http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube 11. http://www.quantumofgeek.com/2010/09/cloud-based-computing-to-begin- dominating-it/ 12. http://www.datacenterdynamics.es/focus/archive/2012/08/un-data-center-listo-en- 30-d%C3%ADas 13. http://es.wikipedia.org/wiki/Simple_Linux_Utility_for_Resource_Management 14. http://www.siliconweek.es/noticias/google-duplicara-la-capacidad-de-su-centro-de- datos-en-finlandia-25907