SlideShare uma empresa Scribd logo
1 de 58
Objectivity/DB - A Multi-Purpose
NoSQL Database

Leon Guzenda and Lenny Hoffman

Lunch and Learn - December 12, 2013
© Objectivity, Inc. 2013
Agenda
• Objectivity
• NoSQL?
• Objectivity/DB
• Typical Configurations
• Placement Manager

© Objectivity, Inc. 2013
Objectivity, Inc.
• A privately held, profitable company founded in 1988 to
provide object database software for engineering, scientific
and defense applications.
• Defence and Intelligence Community customers include:
US DoD/DoE/DHS, BaE, Boeing, General Dynamics,
L-3, Lockheed Martin, NGC, Raytheon, Titan...
• Equipment manufacturing customers include: Alcatel, Ciena,
Emerson, Ericsson, Iridium, NEC, Qualcomm, Siemens...
• “Big Science” customers include Berkeley NL, Brookhaven NL, CERN,
Lawrence Livermore NL, FermiLab, JHU Sloan Digital Sky Survey, Los
Alamos NL, Max Planck...

© Objectivity, Inc. 2013
Typical Deployments...
Objectivity/DB is used to
aggregate knowledge and
disseminate it back into
the field

HUMINT

© Objectivity, Inc. 2013
...Typical Deployments...
Astronomy

© Objectivity, Inc. 2013
...Typical Deployments

Zeus Anesthesia

Base Station Controller

Iridium LEO Network

High Energy Physics

Process Control
© Objectivity, Inc. 2013
ODBMS Evolution
• 1980s
– “Performance, Performance, Performance!”
– Primarily scientific and engineering applications

• 1990s
– Embedded applications
– Reliability and Scalability
– New languages and Operating Systems

DATA
MANIPULATION
Applications tended
to generate data and
relationships

– Large deployments in the scientific domain

• 2000s

RELATIONSHIP
ANALYTICS

– Ease of use and instrumentation

– Query languages

Applications ingest
and correlate data
and relationships

– Performance and scalability
– Grids and Clouds
– Embedded systems, government and more...

© Objectivity, Inc. 2013
High Ingest Systems
• 2000
– System handles 1 billion objects per day
– Correlates them with existing knowledge
– Raises alerts when new information is found
– Services about 100 analysts at one agency

• 2010
– System handles about 50 trillion objects every day
– Services 1000+ analysts at six agencies

• 2013
– A multi-sensor platform collects 2 Petabytes per day...

© Objectivity, Inc. 2013
NoSQL?

© Objectivity, Inc. 2013
Not Only SQL – A group of 4 primary technologies
Object Database

Key-Value Store

Highly
Interconnected

Simple
Leon Guzenda at ICOODB 2010

© Objectivity, Inc. 2010
© Objectivity, Inc. 2013
NoSQL?
•All of these features could have been obtained
from “Commercial Off The Shelf” ODBMSs:
• Unique object/document IDs

• Flexible object clustering
• Effectivity (data in a relationship)
Shared-Nothing
• Geospatial and multi-dimensional indexing
Fully distributed
• Hash table (key-value) lookups
“No-lock” and novel transaction modes
• Hyperspace = = single logical view of a federation
Iterators and fast, predictable traversals
• Multi-way replication
Fast scans
• High Availability
Optimization for random access
• Text searching

• Sharding
•
•
•
•
•
•

• In Memory Database configurability

Source: ICOODB 2011
© Objectivity, Inc. 2013
Not Only SQL – Is There Actually Anything New?
Other NoSQL

Objectivity/DB

Rediscovered Database Technologies

Scalable Collections:
• Hash Maps
• Plus Trees, Collections, B-Tree
indices and fast navigation

Key-Value Store

Named Groups of Objects:
• Document, Volume, Chapter,
Paragraph, Sentence,
Word…
• Or JSON, XML etc.

Objectivity/SQL++:
• SQL with object extensions
• Every row has a ROWID

© Objectivity, Inc. 2013
OBJECTIVITY/DB

© Objectivity, Inc. 2013
Objects
•
•
•
•
•
•
•
•
•

Accessible via a unique identifier (OID)
Can be linked by named relationships
Can be indexed in multiple ways
Can be included in multiple collections
Can be named in multiple scopes
Can be dynamically clustered
Can be versioned
Can be transient or persistent
Interoperable across multiple languages
(including SQL++) on multiple platforms
© Objectivity, Inc. 2013
Architectural Features
• Single Logical View
• Simple, Distributed Servers
• Replaceable Components (plug-ins)

