Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sparksee overview

6,040 views

Published on

Sparksee graph database general overview

Published in: Data & Analytics
  • Be the first to comment

Sparksee overview

  1. 1. *Sparsity Technologies — Powering Extreme Data sparsity-technologies.com º Sparksee Graph Database General Overview 2014 Dàmaris Coll
  2. 2. *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com º Sparksee Graph Database ! Introduction! Sparksee! Architecture! Sparksee APIs! Sparksee mobile ! Index
  3. 3. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseIntroduction Sparsity Technologies! ! — Technology based company! — Technology comes from research at DAMA-UPC, in Barcelona! — Collaborative work with DAMA-UPC for services and applications! ! Specialize on! ! — Managing and querying large graph data! — Efficient and compressible graph management ! — Social network analytics ! — More than 3 years expertise, ACCESO and Media Planning Group! — Community search, role discovery, influential ! people! — Bibliographical databases analytics!
  4. 4. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseSparksee Sparksee! ! IS a high-performance and out-of-core graph database management system! ! FOR large scale labeled and attributed multigraphs! ! BASED ON vertical partitioning and collections of objects identifiers stored as bitmaps
  5. 5. º*Sparsity Technologies — Powering Extreme Data sparsity–technologies.com º Sparksee Graph DatabaseSparksee Sparksee — Characteristics! ! — Graph split into small structures ! Move to main memory just significant parts (caching) — Object identifiers (oids) instead of complex objects ! Reduce memory requirements — Specific structures to improve traversals ! Index the edges and the neighbors of each node — Attribute indices ! Improve queries based on value filters — Implemented in C++ ! Different APIs (Java, .NET, etc.) through wrappers
  6. 6. º*Sparsity Technologies — Powering Extreme Data sparsity–technologies.com º Sparksee Graph DatabaseSparksee Sparksee — Capabilities! ! Efficiency ! very compact representation using bitmaps. Highly compressible data ! ! ! structures. Capacity ! more than 100 billion vertices and edges in a single multicore computer. Performance ! subsecond response in recommendation queries. Scalability ! high throughput for concurrent queries. Consistency ! partial transactional support with recovery. Multiplatform ! Linux, Windows, MacOSX, Mobile
  7. 7. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseSparksee Sparksee architecture GDB GRAPH DATA STRUCTURES PLATFORM SPARKSEECORE SparkseeCpp – Graph Algorithms SWIG SparkseeJavaSparkseeNet .NET App JAVA App C++ App BUFFERPOOL Python App SparkseePython
  8. 8. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseSparksee Sparksee APIs! ! Desktop! — Java, .Net (C#), Python and C++ APIs! — Windows, Linux, Mac OS. 32 and 64bit compilations — Free download from the website evaluation version limited! — Development, Startup and Research programs! — Tailored licenses: Graph size, Sessions and HA functionality! ! Mobile! — iOS, Android and BB10! — C++ for iOS, C++ (NDK) and Java (SDK) for Android, C++ for BB10 — Free download from the website evaluation version limited ! ! requires a prior approved license! — Prices depend on number of final app downloads! ! !
  9. 9. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseAPI – Hands on API Class Diagram 1 N 1 1 Objects 1 N 1 N Set of OIDs Session GraphDatabaseSparksee
  10. 10. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseAPI – Hands on API methods! ! ! com.sparsity.sparksee.gdb! com.sparsity.sparksee.algorithms! com.sparsity.sparksee.io (not covered by this seminar)! com.sparsity.sparksee.scripts (not covered by this seminar)!
  11. 11. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseAPI – Hands on API methods! ! com.sparsity.sparksee.gdb Sparksee! ! open(filename) -> Database create(filename) -> Database close() Database! ! newSession() -> Session close() ! Session! ! getGraph() -> Graph close() begin()/commit() newObjects() -> Objects ObjectsIterator! ! hasNext() -> boolean next() -> long close() Objects! ! add(long) exists(long) copy(objs) union(objs) intersection(objs) difference(objs) close() Graph! ! newNodeType(name) -> int newEdgeType(name) -> int newNode(type) -> long newEdge(type) -> long newAttribute(type,name) -> int setAttribute(oid, attr, value) getAttribute(oid, attr) -> value ! select(type) -> Objects select(attr, op, value) -> Objects explode(oid, type) -> Objects neigbors(oid, type) -> Objects
  12. 12. *Sparsity Technologies — Powering Extreme Data sparsity– technologies.com *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com Sparksee Graph DatabaseAPI – Hands on API methods! ! com.sparsity.sparksee.algorithms SinglePairShortestPathBFS! SinglePairShortestPathDijkstra! !! SinglePairShortestPathBFS(session, src, dst) addEdgeType(type, direction) addNodeType(type) run() getPathAsEdges() -> OIDList getPathAsNodes() -> OIDList StrongConnectivityGabow! WeakConnectivityDFS! !! addEdgeType(type, direction) addNodeType(type) run() getConnectedComponents() -> ConnectedComponents TraversalBFS! TraversalDFS! ! TraversalBFS(session, src) addEdgeType(type, direction) addNodeType(type) hasNext() -> boolean next() -> oid !
  13. 13. *Sparsity Technologies — Powering Extreme Data sparsity–technologies.com º Sparksee Graph Database Thanks!! Q&A

×