Should I be using NoSQL?

Introduction

Draw up a little ERD diagram of the normal relational schema you would create to solve this problem.

Now answer the questions below for this schema. You should only answer questions that are relevant to you or your design, if it doesn't apply move right along to the next one.

Questions

Do any of your tables have null columns?

Do you have a lot of link tables to child tables that contain small numbers of rows?

Is your schema heavily constrained?

Do you have code in your schema, e.g. stored procedures or triggers?

Does your schema have a lot of CLOBs or BLOBs?

Does your schema contain a lot of views?

Will your child tables contain roughly one row for each row in the parent tables?

Does the volume of data you anticipate mandate a sharded solution?

Will analysts be expected to run reports and queries against this database?

When executing queries will you be comparing sets of data or using subsets of data as query predicates?