SlideShare a Scribd company logo
1 of 35
Download to read offline
2 December 2005
Introduction to Databases
NoSQL Databases
Prof. Beat Signer
Department of Computer Science
Vrije Universiteit Brussel
http://www.beatsigner.com
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 2May 19, 2017
NoSQL Databases
 Recently, the term NoSQL databases has been
introduced for different non-RDBMS solutions
 non-relational, horizontally scalable, distributed, ...
 often ACID properties not fully guaranteed
- e.g. eventual consistency
 many solutions driven by web application requirements
 different classes of NoSQL solutions
- object databases (db4o, ObjectStore, Objectivity, Versant, ...)
- column stores (BigTable, HBase, ...)
- document stores (CouchDB, MongoDB, ...)
- key-value (tuple) stores (Membase, Redis, ...)
- graph databases (Neo4j, …)
- XML databases (Tamino, BaseX, ...)
- ...
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 3May 19, 2017
Column Stores
 Solutions for large scale distributed storage systems
 very large "tables" with billions of rows and millions of columns
 petabytes of data across thousands of servers
 BigTable
 distributed storage solution for structured data used by Google
 HBase
 distributed open source database (similar to BigTable)
 part of the Apache Hadoop project
 use MapReduce framework for processing
- map step
• master node divides problem into subproblems and delegates them to child nodes
- reduce step
• master mode integrates solutions of subproblems
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 4May 19, 2017
Document Stores
 Data no longer stored in tables
 Each record (document) might have a different format
(number and size of fields)
 Apache's CoucheDB is an example of a free
and open source document-oriented database
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 5May 19, 2017
Impedance Mismatch Revisited
 Combination of SQL with a host language
 mix of declarative and procedural programming paradigms
 two completely different data models
 different set of data types
 Interfacing with SQL is not straightforward
 data has to be converted between host language and SQL due to
the impedance mismatch
 ~30% of the code and effort is used for this conversion!
 The problem gets even worse if we would like to use an
object-oriented host language
 two approaches to deal with the problem
- object databases (object-oriented databases)
- object-relational databases
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 6May 19, 2017
Impedance Mismatch Revisited ...
 Note that it would be easier to use the SQL AVG operator
public float getAverageCDLength() {
float result = 0.0;
try {
Connection conn = this.openConnection();
Statement s = conn.createStatement();
ResultSet set = s.executeQuery("SELECT length FROM CD");
int i = 0;
while (set.next()) {
result += set.getInt(1);
i++;
}
return result/i;
} catch (SQLException e) {
System.out.println("Calculation of average length failed.");
return 0;
}
}
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 7May 19, 2017
Object Databases
 ODBMSs use the same data model as object-oriented
programming languages
 no object-relational impedance mismatch (due to uniform model)
 An object database combines the features of an object-
oriented language and a DBMS (language binding)
 treat data as objects
- object identity
- attributes and methods
- relationships between objects
 extensible type hierarchy
- inheritance, overloading and overriding as well as customised types
 declarative query language
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 8May 19, 2017
Persistent Programming Languages
 Several approaches have been proposed to make
transient programming language objects persistent
 persistence by class
- declare that a class is persistent
- all objects of a persistent class are persistent whereas objects of
non-persistent classes are transient
- not very flexible; we would like to have persistent and transient objects
from a single class
- many ODBMSs provide a mechanism to make classes persistence capable
 persistence by creation
- introduce new syntax to create persistent objects
- object is either persistent or transient depending on how it was created
 persistence by marking
- mark objects as persistent after creation but before the program terminates
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 9May 19, 2017
Persistent Programming Languages ...
 persistence by reachability
- one or more objects are explicitly declared as persistent objects (root objects)
- all the other objects are persistent if they are reachable from a root object via
a sequence of one or more references
- easy to make entire data structures persistent
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 10May 19, 2017
ObjectStore Example
 Persistence by reachability via specific database roots
 Persistence capable classes
 post-processor makes specific classes persistent capable
 Persistent aware classes
 can access and manipulate persistent objects (not persistent)
 Three states after a persistent object has been loaded
 hollow: proxy with load on demand (lazy loading)
 active: loaded in memory and flag set to clean
 stale: no longer valid (e.g. after a commit)
Person ariane = new Person("Ariane Peeters")
db.createRoot("Persons", ariane);
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 11May 19, 2017
ObjectStore Example ...
 Post processing
(1) compile all source files
(2) post-process the class files to generate annotated versions of
the class files
(3) run the post-processed main class
javac *.java
osjcfp –dest . –inplace *.class
java mainClass
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 12May 19, 2017
ODBMS History
 First generation ODBMS
 1984
- George P. Copeland and David Maier,
Making Smalltalk a Database System,
SIGMOD 1984
 1986
