martes, 17 de abril de 2012

ADMINISTRACION DE TRANSACCIONES

Las transacciones distribuidas abarcan dos o más servidores conocidos como administradores de recursos. La administración de la transacción debe ser coordinada entre los administradores de recursos mediante un componente de servidor llamado administrador de transacciones. Cada instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) puede funcionar como administrador de recursos en las transacciones distribuidas que coordinan los administradores de transacciones, como el Coordinador de transacciones distribuidas de Microsoft (MS DTC) u otros administradores que admitan la especificación Open Group XA del procesamiento de transacciones distribuidas. Para obtener más información, consulte la documentación de MS DTC.Una transacción de una sola instancia de Motor de base de datos que abarque dos o más bases de datos es, de hecho, una transacción distribuida. La instancia administra la transacción distribuida internamente; para el usuario funciona como una transacción local.En la aplicación, una transacción distribuida se administra de forma muy parecida a una transacción local. Al final de la transacción, la aplicación pide que se confirme o se revierta la transacción. El administrador de transacciones debe administrar una confirmación distribuida de forma diferente para reducir al mínimo el riesgo de que, si se produce un error en la red, algunos administradores de recursos realicen confirmaciones mientras los demás revierten la transacción. Esto se consigue mediante la administración del proceso de confirmación en dos fases (la fase de preparación y la fase de confirmación), que se conoce como confirmación en dos fases (2PC).Fase de preparación Cuando el administrador de transacciones recibe una solicitud de confirmación, envía un comando de preparación a todos los administradores de recursos implicados en la transacción. Cada administrador de recursos hace lo necesario para que la transacción sea duradera y todos los búferes que contienen imágenes del registro de la transacción se pasan a disco. A medida que cada administrador de recursos completa la fase de preparación, notifica si la preparación ha tenido éxito o no al administrador de transacciones.Fase de confirmación Si el administrador de transacciones recibe la notificación de que todas las preparaciones son correctas por parte de todos los administradores de recursos, envía comandos de confirmación a cada administrador de recursos. A continuación, los administradores de recursos pueden completar la confirmación. Si todos los administradores de recursos indican que la confirmación ha sido correcta, el administrador de transacciones envía una notificación de éxito a la aplicación. Si algún administrador de recursos informó de un error al realizar la preparación, el administrador de transacciones envía un comando para revertir la transacción a cada administrador de recursos e indica a la aplicación que se ha producido un error de confirmación.

miércoles, 29 de febrero de 2012

create database ULV;use ULV;/**********************************************/create table profesores( ID_profesor varchar(10),nombre varchar(20),direccion varchar(40),telefono varchar(15));select * from profesores;/**********************************************/create table materias( ID_materias varchar(10),nombre varchar(20),numero_materias int);select * from materias;/**********************************************/create table alumno(ID_alumno varchar(10),matricula varchar(10),nombre varchar(20),direccion varchar(40),telefono varchar(15),);select * from alumno;/**********************************************/create table calificaciones(ID_calificaciones varchar(10),matricula varchar(10),no_materias int,);select * from calificaciones;

scrip

scrip

Desafios De Los Sistemas Distribuidos

