Im MI (Machine Interface) hat alles seine feste Speicheradresse (einstufiger Speicher). Datenbankdateien, Datenbankteildateien, Befehle, Programme, Bibliotheken, auch die Bibliotheken QSYS, QGPL, ... Alles hat seine feste Speicheradresse. Es gibt auch mehrere Bibliotheken QTEMP... Die Suche nach einem bestimmten Objekt erfolgt anhand seines Namens, seiner Objektart und der Bibliothek (Kontext) in der es sich befindet. Zum schnelleren Wiederfinden kann es für Folgeaufrufe über seine (ermittelte) Speicheradresse gefunden werden. Objekte sind intern über Zeiger miteinander verbunden. Je nachdem was man unter DB2 für i versteht, könnte DB2 für i auch das MI umfassen. Per SQL wird man diese Objekte aber nicht erreichen können (Programme zum Beispiel bestehen nicht aus Daten in Spaltenform, sondern aus durch Zeiger miteinander verbundenen Speicherbereichen).

Im Gegensatz dazu ist das Spoolsystem großteils in der Datenbank abgelegt, zumindest die Spooldaten stehen in Datendateien in der Bibliothek QSPL. Aber auch hier gibt es spezielle MI-Objekte, die man erst mittels DMPSYSOBJ OBJ(QSPL) CONTEXT(*MCHCTX) sieht, näheres siehe zum Beispiel hier.