From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) SysSurge AS
Development status Alpha stage 3
Written in C++
Operating system Cross-platform
Available in English
Type RDF triplestore database

SparkleDB is a high performance cross-platform Resource Description Framework (RDF) NoSQL database management system (DBMS) written in the C++ programming language.[1] It manages collections of RDF documents, and thus works as a triplestore. The first public release will be in the fall of 2013.[1]

The developers goal has been to make a really fast, ACID, cross-platform, user friendly, secure, SPARQL-driven RDF database server (a triplestore) that is usable with the most number of programming languages.[1]


Among the features are:[2]

Ad hoc queries[edit]

Write SPARQL and SPARQL/Update queries. These declarative query and update languages are W3C standards resp. drafts.


Implements persistent data with an indexing algorithm.

Concurrency control[edit]

Implements multiversion concurrency control (MVCC).

Serializable isolation level[edit]

Implements serializable database system data isolation level through multiversion concurrency control.

Language support[edit]

Any programming language or toolkit that support Open Database Connectivity (ODBC) or Java Database Connectivity (JDBC) device drivers, some of these are .NET Framework, Java, Python, PHP, etc. In addition any programming language or toolkit that can access a SPARQL protocol HTTP endpoint. In other words, almost any professional programming language works with the database server.

Currently the drivers are developed and tested on all operating systems for which binaries are available.


The database server fully supports ACID (atomicity, consistency, isolation, durability) to guarantee that the database transactions are processed reliably.

High performance[edit]

All components in the database server and its drivers have been programmed from scratch to optimize them in performance. The database server was developed in C++ since the developers considered this programming language has the most potential for optimization, and some inline assembly is used at key locations in the programming code.

Query optimizer[edit]

A query optimizer component has been implemented in the database management system, this attempts, given a SPARQL query, to determine the most efficient way to execute that query. The query optimizer considers the possible query plans for a given input query, and attempts to determine which of those plans will be the most efficient, thus making it easier to write efficient queries.


ACL-based access control system restrict database access for users and roles.


Database server is installed from a cross-platform binary package. A cross-platform installer with a graphical user interface installs all the software components with little user interaction.[2]

Management and graphical frontends[edit]

Official tools[edit]

Database server comes with an optional DBA Studio software which requires the Java runtime to function.[2]

See also[edit]


  1. ^ a b c "SysSurge". Retrieved 2012-01-17. 
  2. ^ a b c "Frequently asked questions". SparkleDB. Retrieved 2012-01-17. 

External links[edit]