Sparksee overview

4,405 views

Published on

Sparksee graph database general overview

Published in: Data & Analytics
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,405
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

×