InfiniteGraph - O`Reilly Media
Download
Report
Transcript InfiniteGraph - O`Reilly Media
Leveraging Commercial Graph DB
Technologies in Open Source and
Polyglot Application Environments
Brian Clark, VP Product Management
Objectivity, Inc.
Objectivity, Inc.
•
•
•
•
•
Who we are – Objectivity, Inc.
What we do - InfiniteGraph.
Why InfiniteGraph?
Open Source Polyglot Use Cases.
Other uses of open source in Objectivity, Inc.
Objectivity, Inc.
• The world today is about big data, distributed
objects and connections between them.
• Objectivity/DB™
Distributed big data and object management.
• InfiniteGraph™
Connects the dots on a global scale.
Why We’re Different
• Relational databases are not optimized to
understand objects or connections.
• Objectivity/DB™ is all about objects and
relationships.
• InfiniteGraph™ is all about the connections as
first class citizens.
Find Complex Answers Faster with
InfiniteGraph’s Distributed Graph Database
• InfiniteGraph is optimized for high speed
traversal of complex relationships.
• Return results faster by several orders of
magnitude compared to other technologies.
• Performance will not degrade or suddenly
drop-off.
Internal, Confidential
InfiniteGraph in the “NOSQL” Market
InfiniteGraph
™
• Connects the dots on a global scale.
• InfiniteGraph™ finds connections in big data.
InfiniteGraph Values
• Connects the dots on a global scale.
– It’s all about finding, persisting and navigating
relationships in big data.
• You can download, develop, deploy at no cost.
– InfiniteGraph starts at $0.
– You can build for free, and expand as needed.
• Leading the data and graph markets.
– No other graph product today can serve the requirements
of enterprise, government and large scale online ventures,
as we can.
– InfiniteGraph is the commercial leader in graph
technologies for these markets. Our customers are proof.
InfiniteGraph’s Unique Advantages
• Supports large scale and distributed systems.
• Proven technology and deployments.
• Flexible and Easy:
• Distributed and cloud ready, Java on interoperable
platforms, integrates with most other data stores,
supports ACID to flexible modes.
Relationships are everywhere
CRM, Sales &
Marketing
Network
Mgmt,
Telecom
Intelligence
(Government
& Business)
PLM (Product
Lifecycle
Mgmt)
Finance
Social
Networks
Research:
Genomics
Healthcare
Open Source Polyglot Applications
• Where does the graph data come from?
• Extracting data from other sources, relational
databases (join tables); key-value stores such
as MongoDB; social networks, e.g. Facebook,
LinkedIn through public APIs; the Web, e.g.
Wikipedia, RDF.
• Using open source to store external keys (e.g.
GUID, URI) to InfiniteGraph element ids
mapping for very large graphs –billions of
nodes and edges.
InfiniteGraph Basic Architecture
User Apps
Blueprints
InfiniteGraph - Core/API
Management
Extensions
Navigation
Execution
Placement
Session / TX
Management
Configuration
Distributed Object and Relationship Persistence Layer
Copyright © InfiniteGraph
Parallel Ingest
App-2
App-2
(Ingest V2)
(E23{ V2V3})
App-1
(E
(Ingest
V21})
)
1 2{ V1V
App-3
(Ingest V3)
InfiniteGraph - Core/API
Placement (MDP Plugin)
Management
Extensions
Navigation
Execution
Placement
Session / TX
Management
Configuration
Distributed Object and Relationship Persistence Layer
V1
E12
V2
Copyright © InfiniteGraph
E23
V3
Distributed Placement
AddVertex()
IG Core/API
ADP Placement
Distributed Object and Relationship Persistence Layer
HostA
HostB
HostC
Zone 1
HostX
Zone 2
Copyright © InfiniteGraph
Distributed Placement & Pipelining
IG Core/API
E23
Navigation
Execution
E(1->2)
E(2->3)
E(3->1)
E(2->1)
E(2->3)
Placement
(MDP)
(ADP)
E(1->2)
E(2->3)
E(3->2)
E(2->1)
E(2->3)
E(3->1)
E(3->1)
E(3->2)
Copyright © InfiniteGraph
Configuration
Pipeline
E(1->2)
E(3->1)
E(1->2)
Session / TX
Management
C1
Pipeline Containers
E12
Target Containers
Management
Extensions
C2
Agent
C3
Parallel Processing and Storage
Apache HADOOP
• Map/reduce
– Distributed processing.
• HDFS
– Distributed file system.
• HBase
– Distributed storage for large
tables.
• Cassandra
– Multi-master database with
no single point of failure.
InfiniteGraph
• Distributed processing
– Peer-to-peer servers and
clients anywhere in the
network.
• Distributed data
– Federation of databases
anywhere in the network.
• Single logical view of all
data in the federation
– Any client anywhere can
access server anywhere.
InfiniteGraph
™
• Technical specifications:
– Written in: Java (core C++) .
– Platforms: Windows (32-bit and 64-bit), Linux (32bit and 64-bit), Mac (64-bit).
– Graph-Model: Labeled directed multigraph.
– API/Protocols: Java, Tinkerpop (which provides
Gremlin, REST, Frames, Ripple and Linked Process).
– Consistency: Flexible (from ACID, to relaxed).
– Indexing: Flexible (from automatic to manual)
– Persistence: Java class based.
Comprehensive Online Resources
InfiniteGraph
Developer Wiki
Google Group
for Developers
Product
Documentation
Download
InfiniteGraph
InfiniteGraph.com
(main site, content
and messaging)
Our Blog
Other uses of Open Source
• Eclipse
– IDE for development and samples;
– Plug-ins (browsers/visualizer);
– SWTBot - UI testing of Visualizer and Assist.
•
•
•
•
Apache Ant, Maven, Tycho - build.
Junit – test.
SL4J - plug into log4j and apache logging.
Lucene – text indexing.
Other uses of Open Source
•
•
•
•
•
•
Xerces C++ – C++ Parser in XML tool suite.
PCRE --> C++ Parser Generator
zlib --> C++ compression
cppcheck - check memory leaks, etc.
ANTLR 3 –Predicate Query Language (parser).
unixODBC – SQL++ access to database.
We’re exhibiting – Booth #708
Brian Clark
VP Product Marketing