If you need sub-second live data, then yeah, you need to read from the primary. Most applications do not, and 1-2 seconds of potential lag are acceptable.