if u don't care about how you are fetching data using dataadapter/ datareader but wants to know which data source collection will be helpful to u. U have to 1st think about what are u going to do with your data.
Datatable and dataset are good but heavy collection compare to other collections like list,array,dictionary etc. but Very useful (they have built-in many functionality like sort,filter, parent - child relation and many more). As their base is XML they are most portable collection with any system which support xml. WCF,web service absorb them easily without much help.
Now if you don't want above functionality. List ,array are better option.But still there is lot of secrets of optimization and performance.
If want to know real difference of such collections , follow this link
http://www.dotnetperls.com/collections[
.Net Collection].
http://www.dotnetperls.com/optimization[
.Net Optimization]
If u like this solution ,plz accept as answer.