Consultas analíticas são consultas realizadas em bancos de dados sobre uma enorme quantidade de dados, normalmente dados coletados ao longo do tempo. Essas consultas tem como objetivo principal ajudar a tomar uma decisão ou ajudar a compreender um fenômeno. Uma consulta nada mais é do que uma pergunta e a pessoa que realiza essas perguntas quer que elas sejam respondidas rapidamente e quer poder realizar qualquer pergunta, por mais precisa que ela seja.
Granularidade
A precisão em uma pergunta indica o nível de detalhe que uma pergunta pode ser realizada. O dono de uma padaria, por exemplo, poderia se perguntar "Vale a pena abrir a padaria em fins de semana ?" .
Esse é um exemplo de uma pergunta que se transforma em uma consulta analítica. Para responder essa pergunta, ele teria que comparar o histótico das vendas realizadas em dias de semana e fins de semana. Entretanto, mais que isso, ele precisa distinguir fins de semana dos outros dias.
Agora se ao armazenar os dados das vendas apenas o mês e registrado, é impossível responder a essa pergunta, não existem dados o suficiente para respondê-la, os dados não são precisos o suficiente.
A medida de precisão dos dados é chamada de granularidade.
Quanto maior a granularidade, mais precisa uma consulta pode ser, entretanto isso também aumenta a quantidade de dados armazenados. Quanto mais dados mais lenta a consulta, logo quanto mais precisa é a base de dados, mais lenta é a execução de consulta nela.
O problema então se resume a Como responder perguntas de forma rápida e precisa?