Model Checking pgpool-II with SPIN
I recalled performing model verification for pgpool-II (a PostgreSQL replication tool) using SPIN in 2010, so I’m sharing some of the results.
I recalled performing model verification for pgpool-II (a PostgreSQL replication tool) using SPIN in 2010, so I’m sharing some of the results.
In previous posts, post1 and post2, I demonstrated that it’s possible to continuously count the actual rows from EXPLAIN ANALYZE with an overhead of about 2.0%.
The next step is to examine methods for correcting the selectivity (or cardinality) estimation results.
Based on the improvements shown in this blog post, I will show the results of further optimizations.
In this blog, I’ll challenge conventional wisdom and explore methods to reduce overhead as much as possible. To that end, I will first discuss data types before explaining the specific improvements.
1-Line Abstract: Cut the overhead of EXPLAIN ANALYZE by roughly 77 [%].
I show a tip of autovacuum management.
As frequently mentioned, the table bloat problem is one of the most annoying things in managing PostgreSQL. Several things can cause that problem, and Autovacuum is one of them.
I’ve just released pg_plan_inspector that is a framework to monitor and improve the performance of PostgreSQL using Machine Learning methods.
One movie is worth a thousand words. Watch this movie.
I made a PostgreSQL’s module called shutdown_db using weekend time.
This module emulates the Oracle’s shutdown commands by controlling access for each DB.
pgindent maintains the uniform layout style of postgresql related source code.
My first Chinese book has been published on 1st June.
I made a program to calculate ‘A * B mod N’, where A, B and N are 64 bit integers.
Main problem is to avoid overflow when calculate ‘A * B’.
I searched a while and finally decided to use the interleaved modular multiplication method, which is used in the feild of electric circuit design.
I found some bugs when I tested corner cases, so I have to fix them [2018.9.2].
I think I’ve fixed them [2018.9.3].
I’ve just
improved it! [2018.9.5]
The program is shown below: