10 Punkte von xguru 2021-05-12 | 3 Kommentare | Auf WhatsApp teilen

Wichtige Tweaks, die das entscheidungsunterstützende Datenauswertungssystem Narrative auf Basis seiner Erfahrungen zusammengestellt hat

  • Keinen Server verwenden, der auch für das Produktionssystem genutzt wird

  • Auf PG 12+ upgraden (CTE nicht verwenden)

  • Indizes möglichst klein halten

  • Tabellen partitionieren (Range/List)

  • Disk-I/O minimieren

  • Nach Bulk Inserts Vacuum ausführen

  • Parallele Abfragen verwenden

  • Statistiksampling erhöhen (pro Spalte oder für die gesamte DB; Standardwert ist 100, aber 500)

  • Weniger Spalten verwenden (weil es zeilenbasiert speichert)

  • Bei Tabellen mit 50 bis 100 Millionen Zeilen funktioniert Postgres hervorragend

  • Wenn auf die Größenordnung von Milliarden skaliert werden soll, wird Citus empfohlen

https://www.citusdata.com : Open Source, das Postgres in eine verteilte DB verwandelt

3 Kommentare

 
twince 2021-05-12

Meiner Erfahrung nach ist timescaledb bei einer zeitreihenbasierten Nutzung wahrscheinlich die bessere Wahl, aber da mir belastbare Quellen dazu fehlen, äußere ich mich vorsichtig. Bei Kompressionsrate und Performance dürfte timescaledb wohl besser sein, daher hinterlasse ich vorsichtig diese Einschätzung.

 
toughrogrammer 2021-05-12

Ich frage mich, wie sich citus und timescaledb vergleichen lassen.

 
galadbran 2021-05-12

Soweit ich weiß, hat timescaledb Vorteile bei der Partitionierung nach Zeitreihen und citus Vorteile beim Sharding … (Wenn ich darüber nachdenke: Wäre es vielleicht sogar nicht unmöglich, beide zusammen zu verwenden?)