# Determining when to partition

There are some cases in which you will
*need* to partition your data and others in which you will *want* to partition your data.
You are *required* to partition for unordered data when a data object at a certain place in the
data stream can be any number of types and each type has different definitions. *Choose* to
partition for convenience, either to simplify rules or to put additional logic into your data's
definition.