© Objectivity, Inc. 2013
SINGLE LOGICAL VIEW

© Objectivity, Inc. 2013
SINGLE LOGICAL VIEW

Single Logical View of Millions of Exabytes

© Objectivity, Inc. 2013
Distributed Architecture
Client

Simple, Distributed Servers

Application

Lock Server
Lock Server

Smart
Cache

Lock Server
Query Server
Lock Server
Data Server

Objectivity/DB

Enhances scalability and availability
© Objectivity, Inc. 2013
Parallel Query Engine
Application

Lock Server
Lock Server

Smart
Cache

Lock Server
Query Server
Query Server

Objectivity/DB

PQE

Lock Server
Data Server

Task
Splitter

The Task Splitter aims queries at specific
databases and containers

Filter/Gat
eway

Filters can run complex qualification methods.
Gateways can access other databases or search engines.

Replaceable components for smarter optimization
© Objectivity, Inc. 2013
Replaceable Components

© Objectivity, Inc. 2013
Faster Navigation
PROBLEM: Find all (N) of the Suspects linked to a chosen Incident

Incident_Table

Relational solution:
N * 2 B-Tree lookups
N * 2 logical reads
B-Trees

© Objectivity, Inc. 2013

Join_Table

Suspect_Table
Faster Navigation
PROBLEM: Find all (N) of the Suspects linked to a chosen Incident

Incident_Table

Join_Table

Suspect_Table

Relational solution:
N * 2 B-Tree lookups
N * 2 logical reads
B-Trees

Incident

Objectivity/DB solution:
1
B-Tree lookup
1 + N logical reads

7

© Objectivity, Inc. 2013

Suspects
...Relationship Analytics...
Relational Database

Try constructing the SQL query to find the shortest path between these two rows

© Objectivity, Inc. 2013
...Relationship Analytics...
Relational Database

Object Database

With Objectivity/DB it’s a
few lines of code
© Objectivity, Inc. 2013
Typical Configurations

© Objectivity, Inc. 2013
Configuration Considerations
Processor Power

System Latency

Input/Output Volumes

Concurrency

Data Locality

Data Usage (random/scan,
volatility, query profiles...)

Storage media limitations

Geography and Mobility

Network Bandwidth

Security

Caching

Availability

© Objectivity, Inc. 2013
Standalone

Multithreaded process(es) run on a laptop
or workstation using the local disk(s).

© Objectivity, Inc. 2013
Network of Workstations

© Objectivity, Inc. 2013
In-Memory Database

The reference data is read into a large
cache that is preserved across
transactions, eliminating costly I/Os.

© Objectivity, Inc. 2013
Client-Server

© Objectivity, Inc. 2013
ODBC Server

Allows industry standard tools to access the
federation.

© Objectivity, Inc. 2013
Service-Oriented Architecture

Particularly useful where the link between
the client and the data is very slow.

© Objectivity, Inc. 2013
Parallel Query Engine

© Objectivity, Inc. 2013
High Performance Cluster
BaBAR Project
• “Data Intensive

Computing”
• 2000 CPU Farm
• 40 Terabytes of disk
• 1 Petabyte of tapes

First “public” project to
build a Petabyte+ database

© Objectivity, Inc. 2013
High Availability Cluster

© Objectivity, Inc. 2013
Geographically Distributed

© Objectivity, Inc. 2013
Grid/Cloud Deployment

Grid/Cloud

© Objectivity, Inc. 2013
Logger/Archiver

© Objectivity, Inc. 2013
Hybrid…

© Objectivity, Inc. 2013
…Hybrid
Sources

Ingest

Correlation & Analytics

© Objectivity, Inc. 2013

Visual Analytics

Actions
Flexibility Rules!
• The Single Logical View, Simple Distributed
Servers, Replaceable Components and Small
Footprint.....
• ... Provide Many Deployment Options

© Objectivity, Inc. 2013
Flexibility Rules!
• The Single Logical View, Simple Distributed
Servers, Replaceable Components and Small
Footprint.....
• ... Provide Many Deployment Options
Let's look at physical placement of data in more detail.

© Objectivity, Inc. 2013
www.Objectivity.com

Flexible
Placement
Lenny Hoffman
Chief Architect, Objectivity
Placement
• The vast majority of DBMSs place data
– On disk using some type of organization.
– On different disks.
– On different nodes.

