This one's a quite frequently asked feature. Currently we store the
full list of child nodes in the same bundle or node state record with
the parent node. This makes it expensive to support nodes with large
amounts (>>1k) of child nodes.

The obvious solution to this problem is to use a data structure like a
B-tree to keep track of the child node entries. Doing this efficiently
while still supporting both orderable nodes and same-name-siblings
(i.e. nt:unstructured) probably requires some deeper thought. An added
benefit would be the ability to do this on top of an append-only
storage model.