Clustering is the task of grouping similar data in the same group (cluster). Cluster analysis aims to find the clusters such that the inter-cluster similarity is low and the intra-cluster similarity is high. There are several different approaches of clustering: partitioning, hierarchical, density-based, grid-based and constrained-based methods. We are interested in working on different clustering approaches especially constrained-based methods, graph clustering and clustering of big data and streams.