La heterogeneidad se
aplica en los siguientes elementos:
*Redes
*Hardware de
computadores
*Sistemas
operativos
*Lenguajes de
programación
*Implementaciones de
diferentes desarrolladores
Middleware: es el estrato de
software que provee una abstracción de programación, así como un enmascaramiento
de la heterogeneidad subyacente de las redes, hardware, sistemas operativos y
lenguajes de programación. Ejemplo: Corba, Java RMI
Código
móvil:
*Código Móvil: código
que puede enviarse desde un computador a otro y ejecutarse en este
último.
*El concepto de
máquina virtual ofrece un modo de crear código ejecutable sobre cualquier
hardware
Desafíos:
Extensibilidad
Es la característica
que determina si el sistema puede extenderse de varias maneras. Un sistema puede
ser abierto o cerrado con respecto a extensiones de hardware o de software. Para
lograr la extensibilidad es imprescindible que las interfaces clave sean publicadas.
Los Sistemas
Distribuidos Abiertos pueden extenderse a nivel de hardware mediante la
inclusión de computadoras a la red y a nivel de software por la introducción de
nuevos servicios y la re implementación de los antiguos.
Otro beneficio de los
sistemas abiertos es su independencia de proveedores concretos.
Desafíos:
Seguridad
La seguridad tiene
tres componentes: Confidencialidad: protección contra individuos no autorizados
Integridad: protección contra la alteración o corrupción Disponibilidad:
protección contra la interferencia que impide el acceso a los recursos
Existen dos desafíos
que no han sido resueltos en su totalidad:
*Ataques de
denegación de servicio
*Seguridad
del código móvil
Desafíos:
Escalabilidad
Se dice que un
sistema es escalable si conserva su efectividad cuando ocurre un incremento
significativo en el número de recursos y en el número de usuarios. El diseño de
SD escalables presenta los siguientes retos:
Control de costo de
los recursos físicos: para que un sistema
con n usuarios sea escalable, la cantidad de recursos físicos necesarios
para soportarlo debería ser O(n).
Controlar la
degradación del rendimiento: Ejemplo: Los
algoritmos que emplean estructuras jerárquicas se comportan mejor frente al
crecimiento de la escala, que los algoritmos que emplean estructuras
lineales.
Evitar cuellos de
botella: los algoritmos
deberían ser descentralizados.
Prevenir el
desbordamiento de los recursos de software
Desafíos:
Tratamiento de fallos
Detección de
fallos: Ejemplo. Se pueden
utilizar sumas de comprobación (checksums) para detectar datos corruptos en un
mensaje.
Enmarascamiento de
fallos: Ejemplo.
*Los mensajes pueden
retransmitirse
*Replicar
los datos
Tolerancia de fallos:
los
programas clientes de los servicios pueden diseñarse para tolerar ciertos
fallos. Esto implica que los usuarios tendrán también que tolerarlos.
Recuperación de
fallos: implica el diseño de
software en el que, tras una caída del servidor, el estado de los datos puede
reponerse o retractarse (rollback) a una situación anterior.
Redundancia:
emplear componentes
redundantes.
Desafíos:
Concurrencia
Existe la posibilidad
de acceso concurrente a un mismo recurso. La concurrencia en los servidores se
puede lograr a través de threads. Cada objeto que represente un recurso
compartido debe responsabilizarse de garantizar que opera correctamente en un
entorno concurrente. Para que un objeto sea seguro en un entorno concurrente,
sus operaciones deben sincronizarse de forma que sus datos permanezcan
consistentes.
Desafíos:
Transparencia
Transparencia de
acceso: permite acceder a los recursos locales y remotos empleando operaciones
idénticas. Transparencia de ubicación: permite acceder a los recursos sin
conocer su localización. Transparencia de concurrencia: permite que varios
procesos operen concurrentemente sobre recursos compartidos sin interferencia
mutua.
Transparencia de
replicación: permite replicar los recursos sin que los usuarios y los
programadores necesiten su conocimiento. Transparencia frente a fallos: permite
ocultar fallos. Transparencia de movilidad: permite la reubicación de recursos y
clientes en un sistema sin afectar la operación de los usuarios y los
programas.
Transparencia de
rendimiento: permite reconfigurar el sistema para mejorar el desempeño según
varíe su carga. Transparencia al escalado: permite al sistema y a las
aplicaciones expandirse en tamaño sin cambiar la estructura del sistema o los
algoritmos de aplicación.

martes, 28 de febrero de 2012

BASE DE DATOS

¿QUE ES UNA BASE DE DATOS?
Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática.Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.

¿QUE ES UNA SMBD?

