Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. El procesamiento distribuido.
1.1. Concepto de procesamiento distribuido.
1.2. Ventajas y desventajas.
1.3. Sistemas distribuidos.
1.4. Principios fundamentales de un sistema distribuido.
2. Python y BBDD
2.1. Instalar.
2.2. Importación y datos de conexión.
2.3. Crear una consulta.
2.4. Conectar y realizar una consulta.
2.5. Si insertas/eliminas/actualizas en la base de datos.
2.6. Recorrer resultados.
2.7. Pandas y BBDD.
Los objetivos que se pretenden alcanzar con este recurso son los siguientes:
▪ Conocer el “procesamiento distribuido”.
▪ Comprender los principios fundamentales de los sistemas distribuidos.
▪ Trabajar el procesamiento distribuido en arquitectura cliente servidor con Python y MySQL.
1. EL PROCESAMIENTO DISTRIBUIDO
1.1. Concepto de procesamiento distribuido
El término “procesamiento distribuido” significa que distintas máquinas pueden conectarse en una red, de tal
manera que una sola tarea de procesamiento de datos pueda extenderse a varias máquinas de la red.
El procesamiento distribuido presenta muchas variedades posibles. Una de las arquitecturas es “cliente-servidor”
▪ El servidor en este caso es el DBMS. Soporta las funciones propias de definir datos, manipular datos, seguridad,
etc.
▪ El cliente son las aplicaciones que se ejecutan sobre el DBMS. Pueden ser:
• Proporcionadas por el propio fabricante.
• Escritas por el usuario e integradas.
1. EL PROCESAMIENTO DISTRIBUIDO
1.2. Ventajas y desventajas
Ventajas:
▪ Centralización.
▪ Seguridad.
▪ Fácil de instalar.
▪ Separación de responsabilidades.
▪ Portabilidad.
Desventajas:
▪ Actualizaciones (en cliente).
▪ Concurrencia.
▪ Caída de servidor.
▪ Protocolos de bajo nivel.
▪ Depuración
5 © Copyright Universidad Europea. Todos los derechos reservados
Sistemas distribuidos con BBDD
1. EL PROCESAMIENTO DISTRIBUIDO
1.3. Sistemas distribuidos
El cliente podría acceder a varios servidores de manera simultánea, es decir una sola petición podría combinar
datos de diversos servidores. Y esto realizarse de manera transparente.
1. EL PROCESAMIENTO DISTRIBUIDO
1.4. Principios fundamentales de un sistema distribuido
1. Autonomía local.
2. No dependencia de un sitio central.
3. Operación continua.
4. Independencia de ubicación.
5. Independencia de fragmentación.
6. Independencia de replicación.
7. Procesamiento de consultas distribuidas.
8. Administración de transacciones distribuidas.
9. Independencia de hardware.
10. Independencia de sistema operativo.
11. Independencia de red.
12. Independencia de DBMS.
1. El procesamiento distribuido
1. Autonomía local. 2. No dependencia de un sitio central 3. Operación continua.
1. El procesamiento distribuido
4. Independencia de ubicación. 5. Independencia de fragmentación. 6. Independencia de replicación.
.
La independencia con respecto Un sistema tiene fragmentación de Un sistema maneja réplica de datos si
a la localización, permite que los datos solo si es posible dividir una una relación dada se puede
usuarios finales no sepan donde relación en partes o “fragmentos” representar en el nivel físico mediante
para propósitos de almacenamiento varias copias réplicas, en muchos
están almacenados físicamente
físico. La fragmentación es deseable sitios distintos. La réplica es deseable
los datos, sino que trabajen como por razones de desempeño: los datos al menos por dos razones: 1) Puede
si todos los datos estuvieran pueden almacenarse en la localidad producir un mejor desempeño (las
almacenados en su propio sitio donde se utilizan con mayor aplicaciones pueden operar sobre
local. Esto hace posible la frecuencia, de manera que la mayor copias locales en vez de tener que
migración de datos de un sitio a parte de las operaciones sean solo comunicarse con sitios remotos); 2)
otro sin anular la validez de locales y se reduzca el tráfico en la Puede significar una mejor
ninguno de esos sistemas o red de cómputo. Existen en esencia disponibilidad (un objeto estará
dos clases de fragmentación, la disponible para su procesamiento en
actividades. Esta función de
fragmentación horizontal y la tanto esté disponible por lo menos
migración permite modificar la fragmentación vertical. La una copia, al menos para propósitos
distribución de los datos dentro reconstrucción de la relación de recuperación). La desventaja
de la red, en respuesta a originada a partir de los fragmentos principal de las réplicas es cuando se
cambios en los requerimientos. se hace mediante operaciones de pone al día un cierto objeto copiado,
reunión y unión (reunión en el caso deben ponerse al día todas las
de fragmentación vertical, y la unión réplicas de ese objeto. La réplica
en casos de fragmentación debe ser “transparente para el
horizontal). usuario final”.
1. El procesamiento distribuido
7. Procesamiento de consultas 8. Administración de transacciones 9. Independencia de hardware.
distribuidas. distribuidas
.
1. El procesamiento distribuido
10. Independencia de sistema 11. Independencia de red. 12. Independencia de DBMS.
operativo.
.
Es necesario y conveniente no
.
Si el sistema puede manejar En la independencia con
sólo de poder ejecutar el mismo múltiples sitios, con equipos respecto a su manejo, se requiere
SGBD en diferentes equipos, sino distintos y diferentes sistemas que los SGBD en los diferentes
también poder ejecutarlo en operativos, resulta conveniente sitios manejen todos la misma
diferentes sistemas operativos. manejar también varios tipos de interfaz.
redes de comunicación distintas.
2. PYTHON-BBDD
2.1. Instalar
import MySQLdb
2. PYTHON-BBDD
2.3. Crear una consulta
Recomendable crear una función para llamarla tantas veces como sea necesario.
try:
db = MySQLdb.connect(DB_HOST , DB_USER , DB_PASS , DB_NAME )
c = db.cursor()
c.execute(SQL)
output = c.fetchall()
c.close() #Cerramos la consulta
db.close() #No olvidar cerrar la conexión a la base de datos
except:
print “THERE WAS A PROBLEM ACCESSING THE DATABASE”
raw_input(“Press Enter to continue: “)
return
2. PYTHON-BBDD
2.5. Si insertas/eliminas/actualizas en la base de datos
c = db.cursor()
c.execute(SQL)
#Debemos hacer un commit para grabar la transacción
db.commit()
c.close()
db.close()
raw_input(“Record added - press enter to continue: ")
2.6. Recorrer resultados
2. PYTHON-BBDD
2.7. Pandas y BBDD
# Escribe los datos del nuevo DataFrame en una nueva tabla en SQLite
https://pandas.pydata.org/docs/reference/api/pandas.read_sql_query.html
https://pandas.pydata.org/docs/reference/api/pandas.read_sql_table.html
https://pandas.pydata.org/docs/reference/api/pandas.read_sql.html
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html
BIBLIOGRAFÍA