Data mining is an important field of computer science which analyzes the large data sets and derives meaningful conclusions. In this paper we explained various data mining tools that are available in the present day market. We explained the concept of clustering, also surveyed different algorithms belonging to both linear and non linear clustering and explained them theoretically.