• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Dokkio Sidebar (from the makers of PBworks) is a Chrome extension that eliminates the need for endless browser tabs. You can search all your online stuff without any extra effort. And Sidebar was #1 on Product Hunt! Check out what people are saying by clicking here.


The Sisyphus Database Retrieval Software Performance Antipattern

Page history last edited by Nathan T Suver 3 years, 6 months ago


Robert F. Dugan, Jr. , Ephraim P. Glinert , Ali Shokoufandeh, The Sisyphus database retrieval software performance antipattern, Proceedings of the 3rd international workshop on Software and performance, July 24-26, 2002, Rome, Italy




In this paper we propose the Sisyphus database retrieval software performance antipattern. The antipattern occurs in application designs that process large, frequently accessed lists stored in a relational database, but display only a small subset to the user. Software Performance Engineering (SPE) techniques are used to analyze the antipattern. Four solutions are evaluated: rownum and index, upper/lower bound, sequence numbering, and caching. We discuss the real world challenges of correcting this antipattern early in the application life cycle.





This article discusses some approaches to solving the problem of very large list retrieval when performing database searches, and a few different ways to attack the problem.  One of the approaches   

the authors mention is caching subsets of results in a web server, which can be consumed by other requests.  They discuss some of the drawbacks of caching, such as choosing an appropriate maximum list size of the proposed cache, aging out entries after they expire, the cost of maintaining state between requests, etc.. Although their experiments were used to solve a different problem, their consideration of the pros and cons of intermediate caching could have useful application for this project.  This paper is slightly older, and predates the use of newer concepts in computing such as microservices.



Comments (0)

You don't have permission to comment on this page.