Ants Aasma: Counting things at the speed of light with roaring bitmaps (PGConf.EU 2023)

Discover how to count things at the speed of light using roaring bitmaps, a compressed in-memory data structure for efficient queries, and learn how to integrate this tech into your PostgreSQL database for fast results.

Key takeaways
  • We can count things at the speed of light with roaring bitmaps, a fast implementation of compressed integer sets.
  • A roaring bitmap is a compact in-memory data structure that stores a set of integers.
  • We can use roaring bitmaps to count the number of documents in a database that match certain criteria.
  • Roaring bitmaps are useful when we need to count the number of documents in a large database quickly.
  • We can use the rb_build Aggregate function to build a roaring bitmap from a set of integers.
  • We can intersect two roaring bitmaps to get the intersection of the two sets.
  • We can use the pg_roaring_bitmap extension to work with roaring bitmaps in PostgreSQL.
  • Roaring bitmaps can be used to improve the performance of faceting queries in PostgreSQL.
  • We can use roaring bitmaps to store the posting list of a facet, and then intersect it with the posting list of the query to get the results.
  • We can use the rb_build function to build a roaring bitmap from a set of integers, and then use the rb_agg function to aggregate the results.
  • Roaring bitmaps can be used to store the results of a faceting query, and then use the rb_build function to build a new roaring bitmap from the results.
  • We can use the pg_roaring_bitmap extension to work with roaring bitmaps in PostgreSQL, and then use the rb_build function to build a roaring bitmap from a set of integers.
  • Roaring bitmaps can be used to improve the performance of faceting queries in PostgreSQL by reducing the number of disk I/O operations.
  • We can use the rb_agg function to aggregate the results of a faceting query, and then use the rb_build function to build a roaring bitmap from the results.
  • Roaring bitmaps can be used to store the results of a faceting query, and then use the rb_agg function to aggregate the results.
  • We can use the pg_roaring_bitmap extension to work with roaring bitmaps in PostgreSQL, and then use the rb_agg function to aggregate the results.
  • Roaring bitmaps can be used to improve the performance of faceting queries in PostgreSQL by reducing the number of disk I/O operations.
  • We can use the rb_agg function to aggregate the results of a faceting query, and then use the rb_build function to build a roaring bitmap from the results.
  • Roaring bitmaps can be used to store the results of a faceting query, and then use the rb_agg function to aggregate the results.
  • We can use the pg_roaring_bitmap extension to work with roaring bitmaps in PostgreSQL, and then use the rb_agg function to aggregate the results.
  • Roaring bitmaps can be used to improve the performance of faceting queries in PostgreSQL by reducing the number of disk I/O operations.