1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

PostgreSQL 9.6 Beta 1

Dieses Thema im Forum "PostgreSQL" wurde erstellt von akretschmer, 12 Mai 2016.

  1. akretschmer

    akretschmer Datenbank-Guru

    Die erste Beta für PostgreSQL 9.6 ist da! Tolle Features, zum Beispiel parallele Ausführung von Scans, Joins und Aggregationen, werden diese Version erheblich schneller machen als aktuelle Versionen schon sind. Alle Details in den Release Notes: PostgreSQL: Documentation: devel: Release 9.6
     
  2. Walter

    Walter Administrator Mitarbeiter

    Gibts da schon aussagekräftige Tests was die Geschwindigkeit angeht?
     
  3. akretschmer

    akretschmer Datenbank-Guru

    das ist ja das geile: das skaliert quasi linear. Auf die schnelle fand ich dazu:

    select * from depesz; » Blog Archive » Waiting for 9.6 – Support parallel aggregation.

    wenn ich noch was finde gebe ich das hier noch rum. Die Architektur, auf der das aufbaut (Background worker - Prozesse), ermöglich potentiell noch andere Dinge wie Sharding. Unabhängig davon: die nächste Version, also 9.6, wird einen gigantischen Performance-Schub bringen, eben durch diese parallele Verarbeitung.


    Dazu kommen weitere Optimierungen, z.B. hier beschrieben:

    PostgreSQL Scalability: Towards Millions TPS - Alexander Korotkov's blog
     
    Walter gefällt das.
  4. akretschmer

    akretschmer Datenbank-Guru

    ich hab das grad mal selber probiert:

    Code:
    test=# set max_parallel_degree = 0;
    SET
    test=# explain (analyse,buffer) select min(betrag) from auftraege ;
    ERROR:  unrecognized EXPLAIN option "buffer"
    test=# explain (analyse,buffers) select min(betrag) from auftraege ;
      QUERY PLAN   
    ----------------------------------------------------------------------------------------------------------------------------
     Aggregate  (cost=23311.00..23311.01 rows=1 width=32) (actual time=314.119..314.119 rows=1 loops=1)
      Buffers: shared hit=10104 read=707
      ->  Seq Scan on auftraege  (cost=0.00..20811.00 rows=1000000 width=6) (actual time=10.338..137.357 rows=1000000 loops=1)
      Buffers: shared hit=10104 read=707
     Planning time: 0.160 ms
     Execution time: 314.159 ms
    (6 rows)
    
    test=# set max_parallel_degree = 4;
    SET
    test=# explain (analyse,buffers) select min(betrag) from auftraege ;
      QUERY PLAN   
    ---------------------------------------------------------------------------------------------------------------------------------------------
     Finalize Aggregate  (cost=15843.58..15843.59 rows=1 width=32) (actual time=127.229..127.229 rows=1 loops=1)
      Buffers: shared hit=10418 read=675
      ->  Gather  (cost=15843.26..15843.57 rows=3 width=32) (actual time=127.216..127.223 rows=4 loops=1)
      Workers Planned: 3
      Workers Launched: 3
      Buffers: shared hit=10418 read=675
      ->  Partial Aggregate  (cost=14843.26..14843.27 rows=1 width=32) (actual time=120.434..120.434 rows=1 loops=4)
      Buffers: shared hit=10136 read=675
      ->  Parallel Seq Scan on auftraege  (cost=0.00..14036.81 rows=322581 width=6) (actual time=2.440..54.663 rows=250000 loops=4)
      Buffers: shared hit=10136 read=675
     Planning time: 0.178 ms
     Execution time: 132.069 ms
    (12 rows)
    
    test=#
    
    
    Die Tabelle hat 'nur' 1 Millionen Zeilen und ist recht 'schmal'. Shared_buffers auf Default, also 128M, aber der Rechner hat 16GB RAM, daher schaut der nicht wirklich auf die Platte. Das ist nicht wirklich repräsentativ, aber schon beeindruckend, finde ich.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden