Ravel: A Database-Defined Network

Ravel is a software-defined networking (SDN) controller that uses a standard SQL database to represent the network. Why a database? SDN fundamentally revolves around data representation–representation of the network topology and forwarding, as well as the higher-level abstractions useful to applications.

In Ravel, the entire network control infrastructure is implemented within a SQL database. Abstractions of the network take the form of SQL views expressed by SQL queries that can be instantiated and extended on the fly. To allow multiple simultaneous abstractions to collectively drive control, Ravel automatically orchestrates the abstractions to merge multiple views into a coherent forwarding behavior.