Last question first: Doing snapshot per client obviously uses more memory than doing snapshot per object. If you have 100 clients, each of which just keeps one snapshot per object, that's the same as keeping 100 global snapshots of the same object, which would let you see 3 seconds back at 30 Hz simulation rate. You probably don't need more than 1 second look-back; if someone is more out of sync than that, just send the entire thing. You still need a per-player "player has acknowledged entity X at tick Y" map, but that's much cheaper (two integers per entity per player) and you need a "packet for tick Y contained entities Xs" map per player; that's also not terribly expensive.
Regarding network view range: This is very common in networked games with large worlds (large FPS-es, MMOs, and so forth.) There are a few common gotchas, such as making sure that entity "become visible" and entity "disappear" messages are reliably delivered, else you may end up with "zombie" entities that the client thinks are visible, but the server doesn't send updates for anymore. There's also the problem of binoculars, and long-range missiles, and similar game mechanics. Easiest is to not add such mechanics to your game; if you need binoculars, you may want to add a "movement blur" effect when opening them to give the server time to make-visible entities further out in the binocular direction.
The classic problem with network view range is that some zones will be much more popular than others. The "auction zone" or "market square" in an MMO will have much higher player density than regular combat zones, for social reasons. If everyone wants to be in the same place at the same time, then you have to show everyone to everyone else. Figuring out what to do in this case is still something you need to solve. Gameplay design can help; PUBG/Battle Royale style gameplay naturally spreads players out initially, and as players attrit, there are fewer of them as the play area shrinks. Similarly, making gathering spots "no-fight" from a design point of view means that dedicated meeting areas can use different network update rates, not send weapon info, etc, and still not break the game.
Also, it may not be obvious initially, but server network needs actually scale by the square of the number of players, because if 100 players see 100 other players, you need to send data about 100 players, TO 100 players, which ends up with 10,000 "player data points" being sent. If your game design includes network view range, then it will tend to put a soft limit on the number of players who can see each other. One way to put a hard cap on that is to dynamically adjust the visible range based on how dense the player population is around you.
Finally, beware of cheap "100 mbps unlimited !!!" hosts. Typically, the 100 mbps is only the virtual network card in your VPS; the physical host is typically over-subscribed, and the network switch at the top of the rack it's plugged into is typically oversubscribed, and so on all the way to the internet peering/transit connections. I've had "unlimited 1 Gbps!" hosts end up delivering 40 kB/s to the actual internet, because of this.