Sistema Manejador de Base de Datos.
Definición El sistema de gestión de bases de datos es
esencial para el adecuado funcionamiento y manipulación de los datos contenidos
en la base. Se puede definir como: "El Conjunto de programas, procedimientos,
lenguajes, etc. que suministra, tanto a los usuarios no informáticos como a los
analistas, programadores o al administrador, los medios necesarios para
describir, recuperar y manipular los datos almacenados en la base, manteniendo
su integridad, confidencialidad y seguridad".

QUE ES SQL?


El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en estas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella.

Los orígenes del SQL están ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados. Basándose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English Query Language) que más tarde sería ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial.El SEQUEL terminaría siendo el predecesor de SQL, siendo este una versión evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión de bases de datos relacionales surgidos en los años siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, el "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por la ISO.Sin embargo, este primer estándar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definición de almacenamiento que se consideraron suprimir. Así que en 1992 se lanza un nuevo estándar ampliado y revisado del SQL llamado "SQL-92" o "SQL2".En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio.El ANSI SQL sufrió varias revisiones y agregados a lo largo del tiempo:AñoNombreAliasComentarios1986SQL-86SQL-87Primera publicación hecha por ANSI. Confirmada por ISO en 1987.1989SQL-89Revisión menor.1992SQL-92SQL2Revisión mayor.1999SQL:1999SQL2000Se agregaron expresiones regulares, consultas recursivas (para relaciones jerárquicas), triggers y algunas características orientadas a objetos.2003SQL:2003 Introduce algunas características de XML, cambios en las funciones, estandarización del objeto sequence y de las columnas autonumericas. (Ver Eisenberg et al.: SQL:2003 Has Been Published.)2006SQL:2006 ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras de importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML.2008SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE

¿QUE ES UN LMD?
Sentancia LMD como tal no existe, ya que un lmd es:Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.entonces todas las intrucciones de sql que es el que normalmente usamos son lmd: select, insert, updateUna sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relaciona.

miércoles, 7 de diciembre de 2011

servicios de intirernet

Internet es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la familia de protocolos TCP/IP, garantizando que las redes físicas heterogéneas que la componen funcionen como una red lógica única, de alcance mundial. Sus orígenes se remontan a 1969, cuando se estableció la primera conexión de computadoras, conocida como ARPANET, entre tres universidades en California y una en Utah, Estados Unidos.

Uno de los servicios que más éxito ha tenido en Internet ha sido la World Wide Web (WWW, o "la Web"), hasta tal punto que es habitual la confusión entre ambos términos. La WWW es un conjunto de protocolos que permite, de forma sencilla, la consulta remota de archivos de hipertexto. Ésta fue un desarrollo posterior (1990) y utiliza Internet como medio de transmisión.

Existen, por tanto, muchos otros servicios y protocolos en Internet, aparte de la Web: el envío de correo electrónico (SMTP), la transmisión de archivos (FTP y P2P), las conversaciones en línea (IRC), la mensajería instantánea y presencia, la transmisión de contenido y comunicación multimedia -telefonía (VoIP), televisión (IPTV)-, los boletines electrónicos (NNTP), el acceso remoto a otros dispositivos (SSH y Telnet) o los juegos en línea.

Sus orígenes se remontan a la década de 1960, dentro de ARPA (hoy DARPA), como respuesta a la necesidad de esta organización de buscar mejores maneras de usar los computadores de ese entonces, pero enfrentados al problema de que los principales investigadores y laboratorios deseaban tener sus propios computadores, lo que no sólo era más costoso, sino que provocaba una duplicación de esfuerzos y recursos.[5] Así nace ARPANet (Advanced Research Projects Agency Network o Red de la Agencia para los Proyectos de Investigación Avanzada de los Estados Unidos), que nos legó el trazado de una red inicial de comunicaciones de alta velocidad a la cual fueron integrándose otras instituciones gubernamentales y redes académicas durante los años 70.