- G-Base (Graphael, F)
 1987
- GemStone (Servio Corporation, USA)
 1988
- Vbase (Ontologic)
- Statice (Symbolics)
David MaierGeorge P. Copeland
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 13May 19, 2017
ODBMS History ...
 Second generation ODBMS
 1989
- Ontos (Ontos)
- ObjectStore (Object Design)
- Objectivity (Objectivity)
- Versant ODBMS (Versant Object Technology)
 1989
- The Object-Oriented Database System Manifesto
 Third generation ODBMS
 1990
- Orion/Itasca (Microelectronis and Computer Technology Cooperation, USA)
- O2 (Altaïr, F)
- Zeitgeist (Texas Instruments)
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 14May 19, 2017
ODBMS History ...
 Further developments
 1991
- foundation of the Object Database Management Group (ODMG)
 1993
- ODMG 1.0 standard
 1996
- PJama (Persistent Java)
 1997
- ODMG 2.0 standard
 1999
- ODMG 3.0 standard
 2001
- db4o (database for objects)
 ...
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 15May 19, 2017
The Object-Oriented Database Manifesto
 Malcolm Atkinson, François Bancilhon,
David DeWitt, Klaus Dittrich,
David Maier and Stanley Zdonik,
The Object-Oriented Database
System Manifesto, 1989
Malcolm Atkinson François Bancilhon David DeWitt Klaus Dittrich
David Maier Stanley Zdonik
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 16May 19, 2017
The Object-Oriented Database Manifesto ...
 The Object-Oriented Database System Manifesto by
Atkinson et al. was an attemp to define object-oriented
databases
 defines 13 mandatory features that an
object-oriented database system must have
- 8 object-oriented system features
- 5 DBMS features
 optional features
- multiple inheritance, type checking, versions, ...
 open features
- points where the designer can make a number of choices
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 17May 19, 2017
The Object-Oriented Database Manifesto ...
 Object-oriented system features
 complex objects
- complex objects built from simple ones by constructors (e.g. set, tuple and list)
- constructors must be orthogonal
 object identity
- two objects can be identical (same object) or equal (same value)
 encapsulation
- distinction between interface (public) and implementation (private)
 types and classes
- type defines common features of a set of objects
- class as a container for objects of the same type
 type and class hierarchies
 overriding, overloading and late binding
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 18May 19, 2017
The Object-Oriented Database Manifesto ...
 computational completeness
- should be possible to express any computable function using the DML
 extensibility
- set of predefined types
- no difference in usage of system and user-defined types
 DBMS features
 persistence
- orthogonal persistence (persistence capability does not depend on the type)
 secondary storage management
- index management, data clustering, data buffering, access path selection and
query optimisation
 concurrency
- atomicity, consistency, isolation and durability (ACID)
- serialisability of operations
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 19May 19, 2017
The Object-Oriented Database Manifesto ...
 recovery
- in case of hardware or software failures, the system should recover
 ad hoc query facility
- high-level declarative query language
 The OODBMS Manifesto lead to discussion and
reactions from the RDBMS community
 Third-Generation Database System Manifesto, Stonebraker et al.
 The Third Manifesto, Darwen and Date
 Issues not addressed in the manifesto
 database evolution
 constraints
 object roles
 ...
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 20May 19, 2017
Object Data Management Group (ODMG)
 Object Database Management
Group (ODMG) was founded in 1991
by Rick Cattel
 standardisation body including all major
ODBMS vendors
 Defines a standard to increase the porta-
bility accross different ODBMS products
 Object Model
 Object Definition Language (ODL)
 Object Query Language (OQL)
 language bindings
- C++, Smalltalk and Java bindings
Rick Cattell
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 21May 19, 2017
ODMG Object Model
 ODMG object model is based on the OMG object model
 Basic modelling primitives
 object: unique identifier
 literal: no identifier
 An object's state is defined by the values it carries for a
set of properties (attributes or relationships)
 An object's behaviour is defined by the set of operations
that can be executed
 Objects and literals are categorised by their type