• A lot of what differentiates DBMSs is how they place
data.
• The way data is placed greatly affects the applicability
of the DBMS for certain models (e.g. relational,
document, graph) as well as different use cases.
– Grouping by sets is good for relational, but not so good for
document or graph.
Model Influences Placement
• Most DBMSs are model specific:
– Relational – Key-Value – Document – Graph

• They naturally layout (place) data in ways that best support
those models and the use cases they tend to attract.
– Relational DBMSs tend to place like type data together as that
performs best given their set based access.
– Key-Value DBMSs tend to place data according to key values
(hashed), as that makes looking up by key fast.
– Document DBMSs tend to place data in hierarchies that represent
documents to make working with a document fast.
– Graph DBMSs tend to place data according to its connectivity with
other data as that makes navigation fast.
Placement Configurability
• Performance is the main reason behind placement
choices. Orders of magnitude differences can occur
between efficient and inefficient data placements.
• DBMSs place data based on their understanding and
experience with the use cases that fit with the model
and their target markets.
• Knowing that they can’t in a general way place data
that is best for every application they usually make
placement configurable to some degree.
Typical Placement Configurability
• DBMSs usually provide configurability within the
general framework of placement they do:
– Table spaces, Fragmenting, partitioning, sharding.
– Node assignments.
– Limited clustering (e.g. across joins).

• Most do not provide the ability to change the
framework, in whole or in part.
– When you model or use data differently.
– When some of your data does not fit well with general
assumptions made by the framework.
Fully Configurable Placement
• Model independent.
• Choosing which objects (e.g. records/rows) are placed together
(clustering).
– Because they are going to be used together.

• Which ones are placed separately.
– Because they are going to be used separately and may be distributed
separately.

• Which ones you base a primary, secondary, tertiary, etc. organization on.
• Having different organizations for different data.
– Different types of data.
– The same types but used differently.
– Data used in different modes, e.g. demo vs. production.

• Distributing data based on what is used together and locality of use.
Objectivity Placement System
Placement Model
• The Placement Model is the means by which a database designer
expresses a placement design and what is used by the
Placement Manager when placing objects or helping the query
system look them up.
• A Placement Model primarily consists of rules and placers:
– Rule -- expresses the conditions that are to lead to a particular object
placer.
– Object Placer -- responsible for placing objects into containers and
keeping track of where they where placed.
– Container Placer -- responsible for placing containers into databases
and keeping track of where they were placed.
– Database Placer -- responsible for placing database files (including
those for its externalized containers) into storage locations (host/path
combinations) and keeping track where they were placed.
Rule-Placer Delegation
Place According To Type
Place According to Hierarchy
Place According to Connectivity
Place According to Related (Partition)
Place According to Value (Partition)
A

D

3

D

E

8

F

H

12

J

K

55

P

Q

106

S

Z

197
Placement Summary
• Placement has a huge influence on performance.
• You can mix and match all possible placement
arrangements.
• You can use different placement schemes for different parts
of your data.
• We place it, therefore we find it (efficiently).
• It is easy to try different placement schemes to see what
works best for you.
• You can have different placement schemes for demo vs.
production, etc.
• You can evolve your placement as models are versioned.
Thank you!
Q&A
Follow us on twitter: @infinitegraph
and @objectivitydb

Mais conteúdo relacionado

Mais procurados

Chapter 6 - Digital Data Communication Techniques 9e
Chapter 6 - Digital Data Communication Techniques 9eChapter 6 - Digital Data Communication Techniques 9e
Chapter 6 - Digital Data Communication Techniques 9e
adpeer
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
Muuluu
 
TCP/IP Network ppt
TCP/IP Network pptTCP/IP Network ppt
TCP/IP Network ppt
extraganesh
 
Object relational and extended relational databases
Object relational and extended relational databasesObject relational and extended relational databases
Object relational and extended relational databases
Suhad Jihad
 

Mais procurados (20)

Database Security And Authentication
Database Security And AuthenticationDatabase Security And Authentication
Database Security And Authentication
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
Chapter 6 - Digital Data Communication Techniques 9e
Chapter 6 - Digital Data Communication Techniques 9eChapter 6 - Digital Data Communication Techniques 9e
Chapter 6 - Digital Data Communication Techniques 9e
 
Network switch
Network switchNetwork switch
Network switch
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
Pumping lemma
Pumping lemmaPumping lemma
Pumping lemma
 
