Handling logs and caches
ZFS has some very interesting internal structures that can greatly improve the performance of the pool and filesystem. One of them is ZFS intent log (ZIL), which was created to get more intensive and sequential write request performance, making more Input/Output Operations Per Second (IOPS) possible and saving any transaction record in the memory until transaction groups (known as TXG) are flushed to the disk or a request is received. When using ZIL, all of the write operations are done on ZIL, and afterwards, they are committed to the filesystem, helping prevent any data loss.
Usually, the ZIL space is allocated from the main storage pool, but this could fragment data. Oracle Solaris 11 allows us to decide where ZIL will be held. Most implementations put ZIL on a dedicated disk or, even better, on a mirrored configuration using SSD disks or flash memory devices, being appropriated to highlight that log devices for ZIL shouldn't be confused with database logfiles...