Primeramente se debe de contar con heterogeneidad de los datos, para que puedan ser usados para formular consultas.
Asi como tambien necesitamos contar con:
-Localización de los datos para generar reglas heurísticas.
-Descomposición de consultas en paralelo en cada nodo.
-Reducir la cantidad de datos a transferir en la red.
Contamos con la estrategia de Reformulación de consultas, que nos sirve para encontrar la información que nos va a proveer sea solo la que se le pidió por la fuente, también se cuenta con la estrategia de descomposición de las fuentes, que consiste en que según las fuentes que pidan cierto tipo de datos sean las atendidas con mayor velocidad.
Los lenguajes de bases de datos relacionales permiten la expresión de consultas complejas en una forma concisa y simple.
Para construir una respuesta a una consulta, el usuario no tiene que especificar de manera precisa el procedimiento que se debe seguir. Este procedimiento es llevado a cabo por un módulo de DBMS llamado el procesador de consultas (query processor).
Dado que la ejecución de consultas es un aspecto crítica en el rendimiento de un DBMS, el procesamiento de consultas ha recibido una gran atención tanto para bases de datos centralizadas como distribuidas. Sin embargo, el procesamiento de consultas es mucho más difícil en ambientes distribuidos que en centralizados, ya que existe un gran número de parámetros que afectan el rendimiento de las consultas distribuidas.
Comparar un sistema centralizado con uno distribuido es una tarea complicada ya que ambos difieren en una gran cantidad de aspectos, desde su arquitectura hasta la forma de tratar una consulta. Vamos a enumerar las principales características de los procesadores de consultas distribuidas y que los diferencias de los procesadores de los sistemas centralizados:
• Tipo de optimización.
• Granularidad de la optimización.
• Tiempo de optimización
• Estadísticas
• Nodos de decisión.
• Topología de la red
El procesamiento de consultas distribuidas podemos separarlo en cuatro fases o niveles, desde que la consulta llega hasta que se optimiza al máximo posible:
• Descomposición de consultas.
• Localización de datos.
• Optimización global de consultas.
• Optimización local de consultas.