File system
File systemFile system
File system
 
Operating System-Ch8 memory management
Operating System-Ch8 memory managementOperating System-Ch8 memory management
Operating System-Ch8 memory management
 
Memory management
Memory managementMemory management
Memory management
 
It6601 mobile computing unit 4
It6601 mobile computing unit 4It6601 mobile computing unit 4
It6601 mobile computing unit 4
 
Ddbms1
Ddbms1Ddbms1
Ddbms1
 
Ethernet Computer network
Ethernet Computer networkEthernet Computer network
Ethernet Computer network
 
Routing protocols
Routing protocolsRouting protocols
Routing protocols
 
Webofthing_WOT_vs_IOT.pptx
Webofthing_WOT_vs_IOT.pptxWebofthing_WOT_vs_IOT.pptx
Webofthing_WOT_vs_IOT.pptx
 
OSI Layers
OSI LayersOSI Layers
OSI Layers
 
Database System Architecture
Database System ArchitectureDatabase System Architecture
Database System Architecture
 
TCP/IP Network ppt
TCP/IP Network pptTCP/IP Network ppt
TCP/IP Network ppt
 
TCP timers.ppt
TCP timers.pptTCP timers.ppt
TCP timers.ppt
 
Object relational and extended relational databases
Object relational and extended relational databasesObject relational and extended relational databases
Object relational and extended relational databases
 
OSI 7 Layer Model
OSI 7 Layer ModelOSI 7 Layer Model
OSI 7 Layer Model
 

Destaque

Chatt State Library Staff: Parks and Recreation
Chatt State Library Staff: Parks and RecreationChatt State Library Staff: Parks and Recreation
Chatt State Library Staff: Parks and Recreation
orangejayhawk
 
AllegroGraph - Cognitive Probability Graph webcast
AllegroGraph - Cognitive Probability Graph webcastAllegroGraph - Cognitive Probability Graph webcast
AllegroGraph - Cognitive Probability Graph webcast
Franz Inc. - AllegroGraph
 
Design your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDBDesign your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDB
Luca Garulli
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
InfiniteGraph
 

Destaque (19)

Chatt State Library Staff: Parks and Recreation
Chatt State Library Staff: Parks and RecreationChatt State Library Staff: Parks and Recreation
Chatt State Library Staff: Parks and Recreation
 
InfiniteGraph Presentation from Oct 21, 2010 DBTA Webcast
InfiniteGraph Presentation from Oct 21, 2010 DBTA WebcastInfiniteGraph Presentation from Oct 21, 2010 DBTA Webcast
InfiniteGraph Presentation from Oct 21, 2010 DBTA Webcast
 
AllegroGraph - Cognitive Probability Graph webcast
AllegroGraph - Cognitive Probability Graph webcastAllegroGraph - Cognitive Probability Graph webcast
AllegroGraph - Cognitive Probability Graph webcast
 
An overview of InfiniteGraph, the distributed graph database
An overview of InfiniteGraph, the distributed graph databaseAn overview of InfiniteGraph, the distributed graph database
An overview of InfiniteGraph, the distributed graph database
 
PowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQLPowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQL
 
Dex: Introduction
Dex: IntroductionDex: Introduction
Dex: Introduction
 
Graph Databases & OrientDB
Graph Databases & OrientDBGraph Databases & OrientDB
Graph Databases & OrientDB
 
Sparksee Technology overview
Sparksee Technology overviewSparksee Technology overview
Sparksee Technology overview
 
Design your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDBDesign your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDB
 
OrientDB for real & Web App development
OrientDB for real & Web App developmentOrientDB for real & Web App development
OrientDB for real & Web App development
 
OrientDB introduction - NoSQL
OrientDB introduction - NoSQLOrientDB introduction - NoSQL
OrientDB introduction - NoSQL
 
Sparksee overview
Sparksee overviewSparksee overview
Sparksee overview
 
Neo4j + Tableau Visual Analytics - GraphConnect SF 2015
Neo4j + Tableau Visual Analytics - GraphConnect SF 2015 Neo4j + Tableau Visual Analytics - GraphConnect SF 2015
Neo4j + Tableau Visual Analytics - GraphConnect SF 2015
 
OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
 
Intro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
Intro to Graph Databases Using Tinkerpop, TitanDB, and GremlinIntro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
Intro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
 
Allegograph
AllegographAllegograph
Allegograph
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
OrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionalityOrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionality
 

