Veritabanları ilk ortaya çıktığında, OOP hala programlamanın yolu değildi. İlişkisel veri tabanları ise çok çekiş kazandı. Ve 80'li yıllarda IBM tarafından sunulan SQL hızla tüm veritabanlarının ortak dili haline geldi .
OOP popüler hale geldiğinde bazı girişimler oldu, ancak bazı sorunlar var. İlk olarak, gerçek OODBMS'nin uygulanması gerçekten zordur. İlişkisel bir veritabanı olması durumunda, bir tablo ve ilgili dizinler oldukça basit yapılardır (örn. B-ağaçları). Başka bir neden, ilişkisel modelin arkasında çok fazla teori olması, doğrudan matematiksel küme teorisinden türetilmiş olmasıdır. İlişkisel bir veritabanını doğru şekilde tasarlamanın bilinen yolları vardır (normalizasyonu düşünün vb.). Ve son fakat aynı derecede önemli olarak, insanlar zaten SQL'e çok alıştılar.
Günümüzde NoSQL çözümleri, çoğu durumda OODBMS'ye doğru bir adım değildir. Birçoğu hala ilişkiseldir, sadeceJOINs
. Bazıları aslında nesne depolarıdır, ancak nesneler arasındaki ilişkilerin farkında olmadıkları için gerçekte OODBMS değildir.
OODBMS için bu kadar güçlü bir itiş olmamasının bir başka nedeni de "fakir adamın OODBMS" çözümü - ORM'ler olmasıdır. Bu, iyi bilinen, kararlı ve test edilmiş DB motorları tarafından desteklendikleri için büyük bir popülerlik kazanmıştır, ancak nesnelerle eşleme sağlarlar. Tabii ki, bunlar gerçek OODB'ler değil.