title: Relationship of database (MySql) to an engine (InnoDB)?
body: <p>There's 10 million articles out there comparing MyISAM to InnoDB (two so-called <em>database engines</em>), which <a href="https://en.wikipedia.org/wiki/Database_engine" rel="nofollow">Wikipedia</a> vaguely defines as:</p>
  
  <blockquote>
    <p>"<em>...the underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database.</em>"</p>
  </blockquote>
  
  <p>But what does that really mean? Surprisingly, I couldn't find a single article talking about the relationship of a DB to its engine!</p>
  
  <p>How does an engine manifest itself in the concrete, real world? Is it that a database is really just a binary file, and that its "engine" is the <code>.exe</code> that handles all I/O to and from the file? Does the engine handle <code>EXPLAIN</code> AND QEPs?</p>
  
  <p>I guess what I'm asking is: <strong>how do you define which responsibilities are MySQL's, and which activities are the responsibility of its underlying engine?</strong></p>