Semelhante a Objectivity/DB: A Multipurpose NoSQL Database

NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
Adi Challa
 

Semelhante a Objectivity/DB: A Multipurpose NoSQL Database (20)

NoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-lessNoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-less
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
 
IBM - Introduction to Cloudant
IBM - Introduction to CloudantIBM - Introduction to Cloudant
IBM - Introduction to Cloudant
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
 
Estimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics PlatformEstimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics Platform
 
The Shifting Landscape of Data Integration
The Shifting Landscape of Data IntegrationThe Shifting Landscape of Data Integration
The Shifting Landscape of Data Integration
 
Simplifying Your Cloud Architecture with a Logical Data Fabric (APAC)
Simplifying Your Cloud Architecture with a Logical Data Fabric (APAC)Simplifying Your Cloud Architecture with a Logical Data Fabric (APAC)
Simplifying Your Cloud Architecture with a Logical Data Fabric (APAC)
 
QuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarQuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing Webinar
 
No sql database
No sql databaseNo sql database
No sql database
 
Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)
 
Ibm db2update2019 icp4 data
Ibm db2update2019   icp4 dataIbm db2update2019   icp4 data
Ibm db2update2019 icp4 data
 
Optimize with Open Source
Optimize with Open SourceOptimize with Open Source
Optimize with Open Source
 
Big Data Warehousing Meetup with Riak
Big Data Warehousing Meetup with RiakBig Data Warehousing Meetup with Riak
Big Data Warehousing Meetup with Riak
 
MONGODB VASUDEV PRAJAPATI DOCUMENTBASE DATABASE
MONGODB VASUDEV PRAJAPATI DOCUMENTBASE DATABASEMONGODB VASUDEV PRAJAPATI DOCUMENTBASE DATABASE
MONGODB VASUDEV PRAJAPATI DOCUMENTBASE DATABASE
 
Modern Data Management for Federal Modernization
Modern Data Management for Federal ModernizationModern Data Management for Federal Modernization
Modern Data Management for Federal Modernization
 
London Breakfast Seminar
London Breakfast SeminarLondon Breakfast Seminar
London Breakfast Seminar
 
Belgium & Luxembourg dedicated online Data Virtualization discovery workshop
Belgium & Luxembourg dedicated online Data Virtualization discovery workshopBelgium & Luxembourg dedicated online Data Virtualization discovery workshop
Belgium & Luxembourg dedicated online Data Virtualization discovery workshop
 
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
 
IBM Cloud Day January 2021 - A well architected data lake
IBM Cloud Day January 2021 - A well architected data lakeIBM Cloud Day January 2021 - A well architected data lake
IBM Cloud Day January 2021 - A well architected data lake
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 

Mais de InfiniteGraph

Making Sense of Graph Databases
Making Sense of Graph DatabasesMaking Sense of Graph Databases
Making Sense of Graph Databases
InfiniteGraph
 
NoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive AnalyticsNoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive Analytics
InfiniteGraph
 
Vodafone xone fev142013v3 ext
Vodafone xone fev142013v3 extVodafone xone fev142013v3 ext
Vodafone xone fev142013v3 ext
InfiniteGraph
 
Dbta Webinar Realize Value of Big Data with graph 011713
Dbta Webinar Realize Value of Big Data with graph  011713Dbta Webinar Realize Value of Big Data with graph  011713
Dbta Webinar Realize Value of Big Data with graph 011713
InfiniteGraph
 
Oracle no sql overview brief
Oracle no sql overview briefOracle no sql overview brief
Oracle no sql overview brief
InfiniteGraph
 
Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012
InfiniteGraph
 

Mais de InfiniteGraph (20)

Making Sense of Graph Databases
Making Sense of Graph DatabasesMaking Sense of Graph Databases
Making Sense of Graph Databases
 
Webinar 3/12/14: Using Social Media to Drive Value
Webinar 3/12/14: Using Social Media to Drive ValueWebinar 3/12/14: Using Social Media to Drive Value
Webinar 3/12/14: Using Social Media to Drive Value
 
The Value of Explicit Schema for Graph Use Cases
The Value of Explicit Schema for Graph Use CasesThe Value of Explicit Schema for Graph Use Cases
The Value of Explicit Schema for Graph Use Cases
 
Solution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big DataSolution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big Data
 
Making sense of the Graph Revolution
Making sense of the Graph RevolutionMaking sense of the Graph Revolution
Making sense of the Graph Revolution
 
