How to calculate correlation on large number of records?
Firstly, make sure you're applying the right formula for correlation.  Remember, given vectors x and y, correlation is ((x-mean(x)) * (y - mean(y)))/(length(x)*length(y)), where * represents the dot-product and length(x) is the square root of the sum of the squares of the terms in x.  (I know that's silly, but noticing a mis-typed formula is a lot easier than redoing a program.)
Do you have a strong hunch that there should be some correlation among these columns?  If you don't, then those small values are reasonable.  On the other hand, if you're pretty sure that there ought to be a strong correlation, then try sampling a random 100 pairs and either finding the correlation there, or plotting them for visual inspection, which can also show you if there is correlation present.
I am trying to calculate correlation amongst three columns in a dataset. The dataset is relatively large (4 GB in size). When I calculate correlation among the columns of interest, I get small values like 0.0024, -0.0067 etc. I am not sure this result makes any sense or not. Should I sample the data and then try calculating correlation?
Any thoughts/experience on this topic would be appreciated.