SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
The Database for Big Data
Solutions

NoSQL Simplified:
Schema vs Schema-less
Leon Guzenda & Nick Quinn
Meetup - February 20, 2014
© Objectivity, Inc. 2014

!1
Overview
• Objectivity Inc.

• Pros & Cons:

• Schema
• Schema-less

• What We Provide

• A Compromise
© Objectivity, Inc. 2014

!2
Objectivity, Inc.
• Headquartered in San Jose, CA
• Over two decades of NoSQL and Big Data experience
• Enables complex data virtualization and Big Data
solutions for the enterprise
• Software products:
• Objectivity/DB
• InfiniteGraph
• InfiniteGraph Social App
• Embedded in hundreds of enterprises, government
organizations and products, with millions of
deployments.
© Objectivity, Inc. 2014

!3
Objectivity/DB
• Fully distributed object database.

• Handles complex, highly inter-related data.

"
• Extremely fast navigational access.

• Scalable collections and B-Tree indices

• ACID transactions plus Multi-Reader, One Writer mode.

• Highly scalable - Single Logical View plus simple servers

• Parallel Query Engine and Relationship Analytics

• Fully interoperable C++, C#, Java, Python and SQL++ on
Windows, Unix, Linux and Mac OS X.
© Objectivity, Inc. 2014

!4
ODBMS Deployments

Data Fusion

Big Science
© Objectivity, Inc. 2014

Monitoring & Response

Telecom Infrastructure

Complex Financial Systems
!5
InfiniteGraph
• Fully distributed graph database

• High throughput and scalability

"
• Extremely fast navigational access

• ACID transactions for online operation

• Relaxed consistency during batch-mode parallel ingest

• Parallel queries

• Flexible indexing, including Lucene for text

• Java API and Gremlin support
© Objectivity, Inc. 2014

!6
Graph DBMS - Finding The Links

OTHER
DATABASE(S)

GRAPH DATABASE

© Objectivity, Inc. 2014

!7
Objectivity’s Disruptive Big Data Architecture
Uses Data Virtualization to hide the nodes and focus on the connections

© Objectivity, Inc. 2014

!8
Schema: Pros & Cons

© Objectivity, Inc. 2014

!9
Who's Who?
• SCHEMA:
• Network [CODASYL] databases - DDL [1972]
• Relational Databases - Data Dictionary
• Object Databases - ODMG'93
• Most Graph Databases
"
• Schema-less:
• KSAM/ISAM/DSAM/ESAM
• IMS (hierarchical)
• Pick OS Database (hash-tables)
• MUMPS (hierarchical array-storage)
• MongoDB - a specialized JSON (and JSON-like)
document store.
• CouchDB - a JSON document store.
© Objectivity, Inc. 2014

!10
Schema: Pros...
• Global data definitions
"
• Optimal access
"
• Enables Query By Example
"
• Interoperability
"
• Schema change control
"
• Schema contents can be manipulated via standard
APIs and tools
© Objectivity, Inc. 2014

!11
...Schema: Pros
• Global data definitions:
• Data types and the relationships between them
• Makes queries more efficient
• Actions can be restricted by data type, field values, relationship types

"

• Optimal access:
• Used to determine how to best store, manage and access particular data types

"

• Enables Query By Example by showing:
• Types of information available
• Relationships between them

"

• Interoperability:
• DBMS can change the shape of data items to suit the language/environment

"

• Schema change control:
• Can be used to enforce workflows that will keep applications and data in sync.

"

• Schema contents can be manipulated via standard APIs and tools:
• Easier learning curve
• Uniform security controls:
• The schema can use the same security controls as the data
• Query and visualization tools can be used for both data and schema
© Objectivity, Inc. 2014

!12
Schema: Cons
• The database designer and application developers have
to create and maintain the schema.
"
• Applications have to be kept in sync with schema
changes.
"
• Applications and programmers have to be aware of data
types
• Though this is one of the major claimed advantages of objectoriented programming.

