I'm pretty sure I just learned some new (important) here but I have no idea what it was. Just imagine me sitting at my desk with an old man OMG face...
- Do reads or writes overwhelm the other in quantity? We can consider specialized ideas for rarely-written/read often-read/written cases. Is the speed requirement the same for reads and writes? - Are the writes modifications or mostly appending? Are the reads scan for all orders or perhaps returning the ones closer to the mark price? - Are there any patterns to the updates? Perhaps the reads/writes are clustered in a certain region of the ledger? - I'm guessing no, but if inconsistency can be tolerated that opens some design choices too. Also, whether this is going to go beyond the context of one machine can matter too. While this is an interesting question to ponder, in reality you'd probably implement the simplest thing that works and then evolve by exploiting these product specific patterns.
Here's the real answer: You don't actually have any such requirement. Surprised no one figured it out after 4 pages.