Comparing Database Architectures: SQL vs NoSQL, OLAP vs OLTP, CAP