{
  "slug": "rum-conjecture",
  "term": "RUM conjecture",
  "aliases": [
    "Read-update-memory conjecture"
  ],
  "definition": "The RUM conjecture proposes that bounding two of an access method's read, update and memory overheads constrains the third.",
  "note": "The 2016 paper presents a conjecture, not a general proof or a numerical formula for a particular engine. It also allows improvements in all three costs through engineering or computation. [rum-paper]\n\nMemory includes storage space, not just DRAM. Costs must be scoped to a hierarchy level; moving work into a RAM buffer does not make that work disappear. [rum-paper]",
  "status": "research",
  "advantages": [],
  "limitations": [],
  "related": [
    "read-amplification",
    "database-write-amplification",
    "space-amplification",
    "key-value-separation"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-13",
  "citations": [
    {
      "id": "rum-paper",
      "title": "Athanassoulis et al. Designing Access Methods: The RUM Conjecture. EDBT 2016, pp. 461-466, sections 1-4. DOI: 10.5441/002/edbt.2016.42.",
      "url": "https://openproceedings.org/2016/conf/edbt/paper-12.pdf",
      "accessed": "2026-11-13"
    },
    {
      "id": "hesela-comparison",
      "title": "Hesela: matching measurement boundaries before comparing storage engines.",
      "url": "https://hesela.com/analyses/key-value-separation-cleaning-cost/#rum-tradeoffs",
      "accessed": "2026-11-13"
    }
  ],
  "provenance": [
    "Source synthesis from the original visionary paper; not an experimental validation or a claim about subsequent proof status."
  ]
}
