The problem is distance, not bandwidth. Distance being relative of course since internet may route you through Paris and the next minute through Hongkong.
With normal transactional access you'll make requests for small amounts of data, make some decisions based on the retrieved data and fetch more small amounts of data. Each request will cost you the full roundtrip time at least twice (Req. + ACK, Data + ACK). Example: using ping my LAN shows an average of 0.2ms, towards my local ISP 8ms and cross-Atlantic 24ms.
With 40 times more network latency the challenge becomes to limit the number of communications. You should therefore make as little requests and at the same time retrieve as much data as possible. With a standard frame size of 1496 bytes which includes a header of upto 32 bytes you would benefit from reading or writing blocks close to but smaller than 1450 bytes. This is in fact what Pervasives client cache engine does: it fills the additional space in a network frame with data it anticipates you'll want next. Obviously if you do a lot of jumping around this mechanism will fail horribly so you should most definitly avoid doing this.