Bucket: a lightweight data-management extension

From semantic-mediawiki.org
MediaWiki Users and Developers Conference Fall 2025
Bucket: a lightweight data-management extension
Talk details
Description: Discussing the use cases, design choices and performance optimizations behind Bucket, a brand new data-management extension
Speaker(s): Jonathan Lee
Type: Talk
Audience: Developers, Admins
Event start: 2025/10/28 15:50:00
Event finish: 2025/10/28 16:20:00
Length: 30 minutes
Video: click here
Keywords: data, extension
Give feedback

Bucket is a brand new MediaWiki extension designed for the "write data on one page via templates, query the data from other pages" style of data management popularized by Semantic MediaWiki and Cargo. It's in production use on runescape.wiki and minecraft.wiki

The talk will cover the following topics:

  • Use cases for the extension, and how video game wikis' use of SMW/Cargo/etc is notably different than enterprise use cases
  • The performance problems we were trying to solve by creating a new extension
  • Very short demo of syntax
  • Some design decisions, including:
    • Only providing a Scribunto layer for data access
    • Focusing on power-users (sidebar: why trying to make data easier to edit usually makes it harder for everyone)
    • Using RefreshLinks jobs to minimize the amount of manual state management required
  • Some performance optimizations worth considering, including:
    • Minimizing writes by optimizing for the case where no data changed
    • I/O bottlenecks, and why batching is almost always better than caching
    • Avoiding extension-specific re-parses at all costs
  • Surprises (both good and bad) from migrating RuneScape/Minecraft wikis from SMW to Bucket
  • What Bucket doesn't do, and why you probably shouldn't use it right now