How do services like MediaWiki and Wikipedia manage edit history and how the database schema is designed. My initial thoughts are either using an edit_history table that stores each change (with the delta) within it but I'm wondering if someone can chime in with the actual approach systems like Wikipedia use?