How to Build a Non-Volatile Memory DBMS