(common properties and common behaviour)
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 22May 19, 2017
Object Definition Language (ODL) Example
Assistant Professor
Employee Salary
Lecture Exercise
Session
Course
StudentI
Student
teaches
isTaughtBy
leads
isLeadBy
hasPrerequisites
isPrerequisiteFor
attends
isAttendedBy
hasSessions
isSessionOf
one-to-one
many-to-many
one-to-many
is-a
extends
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 23May 19, 2017
ODL Example ...
module Education {
exception SessionFull{};
...
class Course (extent courses) {
attribute name;
relationship Department offeredBy
inverse Department::offers;
relationship list<Session> hasSessions
inverse Session::isSessionOf;
relationship set<Course> hasPrerequisites
inverse Course::isPrerequisiteFor;
relationship set<Course> isPrerequisiteFor
inverese Course::hasPrerequisites;
};
class Salary (extent salaries) {
attribute float base;
attribute float bonus;
};
...
}
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 24May 19, 2017
ODL Example ...
class Session (extent sessions) {
attribute string number;
relationship Course isSessionOf
inverse Course::hasSessions;
relationship set<Student> isAttendedBy
inverse Student::attends;
};
class Lecture extends Session (extent lectures) {
relationship Professor isTaughtBy
inverse Professor::teaches;
};
class Exercise extends Session (extent exercises) {
attribute unsigned short maxMembers;
relationship Assistant isLeadBy
inverse Assistant::leads;
};
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 25May 19, 2017
ODL Example ...
interface StudentI {
attribute string name;
attribute Address address;
relationship set<Session> attends
inverse Session::isAttendeBy;
};
class Student : StudentI (extent students) {
attribute Address address;
relationship set<Session> attends
inverse Session::isAttendedBy;
};
class Employee (extent employees) {
attribute string name
attribute Salary salary;
void hire();
void fire() raises (NoSuchEmployee);
};
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 26May 19, 2017
ODL Example ...
class Professor extends Employee (extent professors) {
attribute enum Type{assistant, full, ordinary} rank;
relationship worksFor
inverse Department:hasProfessors;
relationship set<Lectures> teaches
inverse Session::isTaughtBy;
};
class Assistant extends Employee : StudentI (extent assistants) {
attribute Address address;
relationship Exercise leads
inverse Exercise::isLeadBy
relationship set<Session> attends
inverse Session::isAttendedBy;
};
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 27May 19, 2017
Object Databases
 Many ODBMS also implement a versioning mechanism
 Many operations are performed by using a navigational
rather than a declarative interface
 following pointers
 In addition, an object query language (OQL) can be used
to retrieve objects in a declarative way
 some systems (e.g. db4o) also support native queries
 Faster access than RDBMS for many tasks
 no join operations required
 However, object databases lack a formal mathematical
foundation!
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 28May 19, 2017
Object-Relational Mapping (ORM)
 "Automatic" mapping of object-oriented model to
relational database
 developer has to deal less with persistence-related programming
 Hibernate
 mapping of Java types to SQL types
 generates the required SQL statements behind the scene
 standalone framework
 Java Persistence API (JPA)
 Enterprise Java Beans Standard 3.0
 use annotations to define mapping
 javax.persistence package
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 29May 19, 2017
Object-Relational Databases
 The object-relational data model extends the relational
data model
 introduces complex data types
 object-oriented features
 extended version of SQL to deal with the richer type system
 Complex data types
 new collection types including multisets and arrays
 attributes can no longer just contain atomic values (1NF) but also
collections
 nest and unnest operations for collection type attributes
 ER concepts such as composite attributes or multivalued
attributes can be directly represented in the object-relational data
model
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 30May 19, 2017
Object-Relational Databases ...
 Since SQL:1999 we can define user-defined types
 Type inheritance can be used for inheriting attributes of
user-defined types
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 31May 19, 2017
Object vs. Object-Relational Databases
 Object databases
 complex datatypes
 tight integration with an object-oriented programming language
(persistent programming language)
 high performance
 Object-relational databases
 complex datatypes
 powerful query languages
 good protection of data from programming errors
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 32May 19, 2017
Homework
 Study the following chapters of the
Database System Concepts book
 chapter 22
- sections 22.1-22.11
- Object-based Databases
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 33May 19, 2017
Exercise 11
 Transaction Management
Beat Signer - Department of Computer Science - bsigner@vub.ac.be 34May 19, 2017
References
 A. Silberschatz, H. Korth and S. Sudarshan,
Database System Concepts (Sixth Edition),
McGraw-Hill, 2010
 Malcolm Atkinson, François Bancilhon, David DeWitt,
Klaus Dittrich, David Maier and Stanley Zdonik,
The Object-Oriented Database System Manifesto, 1989
 Seven Databases in Seven Weeks: A Guide to
Modern Databases and the NoSQL Movement,
Eric Redmond and Jim Wilson, Pragmatic Book-
shelf, May, 2012, ISBN-13: 978-1934356920
2 December 2005
Next Lecture
Course Review

More Related Content

What's hot

The Object Oriented Database System Manifesto
The Object Oriented Database System ManifestoThe Object Oriented Database System Manifesto
The Object Oriented Database System ManifestoBeat Signer
 
Object Oriented Database Management System
Object Oriented Database Management SystemObject Oriented Database Management System
Object Oriented Database Management SystemAjay Jha
 
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of DataA Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of Datainscit2006
 
Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)Rabin BK
 