Using A Distributed Graph Database To Make Sense Of Disparate Data Stores
Using A Distributed Graph Database To Make Sense Of Disparate Data StoresUsing A Distributed Graph Database To Make Sense Of Disparate Data Stores
Using A Distributed Graph Database To Make Sense Of Disparate Data Stores
 
Turning Big Data into Smart Data with Graph Technologies
Turning Big Data into Smart Data with Graph TechnologiesTurning Big Data into Smart Data with Graph Technologies
Turning Big Data into Smart Data with Graph Technologies
 
NoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive AnalyticsNoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive Analytics
 
How we Learned to Stop Worrying and Solve the Distributed Graph Problem
How we Learned to Stop Worrying and Solve the Distributed Graph ProblemHow we Learned to Stop Worrying and Solve the Distributed Graph Problem
How we Learned to Stop Worrying and Solve the Distributed Graph Problem
 
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
 
Vodafone xone fev142013v3 ext
Vodafone xone fev142013v3 extVodafone xone fev142013v3 ext
Vodafone xone fev142013v3 ext
 
Dbta Webinar Realize Value of Big Data with graph 011713
Dbta Webinar Realize Value of Big Data with graph  011713Dbta Webinar Realize Value of Big Data with graph  011713
Dbta Webinar Realize Value of Big Data with graph 011713
 
Oracle no sql overview brief
Oracle no sql overview briefOracle no sql overview brief
Oracle no sql overview brief
 
Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012
 
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph TechnologyOracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
 
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
 
NOSQL Now! Presentation, August 23, 2011: Introduction to InfiniteGraph, the ...
NOSQL Now! Presentation, August 23, 2011: Introduction to InfiniteGraph, the ...NOSQL Now! Presentation, August 23, 2011: Introduction to InfiniteGraph, the ...
NOSQL Now! Presentation, August 23, 2011: Introduction to InfiniteGraph, the ...
 
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
 
Webinar: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Webinar: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.Webinar: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Webinar: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
 
