I’m a n00b in ScyllaDB and reading the docs I understand that there is no such thing as Point-In-Time-Recovery. So you can only restore whatever your last backup has. Am I right or did I misunderstand things ?
Correct. It is not something to worry about, however, as even if you lose a full AZ you can still serve requests and have your data fully considering you issue queries with LOCAL_QUORUM. And - of course - you can always go multi-DC for a true DR scenario.
Indeed, but I am thinking about the scenario where the application has a new release and there is some bug or some operator executes the wrong DDL and blows things up.
If that happened, I guess the only way to restore things up to the point of failure would be by replaying the transactions (Kafka) or by doing a PITR with an RDBMS and then dump all the data again onto ScyllaDB.
Am I wrong ?
As you are correct in the first question, then of course you are also correct in the last one.
You can always snapshot before such changes. And for TRUNCATE/DROP table statements, Scylla will always snapshot the table in question (unless you told it not to) when these DDL statements are run