Transactional stream processing (TSP) has been increasingly gaining traction. TSP aims to provide a single unified model that offers both transaction- and stream-oriented guarantees. Over the past decade, considerable efforts have resulted in the development of alternative TSP systems, which enables us to explore the commonalities and differences across these solutions. However, a widely accepted standard approach to the integration of transactional functionality with stream processing is still lacking. Existing TSP systems typically focus on a limited number of application features with non-trivial design trade-offs. This survey initially examines diverse transaction models over streams and TSP specific transactional properties, followed by a discussion on the consequences of certain design decisions on system implementations. Subsequently, we highlight a set of representative scenarios, where TSP is employed, as well as discuss some open problems. The aim of this survey is twofold. First, to provide insight into disparate TSP requirements and techniques. Second, to engage the design and development of novel TSP systems.