OpenZFS can compress single dataset. All childs will share the same encryption settings.
zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase rpool/data_enc
Unlock:
zfs load-key -r rpool/data_enc