No, the RAM model is worthless for big data use, because it doesn't model distributed computing at all. You need a different model - one that also includes communication, and probably file I/O as well. Big-O notation is not to blame if the thing you put into it models the wrong thing. Just assign a cost α to initiating a connection, β for sending a word of data, and similar for I/O. Treat those as variables, and you'll get O(local work + β communication volume + α latency).