Modern Database Systems - Lecture 00
Modern Database Systems - Lecture 00Modern Database Systems - Lecture 00
Modern Database Systems - Lecture 00Michael Mathioudakis
 
Database System Concepts and Architecture
Database System Concepts and ArchitectureDatabase System Concepts and Architecture
Database System Concepts and Architecturesontumax
 
Implementation Issue with ORDBMS
Implementation Issue with ORDBMSImplementation Issue with ORDBMS
Implementation Issue with ORDBMSSandeep Poudel
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseSonali Parab
 
ORDBMS Comparative Report
ORDBMS Comparative ReportORDBMS Comparative Report
ORDBMS Comparative Reporterawat
 
ADBMS Object and Object Relational Databases
ADBMS  Object  and Object Relational Databases ADBMS  Object  and Object Relational Databases
ADBMS Object and Object Relational Databases Jayanthi Kannan MK
 
Lesson 2 network database system
Lesson 2 network database systemLesson 2 network database system
Lesson 2 network database systemGiO Friginal
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseSonali Parab
 
Object persistence
Object persistenceObject persistence
Object persistenceVlad Vega
 

What's hot (20)

The Object Oriented Database System Manifesto
The Object Oriented Database System ManifestoThe Object Oriented Database System Manifesto
The Object Oriented Database System Manifesto
 
Unit01 dbms
Unit01 dbmsUnit01 dbms
Unit01 dbms
 
Object Oriented Database Management System
Object Oriented Database Management SystemObject Oriented Database Management System
Object Oriented Database Management System
 
Unit01 dbms 2
Unit01 dbms 2Unit01 dbms 2
Unit01 dbms 2
 
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of DataA Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
 
Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)Object Relational Database Management System(ORDBMS)
Object Relational Database Management System(ORDBMS)
 
7 data management design
7 data management design7 data management design
7 data management design
 
Modern Database Systems - Lecture 00
Modern Database Systems - Lecture 00Modern Database Systems - Lecture 00
Modern Database Systems - Lecture 00
 
Database System Concepts and Architecture
Database System Concepts and ArchitectureDatabase System Concepts and Architecture
Database System Concepts and Architecture
 
Ordbms
OrdbmsOrdbms
Ordbms
 
"Diffrence between RDBMS, OODBMS and ORDBMS"
"Diffrence between RDBMS, OODBMS and  ORDBMS""Diffrence between RDBMS, OODBMS and  ORDBMS"
"Diffrence between RDBMS, OODBMS and ORDBMS"
 
Implementation Issue with ORDBMS
Implementation Issue with ORDBMSImplementation Issue with ORDBMS
Implementation Issue with ORDBMS
 
DBMS an Example
DBMS an ExampleDBMS an Example
DBMS an Example
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In Database
 
ORDBMS
ORDBMSORDBMS
ORDBMS
 
ORDBMS Comparative Report
ORDBMS Comparative ReportORDBMS Comparative Report
ORDBMS Comparative Report
 
ADBMS Object and Object Relational Databases
ADBMS  Object  and Object Relational Databases ADBMS  Object  and Object Relational Databases
ADBMS Object and Object Relational Databases
 
Lesson 2 network database system
Lesson 2 network database systemLesson 2 network database system
Lesson 2 network database system
 
Advance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In DatabaseAdvance Database Management Systems -Object Oriented Principles In Database
Advance Database Management Systems -Object Oriented Principles In Database
 
Object persistence
Object persistenceObject persistence
Object persistence
 

Similar to Introduction to NoSQL Databases and Column Stores

IMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationIMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationGeertjan Wielenga
 
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...Beat Signer
 
Adbms 8 history of data models
Adbms 8 history of data modelsAdbms 8 history of data models
Adbms 8 history of data modelsVaibhav Khanna
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Enrico Daga
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxelsagalgao
 
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01Raza Baloch
 
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...DataStax
 
Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...Bob Marcus
 
Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...
Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...
Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...Safe Software
 
Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...
Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...
Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...Deltares
 
IPC in Microkernel Systems, Capabilities
IPC in Microkernel Systems, CapabilitiesIPC in Microkernel Systems, Capabilities
IPC in Microkernel Systems, CapabilitiesMartin Děcký
 
Advanced Data Structures 2005
Advanced Data Structures 2005Advanced Data Structures 2005
Advanced Data Structures 2005Sanjay Goel
 
2021 04-20 apache arrow and its impact on the database industry.pptx
2021 04-20  apache arrow and its impact on the database industry.pptx2021 04-20  apache arrow and its impact on the database industry.pptx
2021 04-20 apache arrow and its impact on the database industry.pptxAndrew Lamb
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLuca Berardinelli
 
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Beat Signer
 
Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...
Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...
Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...Spark Summit
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignAntonio Castellon
 
Eclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectEclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectMatthew Gerring
 

Similar to Introduction to NoSQL Databases and Column Stores (20)

IMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationIMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical Presentation
 
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
 
Adbms 8 history of data models
Adbms 8 history of data modelsAdbms 8 history of data models
Adbms 8 history of data models
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptx
 
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
 
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
One Billion Black Friday Shoppers on a Distributed Data Store (Fahd Siddiqui,...
 
Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...
 
Harsh
HarshHarsh
Harsh
 
Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...
Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...
Spatial decision support and analytics on a campus scale: bringing GIS, CAD, ...
 
Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...
Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...
Dsd int 2014 - data science symposium - application 1 - point clouds, prof. p...
 
IPC in Microkernel Systems, Capabilities
IPC in Microkernel Systems, CapabilitiesIPC in Microkernel Systems, Capabilities
IPC in Microkernel Systems, Capabilities
 
Advanced Data Structures 2005
Advanced Data Structures 2005Advanced Data Structures 2005
Advanced Data Structures 2005
 
2021 04-20 apache arrow and its impact on the database industry.pptx
2021 04-20  apache arrow and its impact on the database industry.pptx2021 04-20  apache arrow and its impact on the database industry.pptx
2021 04-20 apache arrow and its impact on the database industry.pptx
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
 
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
 
No sql databases
No sql databasesNo sql databases
No sql databases
 
Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...
Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...
Using Pluggable Apache Spark SQL Filters to Help GridPocket Users Keep Up wit...
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis Design
 
Eclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectEclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science Project
 

More from Beat Signer

Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)Beat Signer
 
Indoor Positioning Using the OpenHPS Framework
Indoor Positioning Using the OpenHPS FrameworkIndoor Positioning Using the OpenHPS Framework
Indoor Positioning Using the OpenHPS FrameworkBeat Signer
 
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...Beat Signer
 
Cross-Media Technologies and Applications - Future Directions for Personal In...
Cross-Media Technologies and Applications - Future Directions for Personal In...Cross-Media Technologies and Applications - Future Directions for Personal In...
Cross-Media Technologies and Applications - Future Directions for Personal In...Beat Signer
 
Bridging the Gap: Managing and Interacting with Information Across Media Boun...
Bridging the Gap: Managing and Interacting with Information Across Media Boun...Bridging the Gap: Managing and Interacting with Information Across Media Boun...
Bridging the Gap: Managing and Interacting with Information Across Media Boun...Beat Signer
 
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming Curricula
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming CurriculaCodeschool in a Box: A Low-Barrier Approach to Packaging Programming Curricula
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming CurriculaBeat Signer
 
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions Beat Signer
 
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...Beat Signer
 
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)Beat Signer
 
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
Interaction - Lecture 10 - Information Visualisation (4019538FNR)Interaction - Lecture 10 - Information Visualisation (4019538FNR)
Interaction - Lecture 10 - Information Visualisation (4019538FNR)Beat Signer
 
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...Beat Signer
 
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)Beat Signer
 
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...Beat Signer
 
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...Beat Signer
 
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)Beat Signer
 
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)Beat Signer
 
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)Beat Signer
 
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...Beat Signer
 
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
Introduction - Lecture 1 - Information Visualisation (4019538FNR)Introduction - Lecture 1 - Information Visualisation (4019538FNR)
Introduction - Lecture 1 - Information Visualisation (4019538FNR)Beat Signer
 
Towards a Framework for Dynamic Data Physicalisation
Towards a Framework for Dynamic Data PhysicalisationTowards a Framework for Dynamic Data Physicalisation
Towards a Framework for Dynamic Data PhysicalisationBeat Signer
 

More from Beat Signer (20)

Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
 
Indoor Positioning Using the OpenHPS Framework
Indoor Positioning Using the OpenHPS FrameworkIndoor Positioning Using the OpenHPS Framework
Indoor Positioning Using the OpenHPS Framework
 
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...
 
Cross-Media Technologies and Applications - Future Directions for Personal In...
Cross-Media Technologies and Applications - Future Directions for Personal In...Cross-Media Technologies and Applications - Future Directions for Personal In...
Cross-Media Technologies and Applications - Future Directions for Personal In...
 