"
• There is a perceived loss of flexibility

• Though this is more a function of the user interface to the
database than the underlying mechanisms.

© Objectivity, Inc. 2014

!13
Schema-less: Pros…
• Flexibility
"
• Can be more tolerant of variable Acidity and
Consistency models
"
• Ease of use and maintenance:

© Objectivity, Inc. 2014

!14
…Schema-less: Pros
• Flexibility - Users can, in theory:

"

• Put any kind of data into the system
• Create new kinds of relationships between things (in a few
products)
• Find data without worrying about the types of data
involved.

"

• Can be more tolerant of variable Acidity and Consistency
models

"

• Ease of use and maintenance:
• No need to worry about data types
• No need for a DBA
• Applications will [probably] work when new data arrives
© Objectivity, Inc. 2014

!15
Schema-less: Cons…
• Confusion
"
• Performance suffers
"
• poor Integrity
"
• Ambiguity

© Objectivity, Inc. 2014

!16
…Schema-less: Cons
• Apparent tolerance of variable CAP models is actually orthogonal to
the schema vs schema-less debate [as is support for sharding].

"

• Performance suffers

"

• Integrity is practically non-existent
• Maintaining referential integrity is hard
• Queries may misinterpret values within an object
• 54686973206973206120737472696e6720706c7573206120666c6f
6174696e6720706f696e74206e756d62657258585858706c757320
616e6f7468657220737472696e67

© Objectivity, Inc. 2014

!17
Schema-less: Cons
• Apparent tolerance of variable CAP models is actually orthogonal to
the schema vs schema-less debate [as is support for sharding].

"

• Performance suffers

"

• Integrity is practically non-existent
• Maintaining referential integrity is hard
• Queries may misinterpret values within an object
• 54686973206973206120737472696e6720706c7573206120666c6f
6174696e6720706f696e74206e756d62657258585858706c757320
616e6f7468657220737472696e67





Floating Point



© Objectivity, Inc. 2014

!18
Schema-less: Cons
• Apparent tolerance of variable CAP models is actually orthogonal to
the schema vs schema-less debate [as is support for sharding].

"

• Performance suffers

"

• Integrity is practically non-existent
• Maintaining referential integrity is hard
• Queries may misinterpret values within an object
• 54686973206973206120737472696e6720706c7573206120666c6f
6174696e6720706f696e74206e756d62657258585858706c757320
616e6f7468657220737472696e67





Floating Point


• A ZIPcode may be stored as an integer (01234) or a string (“01234”)
in JSON, causing query and display problems.
© Objectivity, Inc. 2014

!19
The NoSQL Players
Operational

*

Intersystems

MarkLogic

McObject

Object/Graph
Objectivity/DB
Progress
Versant

"

Key-Value

*

Document

Berkeley DB
Cassandra
Redis
Riak
Voldemort

AppEngine
Cloudant
CouchDB
MongoDB
RavenDB

Couchbase

© Objectivity, Inc. 2014

*

AllegroGraph
InfiniteGraph
Neo4j
Titan
Column Family
HBase
HyperTable
SimpleDB

* Fully or partially schema-less

!20
A Compromise

Provide Flexibility With The Advantages Of Having A Schema

© Objectivity, Inc. 2014

!21
Objectivity/DB Schema Usage
• Has an internal schema in its system database (the Federated DB).

"

• User schemas are created and updated by:
• Creating .ddl files and pre-processing them with the DDL processor.
• Creating and compiling Java, C# or Python header files.
• Declaring or dynamically creating/modifyingSmalltalk classes (defunct).
• Declaring and changing table definitions with Objectivity/SQL++.

"

• SQL++ table/column definitions are updated automatically when classes are
declared or modified using other languages.
• This allows SQL++ to access C#, C++, Java and Python objects and vice-versa.

"

• A Federated Database can contain multiple named Schemas:
• Reduces re-compilation and re-building after a localized schema change.
• May facilitate security mechanisms in the future.

© Objectivity, Inc. 2014