Investigadores, científicos, profesores y estudiantes se beneficiaron de la comunicación con otras instituciones y colegas en su rama, así como de la posibilidad de consultar la información disponible en otros centros académicos y de investigación. De igual manera, disfrutaron de la nueva habilidad para publicar y hacer disponible a otros la información generada en sus actividades.

En el mes de julio de 1961 Leonard Kleinrock publicó desde el MIT el primer documento sobre la teoría de conmutación de paquetes. Kleinrock convenció a Lawrence Roberts de la factibilidad teórica de las comunicaciones vía paquetes en lugar de circuitos, lo cual resultó ser un gran avance en el camino hacia el trabajo informático en red. El otro paso fundamental fue hacer dialogar a los ordenadores entre sí. Para explorar este terreno, en 1965, Roberts conectó una computadora TX2 en Massachusetts con un Q-32 en California a través de una línea telefónica conmutada de baja velocidad, creando así la primera (aunque reducida) red de computadoras de área amplia jamás construida.

Esquema lógico de la red "Arpanet".
  • 1969: La primera red interconectada nace el 21 de noviembre de 1969, cuando se crea el primer enlace entre las universidades de UCLA y Stanford por medio de la línea telefónica conmutada, y gracias a los trabajos y estudios anteriores de varios científicos y organizaciones desde 1959 (ver: Arpanet). El mito de que ARPANET, la primera red, se construyó simplemente para sobrevivir a ataques nucleares sigue siendo muy popular. Sin embargo, este no fue el único motivo. Si bien es cierto que ARPANET fue diseñada para sobrevivir a fallos en la red, la verdadera razón para ello era que los nodos de conmutación eran poco fiables, tal y como se atestigua en la siguiente cita:
A raíz de un estudio de RAND, se extendió el falso rumor de que ARPANET fue diseñada para resistir un ataque nuclear. Esto nunca fue cierto, solamente un estudio de RAND, no relacionado con ARPANET, consideraba la guerra nuclear en la transmisión segura de comunicaciones de voz. Sin embargo, trabajos posteriores enfatizaron la robustez y capacidad de supervivencia de grandes porciones de las redes subyacentes. (Internet Society, A Brief History of the Internet)
  • 1972: Se realizó la Primera demostración pública de ARPANET, una nueva red de comunicaciones financiada por la DARPA que funcionaba de forma distribuida sobre la red telefónica conmutada. El éxito de ésta nueva arquitectura sirvió para que, en 1973, la DARPA iniciara un programa de investigación sobre posibles técnicas para interconectar redes (orientadas al tráfico de paquetes) de distintas clases. Para este fin, desarrollaron nuevos protocolos de comunicaciones que permitiesen este intercambio de información de forma "transparente" para las computadoras conectadas. De la filosofía del proyecto surgió el nombre de "Internet", que se aplicó al sistema de redes interconectadas mediante los protocolos TCP e IP.
  • 1983: El 1 de enero, ARPANET cambió el protocolo NCP por TCP/IP. Ese mismo año, se creó el IAB con el fin de estandarizar el protocolo TCP/IP y de proporcionar recursos de investigación a Internet. Por otra parte, se centró la función de asignación de identificadores en la IANA que, más tarde, delegó parte de sus funciones en el Internet registry que, a su vez, proporciona servicios a los DNS.
  • 1986: La NSF comenzó el desarrollo de NSFNET que se convirtió en la principal Red en árbol de Internet, complementada después con las redes NSINET y ESNET, todas ellas en Estados Unidos. Paralelamente, otras redes troncales en Europa, tanto públicas como comerciales, junto con las americanas formaban el esqueleto básico ("backbone") de Internet.
  • 1989: Con la integración de los protocolos OSI en la arquitectura de Internet, se inició la tendencia actual de permitir no sólo la interconexión de redes de estructuras dispares, sino también la de facilitar el uso de distintos protocolos de comunicaciones.
En 1990 el CERN crea el código HTML y con él el primer cliente World Wide Web. En la imagen el código HTML con sintaxis coloreada.

