|Development status||Alpha stage 3|
|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. It manages collections of RDF documents, and thus works as a triplestore. The first public release will be in the fall of 2013.
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.
Among the features are:
- Named graphs.
- Big Data support as a horizontally distributed database.
- Cross-platform support: binaries are available for Windows, OpenBSD, Mac OS X, Linux (Ubuntu, Fedora, Mandriva). Other POSIX-compatible operating systems will be added by user request.
- Sets and bags for query results.
Ad hoc queries
Implements persistent data with an indexing algorithm.
Implements multiversion concurrency control (MVCC).
Serializable isolation level
Implements serializable database system data isolation level through multiversion concurrency control.
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.
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.
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.
Management and graphical frontends
- Official website
- How RDF Databases Differ from Other NoSQL Solutions
- SPARQL Protocol
- SemanticWeb.com article