Data mining involves analyzing large datasets to extract useful patterns. It is needed due to the huge amounts of data being generated from various sources like transactions, web documents, social media, sensors, etc. This data contains valuable information but requires analysis to extract knowledge. Data mining techniques are useful for tasks like recommendations, predictions, grouping similar items, and understanding relationships in the data. The main types of data include numeric, categorical, text, transactions, sequences, graphs and different analyses can be done depending on the domain and data type.