Sunrise: A Real-Time Event-Processing Framework



Sunrise is a high-throughput, real-time, event-processing and aggregation framework developed at Bell Labs. It offers many of the data-management features of a conventional database system such as high-level, declarative programming interfaces and the traditional ACID correctness guarantees for transactions. In addition, Sunrise is also adapted and enhanced to meet the needs of high-performance applications. High throughput is achieved through a shared-nothing parallel architecture which can deliver close to linear scale-up in practice. Real-time responsiveness (on the order of as little as a few milliseconds per transaction) is achieved by utilizing DataBlitz---a main-memory database system---as the underlying single-site storage manager. DataBlitz offers transactional access to persistent data at main-memory speeds.

Sunrise's strength lies not only in its performance, but also in its flexibility. The Sunrise framework consists of a data-management kernel, together with a set of tools for embedding application-specific services within that kernel. Service creation and maintenance is a high-level procedure based on GUI interfaces and a fourth-generation service definition language. Newly-created services---or existing services, adapted to new requirements---are compiled, and can be installed on-line, without interrupting transaction processing. In this way, Sunrise remains available, even as event-processing logic evolves over time.