Use MySQL with a strong relational model first
MySQL performs best in many real products when the underlying schema is already clear and normalized enough for the workload.
Model entities and joins before worrying about engine-level tuning.
Keep transaction history and product state tables distinct where possible.
Use explicit foreign keys and naming consistency to make the schema easier to maintain.