Hi .
In Sybase ASE you can use 'sp_dbexted' procedure to magage automatic database expantion.
See:
Expanding Databases Automatically
It is available from version 12.5.1 so it is not a new feature.
You must be aware that it cannot manage device creation but it is very flexible because of threshold action procedures. You can combine your threshold procedures (where you can add your disk init commands) and sp_dbextend mechanism (for resizing devices and db segments).
1. Remember that you can always bind objects to specific segments/devices or/and use REORG command(s) to resolve fragmentation problems on table level.
IMHO: I think that creating multiple database devices is a better solution because you can spread them between physical disks and speed up database writes...You can also benefit from partitioning an parallel queries if partitions are physically separated.
2. Expansion should not affect performance if you extend your disks/databases with reasonable amount of MB/GB. Disk init / resize can sometimes slow down your IO response times (it depends on your physical I/O performance). You should calculate your own amount of extension portion based on performance tests in your env.
3. You can specify growby and maxsize parameters for devices/segments by sp_dbextend.
4. While using sp_dbextend proc. i came across 1 issue (bug?) concerning logsegment expansion (case is during processing by Sybase Tech. Supoprt). Procedure responsible for expanding logsegment sometimes is fired multiple times (which can lead to large logsegment size).
Best Regards
--
Marcin