No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Práctico de SQL

Curso Práctico de SQL

Israel Vázquez Morales

Israel Vázquez Morales

Queries distribuídos

25/29
Recursos

Aportes 27

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Esta clase tiene algo muy importante; Acerca de que al trabajar de manera local olvidamos que la transferencia de información y la comunicación, impacta sobre el tiempo en el cual se obtienen los resultados y la información, en las empresas el tiempo es dinero, y si estamos preparados para analizar este tipo de problemas con lógica, podemos ser mas eficientes, este tipo de conocimiento es lo que crea un plus a nuestro trabajo.

  1. Analiza cual tabla tiene la menor cantidad de datos (columnas+tablas)
  2. Filtra esos registros donde sea menor cantidad
  3. Trae esos pocos registros a la misma región donde están la mayor cantidad de datos

Sorprendente el impacto en el tiempo de respuesta según se aplica cada estrategia. Me está por estallar la cabeza.
Se me ha hecho bien largo este módulo práctico de SQL, pero seguramente lo volveré a revisar un montón de veces más adelante para afianzar los conocimientos.

RESUMEN DE LA CLASE:

Bases de datos distribuidas
Al realizar una consulta que involucre bases de datos distribuidas y bajo ciertos supuestos podemos resolverla de varias formas posibles, con resultados que se dan desde los 0.1s o 2s hasta las 5.56h dependiendo de cómo esté estructurado el query.
.
Existen cálculos que ayudan a preveer estos tiempos de respuesta, por ejemplo:

  • Retraso total de comunicación =
    (Retraso total de acceso) + (volumen total de datos / tasa de transferencia)

Que brutal saber esto!! muy buena clase.

Alguna vez llegué a trabajar con BD distribuidas y sí tuve complicaciones para optimizar los tiempos de carga. Me las arreglé, pero siempre me quedó la duda de que podría haber hecho para hacerlo aún mejor. Ilustrativa clase

Retraso total en la comunicación = (numero de mensajes/10) + (numero de bits/50000)

Queries distribuídos

En el caso que la base de datos se encuentra distribuida en multiples regiones y la informacion se encuentra fragmentada la construccion de queries debe tener un debido nivel de analisis.

Debido a que en una sola base de datos responder una misma pregunta puede tener multiples soluciones con diferencias de ejecuccion en el rango de milisegundos.
Pero en las bases de datos distribuidas dependiendo de en donde se encuentre la informacion fisicamente, que informacion hay en cada region y que pregunta se quiere contestar, las diferentes formas de resolver la pregunta mediante una consulta SQL puede tener vastas diferencias en el tiempo de ejecucion,como ejemplo algunas soluciones pudiesen llegar al rango de 5 horas para ejecutarse y otras solamente necesitando 0.10 segundos.

  • Retraso total en la comunicación = Retraso total de acceso + (Volumen total de datos / tasa de transferencia)

  • Retraso total en la comunicación =( numero mensajes/10 ) + (numero de bits /50000)

En todo el curso se hizo cardio pero en esta clase ya hay como 1 mes de crossfit.

Que excelente clase, no sabia de estas formulas y me da herramientas para lo que estoy haciendo .

Muy buena clase! Impresionante la consecuencias de un trabajo optimizado y conciente.

Podrías generalizar más el ejemplo, no tiene sentido que se diga que los datos vienen de Bogotá si las regiones están marcadas como A y B y al inicio no se comenta en cuál región se encuentra.

Ahora entiendo el meme de: “Bajé la velocidad de carga de mi base de datos de 4s. a 2s”
.
Es bastante interesante el cómo queremos solucionar nuestro problema, puede tardar más o menos tiempo 👾

Ahora podemos entender lo que demora un servidor en enviar data cuando estamos consultando.
Me quedo con este resumen:
Retraso total en la comunicación = (numero de mensajes/10) + (numero de bits/50000)

Esta clase verdaderamente da una visión local sobre la optimización que en todo momento debemos hacer de nuestras bases de datos. Un ejercicio teórico que abre mucho la visualización sobre como reflexionarlo en la práctica.

Wow, que clase
a una forma diferente en como se ven las cosas

Un ejemplo claro de Queries distribuídos ```js El Nodo A ejecuta SELECT COUNT(*) FROM empleados WHERE país = 'EE.UU.'; y devuelve el resultado (por ejemplo, 5000 empleados). El Nodo B ejecuta SELECT COUNT(*) FROM empleados WHERE país = 'México'; y devuelve el resultado (por ejemplo, 2000 empleados). El Nodo C ejecuta SELECT COUNT(*) FROM empleados WHERE país = 'Brasil'; y devuelve el resultado (por ejemplo, 3000 empleados). El nodo coordinador suma los resultados y devuelve un total de 10,000 empleados. ```
Es increíble como casi todos estamos de acuerdo que este tipo de contenido SÍ es de valor y no el de como hacer un triangulo con asteriscos (cuyo tratamiento \[uso de l/rpad] es raramente utilizado). Muy buen curso, pero se necesita más contenido como este.

Federación de Consultas:

La federación de consultas implica realizar consultas a través de varios nodos de una base de datos distribuida.
Puede requerir el uso de un lenguaje de consulta distribuida, como SQL-MR (SQL MapReduce) o herramientas específicas de federación.

Optimización de Consultas Distribuidas:

Las consultas distribuidas a menudo requieren optimización para minimizar el tráfico de red y mejorar el rendimiento.
Se utilizan técnicas como la distribución adecuada de datos, el particionamiento eficiente y la ejecución paralela de consultas.
Ejemplo de Consulta Distribuida:

Supongamos que tienes una base de datos distribuida con información de clientes en un nodo y sus transacciones en otro nodo.

Una consulta distribuida podría ser obtener todas las transacciones de un cliente específico:

SELECT *
FROM nodo_clientes.clientes c
JOIN nodo_transacciones.transacciones t ON c.id_cliente = t.id_cliente
WHERE c.id_cliente = '123';

Me pareció superimportante el termino de los costos escondidos ya que a simple vista no se ve estos tiempos de procesamiento que resultan costosos y que pueden optimizarse con una buena planeación.

Las queries distribuidas pueden ser muy útiles en aplicaciones que requieren acceso a grandes cantidades de datos y que necesitan procesar consultas complejas de manera eficiente. Por ejemplo, en una aplicación de comercio electrónico, una consulta distribuida puede buscar en múltiples nodos para encontrar los productos disponibles y sus precios, y luego combinar los resultados para mostrarlos al usuario.

Hay que conocer la estructura de la base datos distribuidas antes de calcular los costos añadidos que tiene el hacer un query.

Tremenda clase, te da un plus respecto a otros analistas de bases de datos. Para repasar 100 veces!!

Definitivamente una nueva perspectiva de cómo se ven las cosas en la práctica para este tipo de bases de datos