Daniel Abadi; who is a assistant professor in CS at Yale; has an
extensive background in database design, algorithms, and distributed
computing; his blogpost has a fairly comprehensive analysis on
constraints and misgivings of DBMSs and NoSQL solutions alike