~/talk

Bulk data processing and PostgreSQL thingy

Talkat Voxxed Days Ticino 2025 · 2025-01-16..01-17· [databases]
links:none on file
slides:none on file

Shows a working set of tactics for PostgreSQL at scale: use Hibernate StatelessSession and JDBC batching to cut write time (batch sizes ~20–100, experiments show big gains on 400–400k inserts), avoid IDENTITY generators because they disable batching and prefer SEQUENCE (or time-ordered UUIDv6) with aligned allocation, never leave fetch_size = 0 (setting fetch_size = 100 drops memory from ~1.7GB to ~64MB), offload large reads to Chronicle Map to close DB connections, and avoid long-running transactions that stop autovacuum and cause disk bloat.

AI-written summary · about

  1. 0:00Introduction
  2. 1:50Bulk data in banking
  3. 3:59Use case and architecture
  4. 6:06Why PostgreSQL
  5. 7:49PostgreSQL features
  6. 11:43MVCC tradeoffs
  7. 14:11Vacuum role
  8. 15:37Batch JDBC
  9. 19:37Hibernate batching
  10. 23:57Stateless session
  11. 27:1110M entries performance
  12. 29:24Long transactions dangers
  13. 30:32ID generation best practices
  14. 34:30Stream fetching pitfalls
  15. 39:13Streaming performance fixes
  16. 41:20Chronicle Map offloading
  17. 46:34Chronicle Map demo
  18. 51:11Key takeaways and closing remarks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.