Sones Db //top\\ -

Abstract Sones GraphDB (commonly referred to as Sones DB) was an open-source, object-oriented graph database designed specifically for the Microsoft .NET framework. Active primarily between 2009 and 2014, it aimed to bridge the gap between complex relational mapping and the rising demand for NoSQL graph structures. This paper examines the architectural principles, query language (GraphQL – not to be confused with Facebook's GraphQL), performance characteristics, and the eventual market factors that led to its discontinuation. As a historical artifact, Sones DB offers valuable lessons in domain-specific database design and the challenges of competing against entrenched ecosystems. 1. Introduction The late 2000s witnessed a proliferation of NoSQL databases in response to the limitations of relational databases in handling highly interconnected data. While Neo4j dominated the Java space, the .NET ecosystem lacked a native, performant graph database. Sones DB emerged from a German startup (Sones GmbH) to fill this void. Unlike generic key-value stores or document databases, Sones DB was engineered from the ground up to treat relationships as first-class citizens, offering ACID transactions and a strongly-typed schema language. 2. Core Architecture 2.1 Object-Oriented Native Graph Model Sones DB stored data as vertices (nodes) and edges (relationships), but with a distinct object-oriented flavor. Each vertex was an instance of a user-defined VertexType , and each edge was an instance of an EdgeType . This contrasts with property graph models where vertices and edges are loosely typed. In Sones DB, the schema was enforced at the type level, akin to a relational schema but for graphs. 2.2 Storage Engine The backend utilized a custom persistent storage layer built on top of the .NET framework’s I/O capabilities. It employed a write-ahead log (WAL) for ACID compliance and used a clustered index on vertex IDs. Unlike memory-optimized graph databases, Sones DB persisted data to disk, trading some speed for durability. The storage engine organized edges in doubly linked lists per vertex, enabling fast bidirectional traversals. 2.3 Query Language: Original GraphQL A significant source of historical confusion is Sones DB’s query language, also named GraphQL (released in 2011). This predates Facebook’s homonymous query language (2015). Sones’ GraphQL was a declarative, SQL-like language for graph traversal. A typical query resembled: