Neben der Frage, wann Serialisierbarkeitsverletzungen erkannt werden sollen, besteht auch noch die Frage, auf welcher Datenebene dies geschieht: auf Tupeln, auf Relationen oder auf (Teil-)Datenbanken?
Eine Erkennung auf einer dieser Ebenen entspricht jeweils dem Sperren (oder welches Verfahren jeweils angewendet wird) einer bestimmten Menge von Daten, gibt also die 'Granularität' des Erkennungsmechanismus an. Ein Arbeiten auf niedriger Ebene (also Tupeln) bedingt einen hohen Verwaltungsaufwand, wenn z.B. ein Großteil der in einer Relation vorhandenen Tupel benötigt wird. Es ermöglicht aber andererseits eine höhere Nebenläufigkeit als das Sperren ganzer Relationen oder Datenbanken, denn bei grober Granularität ist der Zugriff auf eigentlich unbenötigte Tupel für andere Transaktionen nicht mehr möglich.
Da beim Entwurf eines Systems meist nicht vorhergesagt werden kann, welche Granularität die günstigste ist, bieten einige Verfahren (siehe Abschnitt ``Multigranulares Sperren``) dynamische Granularitätswahl für jede Transaktion an.
Auch in objektorientierten Systemen gibt es das Problem der Granularität, nur daß hier die Ebenen ``Individual``, ``Klasse``, ``Metaklasse``, ... sind und durch komplizierte Instanziierungs-- und Spezialisierungsbeziehungen das Problem hinzukommt, die jeweils übergeordneten Ebenen eindeutig zu definieren.