Maria supports all aspects of
      MyISAM, except as noted below. This includes
      external and internal check/repair/compressing of rows, different
      row formats, different index compress formats, maria_check etc.
      After a normal shutdown one can copy Maria
      files between servers.
    
      Advantages of Maria
      (Compared to MyISAM) 
    
          Data and indexes are crash safe. On crash, things will
          rollback to state of the start of statement or last
          LOCK TABLES commands.
        
          Maria can replay everything from the log.
          Including
          CREATE/DROP/RENAME/TRUNCATE
          tables.
        
          LOAD INDEX can skip index
          blocks for not wanted indexes
        
          Supports all MyISAM row formats and the new
          transactional format where data is stored in pages.
        
When using transactional format (default) row data can be cached.
          Maria has unit tests of most parts
        
          Supports both crash safe (soon to be transactional) and not
          transactional tables. (Not transactional tables are not logged
          and rows uses less space.) CREATE TABLE foo (...)
          TRANSACTIONAL=0|1
        
Transactional is the only crashsafe/transactional row format.
Block format should give a notable speed improvement on systems with bad data caching (for example Windows).
      Differences between Maria
      and MyISAM 
    
          Maria uses big (1GB by default) log files.
        
          Maria has a log control file
          (maria_log_control) and log files (
          maria_log.????????). The log files can be
          automatically purged when not needed or purged on demand
          (after backup).
        
          Maria uses by default 8K pages for indexes
          (MyISAM 1K). Maria
          should be faster on static size indexes but slower on variable
          length keys (until we add a directory to index pages).
        
      Disadvantages of Maria
      (compared to MyISAM), that will be fixed in
      forthcoming releases.
    
          Maria 1.0 has one writer or many readers.
          (MyISAM can have one inserter and many
          readers when using concurrent inserts.)
        
          Storage of very small rows (< 25 bytes) is not efficient
          for PAGE format.
        
          In Maria PAGE format
          there is an overhead of 10 bytes/page and 5 bytes/row.
          Transaction and multiple concurrent writer support will use an
          additional overhead of 7 bytes for new rows, 14 bytes for
          deleted rows and 0 bytes for old compacted rows.
        
          Maria doesn't support
          INSERT DELAYED.
        
          The maria_page_buffer_size system variable
          that controls the Maria page cache size is
          not dynamically settable like the corresponding
          MyISAM variable,
          key_buffer_size.
        
Differences that are not likely to be fixed
          No external locking (MyISAM has external
          locking, but it is not much used).
        
          Maria has one page size for both index and
          data (defined when Maria is used first
          time). MyISAM supports different page sizes
          per index.
        
Index requires one extra byte per index page.
          Maria doesn't support RAID (disabled in
          MyISAM too).
        
          Minimum data file size for PAGE format is
          16K (with 8K pages).
        


User Comments
Add your own comment.