Sparksee

Sparksee is a high performance native graph database management system developed by Sparsity Technologies. Designed to support computations on graph/network objects at large-scale, Sparksee leverages the bitmap data structure. While being the first graph database for iOS and android, Sparksee can also be run on Linux, Windows and MacOSX. It provides full ACID transactions and has largely been used in social network analysis.

History

Sparksee was formerly known as DEX. Development around DEX was first started by the DAMA-UPC technology transfer team from Universitat Politècnica de Catalunya (Barcelona, Spain) in 2006. Intended for large graph analysis, DEX was already used in various industrial projects and gained popularity from different areas such as medical and bibliographical network analysis. In 2008, its first version was released, and DEX officially changed its name to Sparksee on its 5th release in 2014.

Query Interface

Custom API

Sparksee uses custom APIs for data retrieval and returns object instances. A sample select operation is provided below:
Objects Graph#select(int attribute, Condition cond, Value v)

Isolation Levels

Serializable

Sparksee supports full ACID transactions and the default isolation level is SERIALIZABLE. The granularity is at graph level.

System Architecture

Shared-Nothing

Sparksee offers a shared-nothing architecture with master-slave replication and synchronous updates.

Indexes

B+Tree BitMap

In Sparksee, index can be built on attributes to speed up operations, but one attribute can only be associated with a single index. In addition, Sparksee stores actual data, instated of pointers, at the index level to ensure faster data retrieval.

Storage Model

Custom

Sparksee has native graph storage, meaning the storage system is specifically built for graph data.

Data Model

Graph Object-Oriented

Sparksee represents data and schema as a graph and map data operations to graph operations. In the actual implementation, a graph is composed of nodes, edges and attributes, and they are all stored as objects.

Checkpoints

Consistent

Sparksee supports consistent checkpointing, meaning all recovery log files are flushed to disk when the checkpoint is invoked. Users can configure the checkpoint frequency.

Concurrency Control

Two-Phase Locking (Deadlock Detection)

Sparksee supports a multiple read and single write model and locking is performed at graph level. All transactions, unless explicitly initialized as writes, start as reads and are transformed into write transactions when all the other read transactions finish. All transactions can roll back in case of deadlocks.

Sparksee Logo
Website

http://sparsity-technologies.com/#sparksee

Tech Docs

http://sparsity-technologies.com/UserManual/Index.html

Developer

Sparsity Technologies

Country of Origin

ES

Start Year

2006

Former Name

DEX

Project Type

Commercial, Open Source

Written in

C++

Supported languages

C#, C++, Java, Objective-C, Python

Operating Systems

Android, iOS, Linux, OS X, Windows

Wikipedia

https://en.wikipedia.org/wiki/Sparksee_(graph_database)