Hi,
sharing a bit of experience of working with rocksdb for 5y+ now in a mixed InnoDB / RocksDB setup.
Drawback of rocksdb are lacking foreign keys and a complex configuration with many parameters (defaults in MariaDB seem quite reasonable though), also there are limitations regarding well-performing charsets and DDL changes can be more complicated than on Innodb due to the max row lock limit rocksdb applies.
Advantages are much faster inserts and data loading and much better compression by using zstd. We are working with a page size of 64k for rocksdb and it works well.
- Is it (will it be?) possible to have something like single-file-per-table (or single dir per table?)
not possible
- Is it shared per all tables, so all tables are still using single set of files (can single crashed table/row lead to all tables being unusable?)
yes, it is a potential danger
- Will partitioning the table have performance benefits like with other engines? Can I do instant TRUNCATE PARTITION for easy data retention?
not much experience with partitioned tables but they are supported
Good luck!