Berlin Buzzwords – Day 1 – Scalability Challenges in Big Data Science

Welche Herausforderungen gibt es bei der Skalierung / Sharding bei der Verarbeitung von großen Datenmengen

  • Normalerweise beginnt es damit, dass in einer DB viele Daten sind und die Anforderung kommt, diese Daten auszuwerten, z.B. User zu klassifizieren
  • Schritt eins ist es eine skalierbare DB zu finden: Cassandra, Sharded MySQL
  • Dann Mulithreading als nächstes: akka, ActiveMQ, …
  • Aber besser ist es direkt auch nach paralleler Verarbeitung und Speicherung zu schauen: Hadoop
  • MapReduce funktioniert auch für einige Machine-learning Algorithmen, z.B. k-means Clustering
  • Zum Training mit großer Traingdaten gibt es z.B. den Stochastic Gradient Descent und den vowpal wabbit Algorithmus
  • Es gibt noch andere Skalierungsansätze: Pregel, Aktoren und Stream-Processing die man ja nach Anwendungsfall aussuchen muss
  • Darüber hinaus gibt es noch Stream Mining , um große Realtime-Datenmengen zu analysieren und im Speicher zu halten. Die Idee dahinter ist, nur die relevanten Daten aufzubewahren. Z.B. nur die 100k aktivsten Twitter-Accounts, der Rest wird verworfen. Alternative ist ein exponentieller Abfall, um z.B. Aktivitäten, die älter sind aufzubewahren.
  • Count-min Sketches sind ein weiterer Weg, Daten verteilt zu berechnen und zentral einfach auszuwerten.
GD Star Rating
loading...

Kommentar verfassen