!22
Objectivity Active Schema
"

• API and tools for creating, modifying, reading and deleting class
definitions, which include association (relationship) definitions.
• If used with a dynamic language, such as Smalltalk, creating or
modifying a class doesn't need to affect existing programs.
• In general, only generic access (via the ooObj base clase) can be used
without creating the files needed to recompile programs and methods
for accessing the new object types.

"

• Helps application developers build tools that need to access the schema,
e.g.:
• Graphical query tools
• highly flexible object modeling capabilities for end users.

"

• An end-user, such as a field technician or an analyst:
• Can add local object classes, populate, maintain and query them,
but...
• Cannot interfere with the correct operation of the pre-built
applications.
© Objectivity, Inc. 2014

!23
Use Cases

© Objectivity, Inc. 2014

!24
Use Case 1 - Intelligence Gathering Framework…
1

of

• An integrated application
development framework that
focuses on adaptability.

• Dynamic modeling of
entities, services and
workflows. 

• Versioning and temporality
features support system
evolution.

The screenshots show a location that is under surveillance and
everything known about it in the database.

© Objectivity, Inc. 2014

!25

2
…Use Case 1 - Intelligence Gathering Framework
2

• Eliminates the mapping layer
between the user defined
objects and the database.

• Performance and scalability. 


Design and Information Feeds

of

Users

Database

• Active Schema facilitates
object migration.


© Objectivity, Inc. 2014

!26

2
Use Case 2 - GDMO Framework
"
• Operations, Administration, and"
Maintenance interface for the CDMA"
system RF infrastructure

• Controls the Base Station Controller and
Base Station Transceiver Subsystem

• GDMO* Schema and CMIP agent-manager"
messaging

• A SPARC-based BSC rack supports a"
peak load of 150,000 simultaneous callers

• Deployed in CDMA networks worldwide,"
including SprintPCS"

* GDMO is the Guideline for the Definition of Managed Objects
© Objectivity, Inc. 2014

!27
Use Case 3 - Ontology Framework
SCHEMA

"
• Uses standard objects to define a metaschema 

• It is used to define concept templates

• They can be inherited from, combined or
extended to support a “class specification”


CONCEPT

LOGIC

CLASS

COMPONENTS

• The data is combined with Horn Logic to
build complex ontologies."
RELATIONSHIP

STRUCT

ARRAY

FIELD

* GDMO is the Guideline for the Definition of Managed Objects
© Objectivity, Inc. 2014

!28
Summary
• Don’t confuse CAP issues with Schema
considerations

• Schemas make the DBMS more powerful

• Schema-less architectures are more flexible

• It’s possible to build flexible systems with
Schema-based infrastructure

© Objectivity, Inc. 2014

!29
THANK YOU
• Please visit objectivity.com for:

•
•
•
•
•
•

Features
Use Cases
White Papers
Free downloads (60 day evaluation)
Sample Applications
Application Developer’s Wiki

"

• For further information:

"

• Email: info@objectivity.com

© Objectivity, Inc. 2014

!30

Contenu connexe

Similaire à NoSQL Simplified: Schema vs. Schema-less

NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
Adi Challa
 
Semantic Technologies for Enterprise Cloud Management
Semantic Technologies for Enterprise Cloud ManagementSemantic Technologies for Enterprise Cloud Management
Semantic Technologies for Enterprise Cloud Management
Peter Haase
 

Similaire à NoSQL Simplified: Schema vs. Schema-less (20)

NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 
Objectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseObjectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL Database
 
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
Hackolade Tutorial - part 3 - Query-driven data modeling based on access patt...
 
NoSQL
NoSQLNoSQL
NoSQL
 
Semantic Technologies for Enterprise Cloud Management
Semantic Technologies for Enterprise Cloud ManagementSemantic Technologies for Enterprise Cloud Management
Semantic Technologies for Enterprise Cloud Management
 
SQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveSQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The Move
 
