Lexorank is a system to store ordered items in a database that allows efficient reordering.
Each item is assigned a rank—a string. Ranks are sorted lexicographically to get items’ order.
When you need to reorder an item, you assign it a rank that is lexicographically between ranks of new neighboring items. For each item re-order, a single row needs to be modified in database.