SparkleDB
Developer(s) | SysSurge AS |
---|---|
Development status | Alpha |
Written in | C++ |
Operating system | Cross-platform |
Available in | English |
Type | RDF triplestore database |
Website |
www |
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]
Features
Among the features are:[2]
- 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
Write SPARQL and SPARQL/Update queries. These declarative query and update languages are W3C standards resp. drafts.
Indexing
Implements persistent data with an indexing algorithm.
Concurrency control
Implements multiversion concurrency control (MVCC).
Serializable isolation level
Implements serializable database system data isolation level through multiversion concurrency control.
Language support
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.
Persistence
The database server fully supports ACID (atomicity, consistency, isolation, durability) to guarantee that the database transactions are processed reliably.
High performance
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
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.
Security
ACL-based access control system restrict database access for users and roles.
Deployment
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
Official tools
Database server comes with an optional DBA Studio software which requires the Java runtime to function.[2]
See also
References
- 1 2 3 "SysSurge". Retrieved 2012-01-17.
- 1 2 3 "Frequently asked questions". SparkleDB. Retrieved 2012-01-17.
External links
- Official website
- How RDF Databases Differ from Other NoSQL Solutions
- SPARQL Protocol
- SemanticWeb.com article
|