When you insert a new item in a B+tree leaf node, and the node is full, two new nodes are created and they're both filled halfway and the values get re-distributed accordingly.
Before the insertion:
After inserting 6:
Problem that I'm having is that this leaves lots of empty spots across my nodes. I could even end up in a situation possibly where "pages" are loaded from disk with half of the data they could potentially have.
Any ideas around this?