With so many rows of data I would either use a table or a bundle. As stated by Jordan, a bundle will be the most memory efficient, but you can only store numbers and strings in a bundle and each column can either be all numbers or all strings.
Using a Global Table you can set the data to be a node table (the default) or check the box to have it use a bundle. There's really no difference in the interface between the two. The code for accessing values in the table/bundle will also remain the same so it's not hard to switch back and forth between the two methods and test your speed as Steven says.