Overview di MongoDB
Overview di MongoDBOverview di MongoDB
Overview di MongoDB
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
GraphTalks Rome - Selecting the right Technology
GraphTalks Rome - Selecting the right TechnologyGraphTalks Rome - Selecting the right Technology
GraphTalks Rome - Selecting the right Technology
 
Couchbase 3.0.2 d1
Couchbase 3.0.2  d1Couchbase 3.0.2  d1
Couchbase 3.0.2 d1
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 Questions
 
Introduction to no sql database
Introduction to no sql databaseIntroduction to no sql database
Introduction to no sql database
 
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
 
When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
NoSQL on the move
NoSQL on the moveNoSQL on the move
NoSQL on the move
 
How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013
 

Plus de InfiniteGraph

Making Sense of Graph Databases
Making Sense of Graph DatabasesMaking Sense of Graph Databases
Making Sense of Graph Databases
InfiniteGraph
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to 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
 

Plus 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
 
PowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQLPowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQL
 
Making sense of the Graph Revolution
Making sense of the Graph RevolutionMaking sense of the Graph Revolution
Making sense of the Graph Revolution
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
 
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
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
 
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 ...
 

Dernier

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
 

Dernier (20)

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
 
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?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 

NoSQL Simplified: Schema vs. Schema-less

  • 1. The Database for Big Data Solutions NoSQL Simplified: Schema vs Schema-less Leon Guzenda & Nick Quinn Meetup - February 20, 2014 © Objectivity, Inc. 2014 !1
  • 2. Overview • Objectivity Inc.
 • Pros & Cons:
 • Schema • Schema-less
 • What We Provide
 • A Compromise © Objectivity, Inc. 2014 !2
  • 3. Objectivity, Inc. • Headquartered in San Jose, CA • Over two decades of NoSQL and Big Data experience • Enables complex data virtualization and Big Data solutions for the enterprise • Software products: • Objectivity/DB • InfiniteGraph • InfiniteGraph Social App • Embedded in hundreds of enterprises, government organizations and products, with millions of deployments. © Objectivity, Inc. 2014 !3
  • 4. Objectivity/DB • Fully distributed object database.
 • Handles complex, highly inter-related data.
 " • Extremely fast navigational access.
 • Scalable collections and B-Tree indices
 • ACID transactions plus Multi-Reader, One Writer mode.
 • Highly scalable - Single Logical View plus simple servers
 • Parallel Query Engine and Relationship Analytics
 • Fully interoperable C++, C#, Java, Python and SQL++ on Windows, Unix, Linux and Mac OS X. © Objectivity, Inc. 2014 !4
  • 5. ODBMS Deployments Data Fusion Big Science © Objectivity, Inc. 2014 Monitoring & Response Telecom Infrastructure Complex Financial Systems !5
  • 6. InfiniteGraph • Fully distributed graph database
 • High throughput and scalability
 " • Extremely fast navigational access
 • ACID transactions for online operation
 • Relaxed consistency during batch-mode parallel ingest
 • Parallel queries
 • Flexible indexing, including Lucene for text
 • Java API and Gremlin support © Objectivity, Inc. 2014 !6
  • 7. Graph DBMS - Finding The Links OTHER DATABASE(S) GRAPH DATABASE © Objectivity, Inc. 2014 !7
  • 8. Objectivity’s Disruptive Big Data Architecture Uses Data Virtualization to hide the nodes and focus on the connections © Objectivity, Inc. 2014 !8
  • 9. Schema: Pros & Cons © Objectivity, Inc. 2014 !9
  • 10. Who's Who? • SCHEMA: • Network [CODASYL] databases - DDL [1972] • Relational Databases - Data Dictionary • Object Databases - ODMG'93 • Most Graph Databases " • Schema-less: • KSAM/ISAM/DSAM/ESAM • IMS (hierarchical) • Pick OS Database (hash-tables) • MUMPS (hierarchical array-storage) • MongoDB - a specialized JSON (and JSON-like) document store. • CouchDB - a JSON document store. © Objectivity, Inc. 2014 !10
  • 11. Schema: Pros... • Global data definitions " • Optimal access " • Enables Query By Example " • Interoperability " • Schema change control " • Schema contents can be manipulated via standard APIs and tools © Objectivity, Inc. 2014 !11
  • 12. ...Schema: Pros • Global data definitions: • Data types and the relationships between them • Makes queries more efficient • Actions can be restricted by data type, field values, relationship types " • Optimal access: • Used to determine how to best store, manage and access particular data types " • Enables Query By Example by showing: • Types of information available • Relationships between them " • Interoperability: • DBMS can change the shape of data items to suit the language/environment " • Schema change control: • Can be used to enforce workflows that will keep applications and data in sync. " • Schema contents can be manipulated via standard APIs and tools: • Easier learning curve • Uniform security controls: • The schema can use the same security controls as the data • Query and visualization tools can be used for both data and schema © Objectivity, Inc. 2014 !12
  • 13. Schema: Cons • The database designer and application developers have to create and maintain the schema. " • Applications have to be kept in sync with schema changes. " • Applications and programmers have to be aware of data types • Though this is one of the major claimed advantages of objectoriented programming. " • There is a perceived loss of flexibility • Though this is more a function of the user interface to the database than the underlying mechanisms. © Objectivity, Inc. 2014 !13
  • 14. Schema-less: Pros… • Flexibility " • Can be more tolerant of variable Acidity and Consistency models " • Ease of use and maintenance: © Objectivity, Inc. 2014 !14
  • 15. …Schema-less: Pros • Flexibility - Users can, in theory: " • Put any kind of data into the system • Create new kinds of relationships between things (in a few products) • Find data without worrying about the types of data involved. " • Can be more tolerant of variable Acidity and Consistency models " • Ease of use and maintenance: • No need to worry about data types • No need for a DBA • Applications will [probably] work when new data arrives © Objectivity, Inc. 2014 !15
  • 16. Schema-less: Cons… • Confusion " • Performance suffers " • poor Integrity " • Ambiguity © Objectivity, Inc. 2014 !16
  • 17. …Schema-less: Cons • Apparent tolerance of variable CAP models is actually orthogonal to the schema vs schema-less debate [as is support for sharding]. " • Performance suffers " • Integrity is practically non-existent • Maintaining referential integrity is hard • Queries may misinterpret values within an object • 54686973206973206120737472696e6720706c7573206120666c6f 6174696e6720706f696e74206e756d62657258585858706c757320 616e6f7468657220737472696e67 © Objectivity, Inc. 2014 !17
  • 18. Schema-less: Cons • Apparent tolerance of variable CAP models is actually orthogonal to the schema vs schema-less debate [as is support for sharding]. " • Performance suffers " • Integrity is practically non-existent • Maintaining referential integrity is hard • Queries may misinterpret values within an object • 54686973206973206120737472696e6720706c7573206120666c6f 6174696e6720706f696e74206e756d62657258585858706c757320 616e6f7468657220737472696e67
 
 
 Floating Point 
 © Objectivity, Inc. 2014 !18
  • 19. Schema-less: Cons • Apparent tolerance of variable CAP models is actually orthogonal to the schema vs schema-less debate [as is support for sharding]. " • Performance suffers " • Integrity is practically non-existent • Maintaining referential integrity is hard • Queries may misinterpret values within an object • 54686973206973206120737472696e6720706c7573206120666c6f 6174696e6720706f696e74206e756d62657258585858706c757320 616e6f7468657220737472696e67
 
 
 Floating Point 
 • A ZIPcode may be stored as an integer (01234) or a string (“01234”) in JSON, causing query and display problems. © Objectivity, Inc. 2014 !19
  • 20. The NoSQL Players Operational * Intersystems MarkLogic McObject Object/Graph Objectivity/DB Progress Versant " Key-Value * Document Berkeley DB Cassandra Redis Riak Voldemort AppEngine Cloudant CouchDB MongoDB RavenDB Couchbase © Objectivity, Inc. 2014 * AllegroGraph InfiniteGraph Neo4j Titan Column Family HBase HyperTable SimpleDB * Fully or partially schema-less !20
  • 21. A Compromise
 Provide Flexibility With The Advantages Of Having A Schema © Objectivity, Inc. 2014 !21
  • 22. Objectivity/DB Schema Usage • Has an internal schema in its system database (the Federated DB). " • User schemas are created and updated by: • Creating .ddl files and pre-processing them with the DDL processor. • Creating and compiling Java, C# or Python header files. • Declaring or dynamically creating/modifyingSmalltalk classes (defunct). • Declaring and changing table definitions with Objectivity/SQL++. " • SQL++ table/column definitions are updated automatically when classes are declared or modified using other languages. • This allows SQL++ to access C#, C++, Java and Python objects and vice-versa. " • A Federated Database can contain multiple named Schemas: • Reduces re-compilation and re-building after a localized schema change. • May facilitate security mechanisms in the future. © Objectivity, Inc. 2014 !22
  • 23. Objectivity Active Schema " • API and tools for creating, modifying, reading and deleting class definitions, which include association (relationship) definitions. • If used with a dynamic language, such as Smalltalk, creating or modifying a class doesn't need to affect existing programs. • In general, only generic access (via the ooObj base clase) can be used without creating the files needed to recompile programs and methods for accessing the new object types. " • Helps application developers build tools that need to access the schema, e.g.: • Graphical query tools • highly flexible object modeling capabilities for end users. " • An end-user, such as a field technician or an analyst: • Can add local object classes, populate, maintain and query them, but... • Cannot interfere with the correct operation of the pre-built applications. © Objectivity, Inc. 2014 !23
  • 24. Use Cases © Objectivity, Inc. 2014 !24
  • 25. Use Case 1 - Intelligence Gathering Framework… 1 of • An integrated application development framework that focuses on adaptability.
 • Dynamic modeling of entities, services and workflows. 
 • Versioning and temporality features support system evolution.
 The screenshots show a location that is under surveillance and everything known about it in the database. © Objectivity, Inc. 2014 !25 2
  • 26. …Use Case 1 - Intelligence Gathering Framework 2 • Eliminates the mapping layer between the user defined objects and the database.
 • Performance and scalability. 
 Design and Information Feeds of Users Database • Active Schema facilitates object migration.
 © Objectivity, Inc. 2014 !26 2
  • 27. Use Case 2 - GDMO Framework " • Operations, Administration, and" Maintenance interface for the CDMA" system RF infrastructure
 • Controls the Base Station Controller and Base Station Transceiver Subsystem
 • GDMO* Schema and CMIP agent-manager" messaging
 • A SPARC-based BSC rack supports a" peak load of 150,000 simultaneous callers
 • Deployed in CDMA networks worldwide," including SprintPCS" * GDMO is the Guideline for the Definition of Managed Objects © Objectivity, Inc. 2014 !27
  • 28. Use Case 3 - Ontology Framework SCHEMA " • Uses standard objects to define a metaschema 
 • It is used to define concept templates
 • They can be inherited from, combined or extended to support a “class specification”
 CONCEPT LOGIC CLASS COMPONENTS • The data is combined with Horn Logic to build complex ontologies." RELATIONSHIP STRUCT ARRAY FIELD * GDMO is the Guideline for the Definition of Managed Objects © Objectivity, Inc. 2014 !28
  • 29. Summary • Don’t confuse CAP issues with Schema considerations
 • Schemas make the DBMS more powerful
 • Schema-less architectures are more flexible
 • It’s possible to build flexible systems with Schema-based infrastructure © Objectivity, Inc. 2014 !29
  • 30. THANK YOU • Please visit objectivity.com for:
 • • • • • • Features Use Cases White Papers Free downloads (60 day evaluation) Sample Applications Application Developer’s Wiki " • For further information: " • Email: info@objectivity.com © Objectivity, Inc. 2014 !30