OODBMS

Objektdatenbanken

NoSQL

"NoSQL bezeichnet Datenbanken, die einen nicht-relationalen Ansatz verfolgen ... Sie benötigen keine festgelegten Tabellenschemata und versuchen Joins zu vermeiden."

— wikipedia.org/wiki/NoSQL
  • Viele Lese- und Schreibanfragen möglich
  • Häufig optimiert für verteilte Systeme
  • Systeme sind einfach skalierbar und überstehen Ausfälle einzelner Server
  • Nur schwache Garantie hinsichtlich Konsistenz
cap

Objektdatenbanken

Objektdatenbanken stellen Informationen in Form von Objekten dar. Sie vereinen die Vorteile von Datenbanken und Objektorientierter Programmierung.

Eigenschaften

  • Verwalten auch komplexe Objekte
  • Stellen die Objektidentität sicher
  • Ermöglichen die Verwendung objektorientierter Paradigmen

Beispiele

db40, Objectivity, ObjectStore, JDataStore, O2, SmallSQL, Zope (ZODB)

Objektrelationale Datenbanken

"... kombinieren relationale Datenbanken und Objektdatenbanken. Stellen Beziehungen zwischen Mengen von Objekten zu anderen Daten oder Objekten her."

— wikipedia.org/wiki/Objektrelationale_Datenbank

Eigenschaften

  • Besitzen eine objektorientierte Zugriffsschicht
  • Entitäten werden als Objekte verwaltet

Beispiele

Informix, OracleDB, IBM DB2, Cache, PostgreSQL

ZODB

ZODB bietet als Objektdatenbank

  • Eine einheitliche Sprache für Datenbankoperationen und Quelltext
  • Speicherung von Objekten ohne viel Aufwand
  • Nahezu kein Unterschied zwischen Code und Datenbank

Weitere Features

  • Einfaches Testen
  • Versionierung
  • BLOBS
  • Caching
  • Aufgeteilte Speicherung

Resources