Bridging the Gap: Managing and Interacting with Information Across Media Boun...
Bridging the Gap: Managing and Interacting with Information Across Media Boun...Bridging the Gap: Managing and Interacting with Information Across Media Boun...
Bridging the Gap: Managing and Interacting with Information Across Media Boun...
 
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming Curricula
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming CurriculaCodeschool in a Box: A Low-Barrier Approach to Packaging Programming Curricula
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming Curricula
 
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions
 
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...
 
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
 
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
Interaction - Lecture 10 - Information Visualisation (4019538FNR)Interaction - Lecture 10 - Information Visualisation (4019538FNR)
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
 
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...
 
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
 
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...
 
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...
Data Processing and Visualisation Frameworks - Lecture 6 - Information Visual...
 
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
 
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
Analysis and Validation - Lecture 4 - Information Visualisation (4019538FNR)
 
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
 
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...
Human Perception and Colour Theory - Lecture 2 - Information Visualisation (4...
 
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
Introduction - Lecture 1 - Information Visualisation (4019538FNR)Introduction - Lecture 1 - Information Visualisation (4019538FNR)
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
 
Towards a Framework for Dynamic Data Physicalisation
Towards a Framework for Dynamic Data PhysicalisationTowards a Framework for Dynamic Data Physicalisation
Towards a Framework for Dynamic Data Physicalisation
 

Recently uploaded

ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxruthvilladarez
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEaurabinda banchhor
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 

Recently uploaded (20)

ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
TEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docxTEACHER REFLECTION FORM (NEW SET........).docx
TEACHER REFLECTION FORM (NEW SET........).docx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSE
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 

Introduction to NoSQL Databases and Column Stores

  • 1. 2 December 2005 Introduction to Databases NoSQL Databases Prof. Beat Signer Department of Computer Science Vrije Universiteit Brussel http://www.beatsigner.com
  • 2. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 2May 19, 2017 NoSQL Databases  Recently, the term NoSQL databases has been introduced for different non-RDBMS solutions  non-relational, horizontally scalable, distributed, ...  often ACID properties not fully guaranteed - e.g. eventual consistency  many solutions driven by web application requirements  different classes of NoSQL solutions - object databases (db4o, ObjectStore, Objectivity, Versant, ...) - column stores (BigTable, HBase, ...) - document stores (CouchDB, MongoDB, ...) - key-value (tuple) stores (Membase, Redis, ...) - graph databases (Neo4j, …) - XML databases (Tamino, BaseX, ...) - ...
  • 3. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 3May 19, 2017 Column Stores  Solutions for large scale distributed storage systems  very large "tables" with billions of rows and millions of columns  petabytes of data across thousands of servers  BigTable  distributed storage solution for structured data used by Google  HBase  distributed open source database (similar to BigTable)  part of the Apache Hadoop project  use MapReduce framework for processing - map step • master node divides problem into subproblems and delegates them to child nodes - reduce step • master mode integrates solutions of subproblems
  • 4. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 4May 19, 2017 Document Stores  Data no longer stored in tables  Each record (document) might have a different format (number and size of fields)  Apache's CoucheDB is an example of a free and open source document-oriented database
  • 5. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 5May 19, 2017 Impedance Mismatch Revisited  Combination of SQL with a host language  mix of declarative and procedural programming paradigms  two completely different data models  different set of data types  Interfacing with SQL is not straightforward  data has to be converted between host language and SQL due to the impedance mismatch  ~30% of the code and effort is used for this conversion!  The problem gets even worse if we would like to use an object-oriented host language  two approaches to deal with the problem - object databases (object-oriented databases) - object-relational databases
  • 6. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 6May 19, 2017 Impedance Mismatch Revisited ...  Note that it would be easier to use the SQL AVG operator public float getAverageCDLength() { float result = 0.0; try { Connection conn = this.openConnection(); Statement s = conn.createStatement(); ResultSet set = s.executeQuery("SELECT length FROM CD"); int i = 0; while (set.next()) { result += set.getInt(1); i++; } return result/i; } catch (SQLException e) { System.out.println("Calculation of average length failed."); return 0; } }
  • 7. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 7May 19, 2017 Object Databases  ODBMSs use the same data model as object-oriented programming languages  no object-relational impedance mismatch (due to uniform model)  An object database combines the features of an object- oriented language and a DBMS (language binding)  treat data as objects - object identity - attributes and methods - relationships between objects  extensible type hierarchy - inheritance, overloading and overriding as well as customised types  declarative query language
  • 8. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 8May 19, 2017 Persistent Programming Languages  Several approaches have been proposed to make transient programming language objects persistent  persistence by class - declare that a class is persistent - all objects of a persistent class are persistent whereas objects of non-persistent classes are transient - not very flexible; we would like to have persistent and transient objects from a single class - many ODBMSs provide a mechanism to make classes persistence capable  persistence by creation - introduce new syntax to create persistent objects - object is either persistent or transient depending on how it was created  persistence by marking - mark objects as persistent after creation but before the program terminates
  • 9. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 9May 19, 2017 Persistent Programming Languages ...  persistence by reachability - one or more objects are explicitly declared as persistent objects (root objects) - all the other objects are persistent if they are reachable from a root object via a sequence of one or more references - easy to make entire data structures persistent
  • 10. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 10May 19, 2017 ObjectStore Example  Persistence by reachability via specific database roots  Persistence capable classes  post-processor makes specific classes persistent capable  Persistent aware classes  can access and manipulate persistent objects (not persistent)  Three states after a persistent object has been loaded  hollow: proxy with load on demand (lazy loading)  active: loaded in memory and flag set to clean  stale: no longer valid (e.g. after a commit) Person ariane = new Person("Ariane Peeters") db.createRoot("Persons", ariane);
  • 11. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 11May 19, 2017 ObjectStore Example ...  Post processing (1) compile all source files (2) post-process the class files to generate annotated versions of the class files (3) run the post-processed main class javac *.java osjcfp –dest . –inplace *.class java mainClass
  • 12. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 12May 19, 2017 ODBMS History  First generation ODBMS  1984 - George P. Copeland and David Maier, Making Smalltalk a Database System, SIGMOD 1984  1986 - G-Base (Graphael, F)  1987 - GemStone (Servio Corporation, USA)  1988 - Vbase (Ontologic) - Statice (Symbolics) David MaierGeorge P. Copeland
  • 13. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 13May 19, 2017 ODBMS History ...  Second generation ODBMS  1989 - Ontos (Ontos) - ObjectStore (Object Design) - Objectivity (Objectivity) - Versant ODBMS (Versant Object Technology)  1989 - The Object-Oriented Database System Manifesto  Third generation ODBMS  1990 - Orion/Itasca (Microelectronis and Computer Technology Cooperation, USA) - O2 (Altaïr, F) - Zeitgeist (Texas Instruments)
  • 14. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 14May 19, 2017 ODBMS History ...  Further developments  1991 - foundation of the Object Database Management Group (ODMG)  1993 - ODMG 1.0 standard  1996 - PJama (Persistent Java)  1997 - ODMG 2.0 standard  1999 - ODMG 3.0 standard  2001 - db4o (database for objects)  ...
  • 15. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 15May 19, 2017 The Object-Oriented Database Manifesto  Malcolm Atkinson, François Bancilhon, David DeWitt, Klaus Dittrich, David Maier and Stanley Zdonik, The Object-Oriented Database System Manifesto, 1989 Malcolm Atkinson François Bancilhon David DeWitt Klaus Dittrich David Maier Stanley Zdonik
  • 16. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 16May 19, 2017 The Object-Oriented Database Manifesto ...  The Object-Oriented Database System Manifesto by Atkinson et al. was an attemp to define object-oriented databases  defines 13 mandatory features that an object-oriented database system must have - 8 object-oriented system features - 5 DBMS features  optional features - multiple inheritance, type checking, versions, ...  open features - points where the designer can make a number of choices
  • 17. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 17May 19, 2017 The Object-Oriented Database Manifesto ...  Object-oriented system features  complex objects - complex objects built from simple ones by constructors (e.g. set, tuple and list) - constructors must be orthogonal  object identity - two objects can be identical (same object) or equal (same value)  encapsulation - distinction between interface (public) and implementation (private)  types and classes - type defines common features of a set of objects - class as a container for objects of the same type  type and class hierarchies  overriding, overloading and late binding
  • 18. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 18May 19, 2017 The Object-Oriented Database Manifesto ...  computational completeness - should be possible to express any computable function using the DML  extensibility - set of predefined types - no difference in usage of system and user-defined types  DBMS features  persistence - orthogonal persistence (persistence capability does not depend on the type)  secondary storage management - index management, data clustering, data buffering, access path selection and query optimisation  concurrency - atomicity, consistency, isolation and durability (ACID) - serialisability of operations
  • 19. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 19May 19, 2017 The Object-Oriented Database Manifesto ...  recovery - in case of hardware or software failures, the system should recover  ad hoc query facility - high-level declarative query language  The OODBMS Manifesto lead to discussion and reactions from the RDBMS community  Third-Generation Database System Manifesto, Stonebraker et al.  The Third Manifesto, Darwen and Date  Issues not addressed in the manifesto  database evolution  constraints  object roles  ...
  • 20. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 20May 19, 2017 Object Data Management Group (ODMG)  Object Database Management Group (ODMG) was founded in 1991 by Rick Cattel  standardisation body including all major ODBMS vendors  Defines a standard to increase the porta- bility accross different ODBMS products  Object Model  Object Definition Language (ODL)  Object Query Language (OQL)  language bindings - C++, Smalltalk and Java bindings Rick Cattell
  • 21. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 21May 19, 2017 ODMG Object Model  ODMG object model is based on the OMG object model  Basic modelling primitives  object: unique identifier  literal: no identifier  An object's state is defined by the values it carries for a set of properties (attributes or relationships)  An object's behaviour is defined by the set of operations that can be executed  Objects and literals are categorised by their type (common properties and common behaviour)
  • 22. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 22May 19, 2017 Object Definition Language (ODL) Example Assistant Professor Employee Salary Lecture Exercise Session Course StudentI Student teaches isTaughtBy leads isLeadBy hasPrerequisites isPrerequisiteFor attends isAttendedBy hasSessions isSessionOf one-to-one many-to-many one-to-many is-a extends
  • 23. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 23May 19, 2017 ODL Example ... module Education { exception SessionFull{}; ... class Course (extent courses) { attribute name; relationship Department offeredBy inverse Department::offers; relationship list<Session> hasSessions inverse Session::isSessionOf; relationship set<Course> hasPrerequisites inverse Course::isPrerequisiteFor; relationship set<Course> isPrerequisiteFor inverese Course::hasPrerequisites; }; class Salary (extent salaries) { attribute float base; attribute float bonus; }; ... }
  • 24. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 24May 19, 2017 ODL Example ... class Session (extent sessions) { attribute string number; relationship Course isSessionOf inverse Course::hasSessions; relationship set<Student> isAttendedBy inverse Student::attends; }; class Lecture extends Session (extent lectures) { relationship Professor isTaughtBy inverse Professor::teaches; }; class Exercise extends Session (extent exercises) { attribute unsigned short maxMembers; relationship Assistant isLeadBy inverse Assistant::leads; };
  • 25. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 25May 19, 2017 ODL Example ... interface StudentI { attribute string name; attribute Address address; relationship set<Session> attends inverse Session::isAttendeBy; }; class Student : StudentI (extent students) { attribute Address address; relationship set<Session> attends inverse Session::isAttendedBy; }; class Employee (extent employees) { attribute string name attribute Salary salary; void hire(); void fire() raises (NoSuchEmployee); };
  • 26. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 26May 19, 2017 ODL Example ... class Professor extends Employee (extent professors) { attribute enum Type{assistant, full, ordinary} rank; relationship worksFor inverse Department:hasProfessors; relationship set<Lectures> teaches inverse Session::isTaughtBy; }; class Assistant extends Employee : StudentI (extent assistants) { attribute Address address; relationship Exercise leads inverse Exercise::isLeadBy relationship set<Session> attends inverse Session::isAttendedBy; };
  • 27. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 27May 19, 2017 Object Databases  Many ODBMS also implement a versioning mechanism  Many operations are performed by using a navigational rather than a declarative interface  following pointers  In addition, an object query language (OQL) can be used to retrieve objects in a declarative way  some systems (e.g. db4o) also support native queries  Faster access than RDBMS for many tasks  no join operations required  However, object databases lack a formal mathematical foundation!
  • 28. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 28May 19, 2017 Object-Relational Mapping (ORM)  "Automatic" mapping of object-oriented model to relational database  developer has to deal less with persistence-related programming  Hibernate  mapping of Java types to SQL types  generates the required SQL statements behind the scene  standalone framework  Java Persistence API (JPA)  Enterprise Java Beans Standard 3.0  use annotations to define mapping  javax.persistence package
  • 29. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 29May 19, 2017 Object-Relational Databases  The object-relational data model extends the relational data model  introduces complex data types  object-oriented features  extended version of SQL to deal with the richer type system  Complex data types  new collection types including multisets and arrays  attributes can no longer just contain atomic values (1NF) but also collections  nest and unnest operations for collection type attributes  ER concepts such as composite attributes or multivalued attributes can be directly represented in the object-relational data model
  • 30. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 30May 19, 2017 Object-Relational Databases ...  Since SQL:1999 we can define user-defined types  Type inheritance can be used for inheriting attributes of user-defined types
  • 31. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 31May 19, 2017 Object vs. Object-Relational Databases  Object databases  complex datatypes  tight integration with an object-oriented programming language (persistent programming language)  high performance  Object-relational databases  complex datatypes  powerful query languages  good protection of data from programming errors
  • 32. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 32May 19, 2017 Homework  Study the following chapters of the Database System Concepts book  chapter 22 - sections 22.1-22.11 - Object-based Databases
  • 33. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 33May 19, 2017 Exercise 11  Transaction Management
  • 34. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 34May 19, 2017 References  A. Silberschatz, H. Korth and S. Sudarshan, Database System Concepts (Sixth Edition), McGraw-Hill, 2010  Malcolm Atkinson, François Bancilhon, David DeWitt, Klaus Dittrich, David Maier and Stanley Zdonik, The Object-Oriented Database System Manifesto, 1989  Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement, Eric Redmond and Jim Wilson, Pragmatic Book- shelf, May, 2012, ISBN-13: 978-1934356920
  • 35. 2 December 2005 Next Lecture Course Review