What is the best approach to filter large data sets in Unity?

I want to be able to take a large set of data, and filter it using tags and conditionals to return a smaller data set. It seems like a job for a database, and Unity does not have that kind of functionality out of the box - is there a better way built in?

try to use linq. for filter and queries.