5 Punkte von kimmachinegun 2025-03-17 | Noch keine Kommentare. | Auf WhatsApp teilen

Um die Elastizität von Luft, einer selbst entwickelten Datenbank, zu verbessern, teilen wir unsere Erfahrungen mit der Implementierung eines kostenbasierten Auto-Scalers unter Nutzung der Query-Historie.

  • In einer vorherigen Arbeit wurde auf eine Shared-Storage-Architektur umgestellt, doch um tatsächliche Effekte zu erzielen, war ein effizientes Auto-Scaling-System erforderlich.
  • Es erfolgte der Wechsel weg von Kubernetes hin zu einem Self-managed-Cluster-Ansatz mit dem AWS SDK; außerdem wurde ein Verfahren implementiert, das gestoppte Instanzen wiederaufnimmt, wodurch sich die Skalierungszeit auf etwa 10 Sekunden verkürzte.
  • Anstelle bestehender Auto-Scaling-Ansätze, die auf nachlaufenden Metriken wie CPU-/Speicherauslastung beruhen, wurde ein Kostenprognosemodell auf Basis der Query-Historie entwickelt.
  • Durch Query-Kanonisierung (canonicalization) wurden ähnliche Queries identifiziert, und mit einer Kostenfunktion, die die Historie der Queries zur Kostenberechnung nutzt, wurde eine präzise Ressourcenprognose möglich.
  • Ohne Overprovisioning werden Ressourcen nur bei Bedarf zugewiesen, wodurch sich die Instanzkosten um etwa 40 % senken ließen und ein elastisches System entstand, das auch schwere Queries verarbeiten kann.

Noch keine Kommentare.

Noch keine Kommentare.