New Data Technologies, Graph Computing and Relationship Discovery in the Ente...
New Data Technologies, Graph Computing and Relationship Discovery in the Ente...New Data Technologies, Graph Computing and Relationship Discovery in the Ente...
New Data Technologies, Graph Computing and Relationship Discovery in the Ente...
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Objectivity/DB: A Multipurpose NoSQL Database

  • 1. Objectivity/DB - A Multi-Purpose NoSQL Database Leon Guzenda and Lenny Hoffman Lunch and Learn - December 12, 2013 © Objectivity, Inc. 2013
  • 2. Agenda • Objectivity • NoSQL? • Objectivity/DB • Typical Configurations • Placement Manager © Objectivity, Inc. 2013
  • 3. Objectivity, Inc. • A privately held, profitable company founded in 1988 to provide object database software for engineering, scientific and defense applications. • Defence and Intelligence Community customers include: US DoD/DoE/DHS, BaE, Boeing, General Dynamics, L-3, Lockheed Martin, NGC, Raytheon, Titan... • Equipment manufacturing customers include: Alcatel, Ciena, Emerson, Ericsson, Iridium, NEC, Qualcomm, Siemens... • “Big Science” customers include Berkeley NL, Brookhaven NL, CERN, Lawrence Livermore NL, FermiLab, JHU Sloan Digital Sky Survey, Los Alamos NL, Max Planck... © Objectivity, Inc. 2013
  • 4. Typical Deployments... Objectivity/DB is used to aggregate knowledge and disseminate it back into the field HUMINT © Objectivity, Inc. 2013
  • 6. ...Typical Deployments Zeus Anesthesia Base Station Controller Iridium LEO Network High Energy Physics Process Control © Objectivity, Inc. 2013
  • 7. ODBMS Evolution • 1980s – “Performance, Performance, Performance!” – Primarily scientific and engineering applications • 1990s – Embedded applications – Reliability and Scalability – New languages and Operating Systems DATA MANIPULATION Applications tended to generate data and relationships – Large deployments in the scientific domain • 2000s RELATIONSHIP ANALYTICS – Ease of use and instrumentation – Query languages Applications ingest and correlate data and relationships – Performance and scalability – Grids and Clouds – Embedded systems, government and more... © Objectivity, Inc. 2013
  • 8. High Ingest Systems • 2000 – System handles 1 billion objects per day – Correlates them with existing knowledge – Raises alerts when new information is found – Services about 100 analysts at one agency • 2010 – System handles about 50 trillion objects every day – Services 1000+ analysts at six agencies • 2013 – A multi-sensor platform collects 2 Petabytes per day... © Objectivity, Inc. 2013
  • 10. Not Only SQL – A group of 4 primary technologies Object Database Key-Value Store Highly Interconnected Simple Leon Guzenda at ICOODB 2010 © Objectivity, Inc. 2010 © Objectivity, Inc. 2013
  • 11. NoSQL? •All of these features could have been obtained from “Commercial Off The Shelf” ODBMSs: • Unique object/document IDs • Flexible object clustering • Effectivity (data in a relationship) Shared-Nothing • Geospatial and multi-dimensional indexing Fully distributed • Hash table (key-value) lookups “No-lock” and novel transaction modes • Hyperspace = = single logical view of a federation Iterators and fast, predictable traversals • Multi-way replication Fast scans • High Availability Optimization for random access • Text searching • Sharding • • • • • • • In Memory Database configurability Source: ICOODB 2011 © Objectivity, Inc. 2013
  • 12. Not Only SQL – Is There Actually Anything New? Other NoSQL Objectivity/DB Rediscovered Database Technologies Scalable Collections: • Hash Maps • Plus Trees, Collections, B-Tree indices and fast navigation Key-Value Store Named Groups of Objects: • Document, Volume, Chapter, Paragraph, Sentence, Word… • Or JSON, XML etc. Objectivity/SQL++: • SQL with object extensions • Every row has a ROWID © Objectivity, Inc. 2013
  • 14. Objects • • • • • • • • • Accessible via a unique identifier (OID) Can be linked by named relationships Can be indexed in multiple ways Can be included in multiple collections Can be named in multiple scopes Can be dynamically clustered Can be versioned Can be transient or persistent Interoperable across multiple languages (including SQL++) on multiple platforms © Objectivity, Inc. 2013
  • 15. Architectural Features • Single Logical View • Simple, Distributed Servers • Replaceable Components (plug-ins) © Objectivity, Inc. 2013
  • 16. SINGLE LOGICAL VIEW © Objectivity, Inc. 2013
  • 17. SINGLE LOGICAL VIEW Single Logical View of Millions of Exabytes © Objectivity, Inc. 2013
  • 18. Distributed Architecture Client Simple, Distributed Servers Application Lock Server Lock Server Smart Cache Lock Server Query Server Lock Server Data Server Objectivity/DB Enhances scalability and availability © Objectivity, Inc. 2013
  • 19. Parallel Query Engine Application Lock Server Lock Server Smart Cache Lock Server Query Server Query Server Objectivity/DB PQE Lock Server Data Server Task Splitter The Task Splitter aims queries at specific databases and containers Filter/Gat eway Filters can run complex qualification methods. Gateways can access other databases or search engines. Replaceable components for smarter optimization © Objectivity, Inc. 2013
  • 21. Faster Navigation PROBLEM: Find all (N) of the Suspects linked to a chosen Incident Incident_Table Relational solution: N * 2 B-Tree lookups N * 2 logical reads B-Trees © Objectivity, Inc. 2013 Join_Table Suspect_Table
  • 22. Faster Navigation PROBLEM: Find all (N) of the Suspects linked to a chosen Incident Incident_Table Join_Table Suspect_Table Relational solution: N * 2 B-Tree lookups N * 2 logical reads B-Trees Incident Objectivity/DB solution: 1 B-Tree lookup 1 + N logical reads 7 © Objectivity, Inc. 2013 Suspects
  • 23. ...Relationship Analytics... Relational Database Try constructing the SQL query to find the shortest path between these two rows © Objectivity, Inc. 2013
  • 24. ...Relationship Analytics... Relational Database Object Database With Objectivity/DB it’s a few lines of code © Objectivity, Inc. 2013
  • 26. Configuration Considerations Processor Power System Latency Input/Output Volumes Concurrency Data Locality Data Usage (random/scan, volatility, query profiles...) Storage media limitations Geography and Mobility Network Bandwidth Security Caching Availability © Objectivity, Inc. 2013
  • 27. Standalone Multithreaded process(es) run on a laptop or workstation using the local disk(s). © Objectivity, Inc. 2013
  • 28. Network of Workstations © Objectivity, Inc. 2013
  • 29. In-Memory Database The reference data is read into a large cache that is preserved across transactions, eliminating costly I/Os. © Objectivity, Inc. 2013
  • 31. ODBC Server Allows industry standard tools to access the federation. © Objectivity, Inc. 2013
  • 32. Service-Oriented Architecture Particularly useful where the link between the client and the data is very slow. © Objectivity, Inc. 2013
  • 33. Parallel Query Engine © Objectivity, Inc. 2013
  • 34. High Performance Cluster BaBAR Project • “Data Intensive Computing” • 2000 CPU Farm • 40 Terabytes of disk • 1 Petabyte of tapes First “public” project to build a Petabyte+ database © Objectivity, Inc. 2013
  • 35. High Availability Cluster © Objectivity, Inc. 2013
  • 40. …Hybrid Sources Ingest Correlation & Analytics © Objectivity, Inc. 2013 Visual Analytics Actions
  • 41. Flexibility Rules! • The Single Logical View, Simple Distributed Servers, Replaceable Components and Small Footprint..... • ... Provide Many Deployment Options © Objectivity, Inc. 2013
  • 42. Flexibility Rules! • The Single Logical View, Simple Distributed Servers, Replaceable Components and Small Footprint..... • ... Provide Many Deployment Options Let's look at physical placement of data in more detail. © Objectivity, Inc. 2013
  • 44. Placement • The vast majority of DBMSs place data – On disk using some type of organization. – On different disks. – On different nodes. • A lot of what differentiates DBMSs is how they place data. • The way data is placed greatly affects the applicability of the DBMS for certain models (e.g. relational, document, graph) as well as different use cases. – Grouping by sets is good for relational, but not so good for document or graph.
  • 45. Model Influences Placement • Most DBMSs are model specific: – Relational – Key-Value – Document – Graph • They naturally layout (place) data in ways that best support those models and the use cases they tend to attract. – Relational DBMSs tend to place like type data together as that performs best given their set based access. – Key-Value DBMSs tend to place data according to key values (hashed), as that makes looking up by key fast. – Document DBMSs tend to place data in hierarchies that represent documents to make working with a document fast. – Graph DBMSs tend to place data according to its connectivity with other data as that makes navigation fast.
  • 46. Placement Configurability • Performance is the main reason behind placement choices. Orders of magnitude differences can occur between efficient and inefficient data placements. • DBMSs place data based on their understanding and experience with the use cases that fit with the model and their target markets. • Knowing that they can’t in a general way place data that is best for every application they usually make placement configurable to some degree.
  • 47. Typical Placement Configurability • DBMSs usually provide configurability within the general framework of placement they do: – Table spaces, Fragmenting, partitioning, sharding. – Node assignments. – Limited clustering (e.g. across joins). • Most do not provide the ability to change the framework, in whole or in part. – When you model or use data differently. – When some of your data does not fit well with general assumptions made by the framework.
  • 48. Fully Configurable Placement • Model independent. • Choosing which objects (e.g. records/rows) are placed together (clustering). – Because they are going to be used together. • Which ones are placed separately. – Because they are going to be used separately and may be distributed separately. • Which ones you base a primary, secondary, tertiary, etc. organization on. • Having different organizations for different data. – Different types of data. – The same types but used differently. – Data used in different modes, e.g. demo vs. production. • Distributing data based on what is used together and locality of use.
  • 50. Placement Model • The Placement Model is the means by which a database designer expresses a placement design and what is used by the Placement Manager when placing objects or helping the query system look them up. • A Placement Model primarily consists of rules and placers: – Rule -- expresses the conditions that are to lead to a particular object placer. – Object Placer -- responsible for placing objects into containers and keeping track of where they where placed. – Container Placer -- responsible for placing containers into databases and keeping track of where they were placed. – Database Placer -- responsible for placing database files (including those for its externalized containers) into storage locations (host/path combinations) and keeping track where they were placed.
  • 53. Place According to Hierarchy
  • 54. Place According to Connectivity
  • 55. Place According to Related (Partition)
  • 56. Place According to Value (Partition) A D 3 D E 8 F H 12 J K 55 P Q 106 S Z 197
  • 57. Placement Summary • Placement has a huge influence on performance. • You can mix and match all possible placement arrangements. • You can use different placement schemes for different parts of your data. • We place it, therefore we find it (efficiently). • It is easy to try different placement schemes to see what works best for you. • You can have different placement schemes for demo vs. production, etc. • You can evolve your placement as models are versioned.
  • 58. Thank you! Q&A Follow us on twitter: @infinitegraph and @objectivitydb