docs: def create_schema(self):
          """Create all necessary tables"""
          cursor = self.cursor
          execute = cursor.execute
          execute('SHOW TABLES')
          tables = {table for table, in cursor}
          if 'gauged_data' not in tables:
              execute("""CREATE TABLE gauged_data (
                  namespace INT(11) UNSIGNED NOT NULL,
                  offset INT(11) UNSIGNED NOT NULL,
                  `key` BIGINT(15) UNSIGNED NOT NULL,
                  data MEDIUMBLOB NOT NULL,
                  flags INT(11) UNSIGNED NOT NULL,
                  PRIMARY KEY (offset, namespace, `key`))""")
          if 'gauged_keys' not in tables:
              execute("""CREATE TABLE gauged_keys (
                  id BIGINT(15) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                  namespace INT(11) UNSIGNED NOT NULL,
                  `key` VARCHAR(255) BINARY NOT NULL,
                  UNIQUE KEY (namespace, `key`))""")
          if 'gauged_writer_history' not in tables:
              execute("""CREATE TABLE gauged_writer_history (
                  id VARCHAR(255) NOT NULL PRIMARY KEY,
                  timestamp BIGINT(15) UNSIGNED NOT NULL)""")
          if 'gauged_cache' not in tables:
              execute("""CREATE TABLE gauged_cache (
                  namespace INT(11) UNSIGNED NOT NULL,
                  `key` BIGINT(15) UNSIGNED NOT NULL,
                  hash BINARY(20) NOT NULL,
                  length BIGINT(15) UNSIGNED NOT NULL,
                  start BIGINT(15) UNSIGNED NOT NULL,
                  value FLOAT(11),
                  PRIMARY KEY (namespace, hash, length, start))""")
          if 'gauged_statistics' not in tables:
              execute("""CREATE TABLE gauged_statistics (
                  namespace INT(11) UNSIGNED NOT NULL,
                  offset INT(11) UNSIGNED NOT NULL,
                  data_points INT(11) UNSIGNED NOT NULL,
                  byte_count INT(11) UNSIGNED NOT NULL,
                  PRIMARY KEY (namespace, offset))""")
          if 'gauged_metadata' not in tables:
              execute("""CREATE TABLE gauged_metadata (
                  `key` VARCHAR(255) NOT NULL PRIMARY KEY,
                  value VARCHAR(255) NOT NULL)""")
          self.db.commit()