Can you explain the difference between relational and non-relational databases, and when you would use each?