* allow to put the database and the log files on different disks. * key should not in data.data * better replication code merged * more friendly error report for db operating Big TODO: using Thread to resolve blocked I/O, incuding checkpoint and deadlock detecting