程序處理上百萬上千萬數據時?
在應用層面, 必須要將上千萬的數據載入內存使用的情況, 根據不同的應用目的, 可以采用memcached或mongoDB這樣的采用對象集合實現的非關系型數據庫系統. 千萬行數據的規模, 也能夠提供毫秒級的存取.
在數據庫層面, 為提高性能將數據分割是比較常用的手段. 根據不同的情況, 使用日期, 應用主體等等維度來分割數據表.
在架構層面, 對單點無法負載的應用, 需要針對不同情況, 根據不同的維度對應用進行垂直分割, 或水平分割, 或綜合使用. 簡單來說, 垂直分割就是根據應用主體, 將所有應用功能憑據分布到多個節點, 實現負載平均, 好處是易于擴展. 水平分割就是根據應用模塊, 將應用拆分成多個節點, 好處是可以有針對性靈活部署.
以上說的只是一些優化建議, 請詳細描述你的應用情況, 才能給出針對性的方案.
如果你只需要解決應用層面的問題, 我實在是想象不出有什么情況需要將這么大規模的數據全部載入內存操作.