One question that has come up a number of times when I've been speaking with people (read: evangelizing :) ) about ZFS is about database storage. In conventional use storage has separated redo logs from table space, on a spindle basis.

I'm not a database expert but I believe the reasons boil down to a combination of:
- Separation for redundancy

- Separation for reduction of bottlenecks (most write ops touch both the logs and the table)

- Separation of usage patterns (logs are mostly sequential writes, tables are random).

The question then comes up about whether in a ZFS world this separation is still needed. It seems to me that each of the above reasons is to some extent ameliorated by ZFS: - Redundancy is performed at the filesystem level, probably on all disks in the pool.

- Dynamic striping and copy-on-write mean that all write ops can be striped across vdevs and the log writes can go right next to the table writes

- Copy-on-write also turns almost all writes into sequential writes anyway.

So it seems that the old reasoning may no longer apply. Is my thinking correct here? Have I missed something? Do we have any information to support either the use of a single pool or of separate pools for database usage?

Boyd
Melbourne, Australia

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to