En el CERN de Ginebra, un grupo de físicos encabezado por Tim Berners-Lee creó el lenguaje HTML, basado en el SGML. En 1990 el mismo equipo construyó el primer cliente Web, llamado WorldWideWeb (WWW), y el primer servidor web.

A inicios de los 90, con la introducción de nuevas facilidades de interconexión y herramientas gráficas simples para el uso de la red, se inició el auge que actualmente le conocemos al Internet. Este crecimiento masivo trajo consigo el surgimiento de un nuevo perfil de usuarios, en su mayoría de personas comunes no ligadas a los sectores académicos, científicos y gubernamentales.

Esto ponía en cuestionamiento la subvención del gobierno estadounidense al sostenimiento y la administración de la red, así como la prohibición existente al uso comercial del Internet. Los hechos se sucedieron rápidamente y para 1993 ya se había levantado la prohibición al uso comercial del Internet y definido la transición hacia un modelo de administración no gubernamental que permitiese, a su vez, la integración de redes y proveedores de acceso privados.

  • 2006: El 3 de enero, Internet alcanzó los mil cien millones de usuarios. Se prevé que en diez años, la cantidad de navegantes de la Red aumentará a 2.000 millones.[6]

El resultado de todo esto es lo que experimentamos hoy en día: la transformación de lo que fue una enorme red de comunicaciones para uso gubernamental, planificada y construida con fondos estatales, que ha evolucionado en una miríada de redes privadas interconectadas entre sí. Actualmente la red experimenta cada día la integración de nuevas redes y usuarios, extendiendo su amplitud y dominio, al tiempo que surgen nuevos mercados, tecnologías, instituciones y empresas que aprovechan este nuevo medio, cuyo potencial apenas comenzamos a descubrir.


Internet y su evolución

Inicialmente el Internet tenía un objetivo claro. Se navegaba en Internet para algo muy concreto: búsquedas de información, generalmente. Ahora quizás también, pero sin duda alguna hoy es más probable perderse en la red, debido al inmenso abanico de posibilidades que brinda. Hoy en día, la sensación que produce Internet es un ruido, una serie de interferencias, una explosión de ideas distintas, de personas diferentes, de pensamientos distintos de tantas posibilidades que, en ocasiones, puede resultar excesivo. El crecimiento o más bien la incorporación de tantas personas a la red hace que las calles de lo que en principio era una pequeña ciudad llamada Internet se conviertan en todo un planeta extremadamente conectado entre sí entre todos sus miembros. El hecho de que Internet haya aumentado tanto implica una mayor cantidad de relaciones virtuales entre personas. es posible concluir que cuando una persona tenga una necesidad de conocimiento no escrito en libros, puede recurrir a una fuente más acorde a su necesidad. Como ahora esta fuente es posible en Internet Como toda gran revolución, Internet augura una nueva era de diferentes métodos de resolución de problemas creados a partir de soluciones anteriores. Algunos sienten que Internet produce la sensación que todos han sentido sin duda alguna vez; produce la esperanza que es necesaria cuando se quiere conseguir algo. Es un despertar de intenciones que jamás antes la tecnología había logrado en la población mundial. Para algunos usuarios Internet genera una sensación de cercanía, empatía, comprensión y, a la vez, de confusión, discusión, lucha y conflictos que los mismos usuarios consideran la vida misma.


Preponderancia como fuente de información

En 2009, un estudio realizado en Estados Unidos indicó que un 56% de los 3.030 adultos estadounidenses entrevistados en una encuesta online manifestó que si tuviera que escoger una sola fuente de información, elegiría Internet, mientras que un 21% preferiría la televisión y tanto los periódicos como la radio sería la opción de un 10% de los encuestados. Dicho estudio posiciona a los medios digitales en una posición privilegiada en cuanto a la búsqueda de información y refleja un aumento de la credibilidad en dichos medios.