Uni-Website Tammes Burghard

Relationale Datenbanken sind unflexibel und skalieren schlecht horizontal. Um hier Abhilfe zu schaffen, gibt es NoSQL-Datenbanken mit weniger starrer Struktur und optimierung für horizontale Skalierung.

Arten von NoSQL-Datenbanken

Map-Reduce

Beispiel zur Berechnung eines Durchschnittswertes:

def map(self, data):
      yield ('count', (len(data[1]), 1))

  def reduce(self, key, values, rereduce):
      return (sum(value[0] * value[1] for value in values) /
          sum(value[1] for value in values),
          sum(value[1] for value in values))