SlideShare uma empresa Scribd logo
1 de 20
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/1
Outline
• Introduction
• Background
• Distributed Database Design
• Database Integration
• Semantic Data Control
• Distributed Query Processing
• Multimedia Query Processing
• Distributed Transaction Management
• Data Replication
• Parallel Database Systems
• Distributed Object DBMS
➡ Object Models
➡ Object Distribution
• Peer-to-Peer Data Management
• Web Data Management
• Current Issues
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/2
Why Object DBMS
Some applications require
• storage and management of abstract data types (e.g., images, design
documents)  rich type system supporting user-defined abstract types;
• need to explicitly represent composite and complex objects without
mapping to flat relational model;
• need more powerful languages without the impedance mismatch.
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/3
Fundamental Concepts
• Object
➡ An entity in the system that is being modeled.
➡ <OID, state, interface>
• OID: object identifier
➡ Immutable
• State
➡ Atomic or constructed value
➡ Atomic values are instance variables (or attributes)
➡ Constructed values can be set or tuple
• Interface
➡ State and behaviour
➡ Behavior captured by methods
• Object states may change, but OID remains identical
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/4
Fundamental Concepts (cont’d)
• Type
➡ Domain of objects
• Class
➡ Template for a group of objects defining a common type that conforms to the
template
• Example
type Car
attributes
engine: Engine
bumbers: {Bumper}
tires: [lf: Tire, rf: Tire, lr: Tire, rr: Tire]
make: Manufacturer
model: String
year: Date
serial_no: String
capacity: Integer
methods
age: Real
replaceTire(place, tire)
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/5
Fundamental Concepts (cont’d)
• Composition (aggregation)
➡ Composite type (Car) and composite object
➡ Allows referential sharing – objects refer to each other by their OIDs as values
of object-based variables
➡ Composition relationships can be represented by composition (aggregation)
graph
• Subclassing and inheritance
➡ Subclassing is based on specialization: class A is a specialization of class B if
A’s interface is a superset of B’s interface.
➡ Inheritance: result of subclassing – class A’s properties consist of what is
defined for it as well as the properties of class B that it inherits
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/6
Object Distribution
• New problems due to encapsulation of methods together with object state.
• Fragmentation can be based on
➡ State
➡ Method definitions
➡ Method implementation
• Class extent can be fragmented
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/7
Fragmentation Alternatives
• Horizontal
➡ Primary
➡ Derived
➡ Associated
• Vertical
• Hybrid
• Path partitioning
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/8
Horizontal Fragmentation
• Primary
➡ Defined similar to the relational case
• Derived
➡ Due to the fragmentation of a subclass
➡ Due to fragmentation of a complex attribute
➡ Due to method invocation
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/9
Vertical Fragmentation
• For a class C, fragmenting it vertically into C1, …, Cm produces a number of
classes, each of which contains some of the attributes and some of the
methods.
➡ Each fragment is less defined than the original class
• Issues
➡ Subtyping relationship between C’s superclasses and subclasses and the
fragment classes
➡ Relationship of the fragment classes among themselves
➡ Location of the methods when they are not simple methods
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/10
Path Partitioning
• Clustering all of the objects forming a composite object into a partition
• Can be represented as a hierarchy of nodes forming a structural index
➡ Each node of the index points to objects of the domain class of the component
object
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/11
Object Server Architecture
• Clients request “objects” from the
server
➡ Single object or groups of objects can
be returned
• Server undertakes most of the
DBMS services
• Object manager duplicated
➡ Provides a context for method
execution
➡ Implementation of object identifier
➡ Object clustering and access methods
(at server)
➡ Implement an object cache
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/12
Page Server Architecture
• Unit of transfer between clients
and server is a physical unit of data
➡ E.g., page or segment
• DBMS services split between the
client and the server
• Servers typically do not have the
notion of “object”
• Clients have to do the conversion
from an “object” to a physical unit
and vice versa
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/13
Cache Consistency
• Avoidance-based
➡ Prevents access to stale cache data by ensuring that clients cannot update an
object if it is being read by other clients
✦ Object in cache is stale if it has already been updated and committed to the
database by a different client
➡ Stale data cannot exist in the cache
• Detection-based
➡ Detect stale object access at a validation step at commit time
➡ Stale data is allowed to exist in the cache
• Each can further classified based on when the client informs the server
about writes
➡ Synchronous
➡ Asynchronous
➡ Deferred
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/14
Alternative Cache Consistency
Algorithms
• Avoidance-based synchronous
• Avoidance-based asynchronous
• Avoidance-based deferred
• Detection-based synchronous
• Detection-based asynchronous
• Detection-based deferred
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/15
Object Identifier Management
• Physical object identifier (POID)
➡ OID is equated with the physical address of the corresponding object
➡ Address can be disk page address and an offset from the base address
+ Object can be obtained directly from the OID
- Parent object and all indexes need to be updated when object moves
• Logical identifier (LOID)
➡ System-wide unique
➡ A mapping has to occur to map it to the physical address
+ Object can be easily moved
- Indirection overhead
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/16
Object Migration
• Unit of migration
➡ Object state but not methods
✦ Requires invocation of remote procedures
➡ Individual objects
✦ Types may be accessed remotely or duplicated
• Tracking objects
➡ Surrogates or proxy objects
➡ Placeholders: accesses to proxy objects are directed transparently by the
system to the objects themselves at the new sites
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/17
Distributed Object Storage
• Object clustering
➡ Decomposition storage model
✦ Partition eachobject class into binary relations (OID, attribute)
✦ Relies on LOID
➡ Normalized storage model
✦ Stores each class as a separate relation
✦ Can use LOID or POID
➡ Direct storage model
✦ Multi-class clustering og objects based on the composition relationship
• Distributed garbage collection
➡ Reference counting
➡ Tracing-based
✦ Mark and sweep
✦ Copy-based
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/18
Object Query Processing
• Similar approach to relational can be followed.
• Additional difficulties
➡ Complexity of the type system
➡ Encapsulation makes knowledge of physical organization and access methods
difficult
➡ Object structures are complex requiring path expressions for access
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/19
Transaction Management
• Difficulties resulting from the following requiremens
➡ Operations are not simple Read and Write
➡ Objects are not “flat” but complex and composite
➡ Access patterns are not simple
➡ Long running activities need to be supported
➡ Active object capabilities are sometimes required
Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/20
Correctness Criteria
• Commutativity
• Invalidation
• Recoverability

Mais conteúdo relacionado

Mais procurados

Introduction to distributed file systems
Introduction to distributed file systemsIntroduction to distributed file systems
Introduction to distributed file systems
Viet-Trung TRAN
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query Optimization
Ali Usman
 
Distributed Database System
Distributed Database SystemDistributed Database System
Distributed Database System
Sulemang
 
10. XML in DBMS
10. XML in DBMS10. XML in DBMS
10. XML in DBMS
koolkampus
 
6 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/26 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/2
Fabio Fumarola
 

Mais procurados (20)

Server system architecture
Server system architectureServer system architecture
Server system architecture
 
Load Balancing in Parallel and Distributed Database
Load Balancing in Parallel and Distributed DatabaseLoad Balancing in Parallel and Distributed Database
Load Balancing in Parallel and Distributed Database
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
Distributed concurrency control
Distributed concurrency controlDistributed concurrency control
Distributed concurrency control
 
Introduction to distributed file systems
Introduction to distributed file systemsIntroduction to distributed file systems
Introduction to distributed file systems
 
Distributed dbms architectures
Distributed dbms architecturesDistributed dbms architectures
Distributed dbms architectures
 
Distributed DBMS - Unit 3 - Distributed DBMS Architecture
Distributed DBMS - Unit 3 - Distributed DBMS ArchitectureDistributed DBMS - Unit 3 - Distributed DBMS Architecture
Distributed DBMS - Unit 3 - Distributed DBMS Architecture
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query Optimization
 
Concurrency Control in Database Management System
Concurrency Control in Database Management SystemConcurrency Control in Database Management System
Concurrency Control in Database Management System
 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
 
Distributed Database System
Distributed Database SystemDistributed Database System
Distributed Database System
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL Database
 
Distributed data processing
Distributed data processingDistributed data processing
Distributed data processing
 
Distributed dbms
Distributed dbmsDistributed dbms
Distributed dbms
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
 
10. XML in DBMS
10. XML in DBMS10. XML in DBMS
10. XML in DBMS
 
6 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/26 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/2
 
Unit 3
Unit 3Unit 3
Unit 3
 

Destaque

Database, 3 Distribution Design
Database, 3 Distribution DesignDatabase, 3 Distribution Design
Database, 3 Distribution Design
Ali Usman
 
Database , 1 Introduction
 Database , 1 Introduction Database , 1 Introduction
Database , 1 Introduction
Ali Usman
 
Database ,2 Background
 Database ,2 Background Database ,2 Background
Database ,2 Background
Ali Usman
 
Database , 4 Data Integration
Database , 4 Data IntegrationDatabase , 4 Data Integration
Database , 4 Data Integration
Ali Usman
 
Database , 5 Semantic
Database , 5 SemanticDatabase , 5 Semantic
Database , 5 Semantic
Ali Usman
 
Database ,16 P2P
Database ,16 P2P Database ,16 P2P
Database ,16 P2P
Ali Usman
 
Database , 12 Reliability
Database , 12 ReliabilityDatabase , 12 Reliability
Database , 12 Reliability
Ali Usman
 
Database ,10 Transactions
Database ,10 TransactionsDatabase ,10 Transactions
Database ,10 Transactions
Ali Usman
 
Database ,14 Parallel DBMS
Database ,14 Parallel DBMSDatabase ,14 Parallel DBMS
Database ,14 Parallel DBMS
Ali Usman
 
Database , 13 Replication
Database , 13 ReplicationDatabase , 13 Replication
Database , 13 Replication
Ali Usman
 
Database ,7 query localization
Database ,7 query localizationDatabase ,7 query localization
Database ,7 query localization
Ali Usman
 
Database ,11 Concurrency Control
Database ,11 Concurrency ControlDatabase ,11 Concurrency Control
Database ,11 Concurrency Control
Ali Usman
 
Discrete Structures lecture 2
 Discrete Structures lecture 2 Discrete Structures lecture 2
Discrete Structures lecture 2
Ali Usman
 

Destaque (20)

Database, 3 Distribution Design
Database, 3 Distribution DesignDatabase, 3 Distribution Design
Database, 3 Distribution Design
 
Database , 1 Introduction
 Database , 1 Introduction Database , 1 Introduction
Database , 1 Introduction
 
Database ,2 Background
 Database ,2 Background Database ,2 Background
Database ,2 Background
 
Database , 4 Data Integration
Database , 4 Data IntegrationDatabase , 4 Data Integration
Database , 4 Data Integration
 
Distributed database
Distributed databaseDistributed database
Distributed database
 
Fragmentation as a Part of Security in Distributed Database: A Survey
Fragmentation as a Part of Security in Distributed Database: A SurveyFragmentation as a Part of Security in Distributed Database: A Survey
Fragmentation as a Part of Security in Distributed Database: A Survey
 
Database , 5 Semantic
Database , 5 SemanticDatabase , 5 Semantic
Database , 5 Semantic
 
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLPL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)
 
Database ,16 P2P
Database ,16 P2P Database ,16 P2P
Database ,16 P2P
 
Database , 12 Reliability
Database , 12 ReliabilityDatabase , 12 Reliability
Database , 12 Reliability
 
Database ,10 Transactions
Database ,10 TransactionsDatabase ,10 Transactions
Database ,10 Transactions
 
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency ControlPostgres MVCC - A Developer Centric View of Multi Version Concurrency Control
Postgres MVCC - A Developer Centric View of Multi Version Concurrency Control
 
Database ,14 Parallel DBMS
Database ,14 Parallel DBMSDatabase ,14 Parallel DBMS
Database ,14 Parallel DBMS
 
Lecture 1 ddbms
Lecture 1 ddbmsLecture 1 ddbms
Lecture 1 ddbms
 
InnoDB Internal
InnoDB InternalInnoDB Internal
InnoDB Internal
 
Database , 13 Replication
Database , 13 ReplicationDatabase , 13 Replication
Database , 13 Replication
 
Database ,7 query localization
Database ,7 query localizationDatabase ,7 query localization
Database ,7 query localization
 
Database ,11 Concurrency Control
Database ,11 Concurrency ControlDatabase ,11 Concurrency Control
Database ,11 Concurrency Control
 
Discrete Structures lecture 2
 Discrete Structures lecture 2 Discrete Structures lecture 2
Discrete Structures lecture 2
 

Semelhante a Database , 15 Object DBMS

Database , 17 Web
Database , 17 WebDatabase , 17 Web
Database , 17 Web
Ali Usman
 
Hpts 2011 flexible_oltp
Hpts 2011 flexible_oltpHpts 2011 flexible_oltp
Hpts 2011 flexible_oltp
Jags Ramnarayan
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
Don Demcsak
 
Csld phan tan va song song
Csld phan tan va song songCsld phan tan va song song
Csld phan tan va song song
Lê Anh Trung
 

Semelhante a Database , 15 Object DBMS (20)

Database , 17 Web
Database , 17 WebDatabase , 17 Web
Database , 17 Web
 
1 introduction ddbms
1 introduction ddbms1 introduction ddbms
1 introduction ddbms
 
1 introduction
1 introduction1 introduction
1 introduction
 
Hpts 2011 flexible_oltp
Hpts 2011 flexible_oltpHpts 2011 flexible_oltp
Hpts 2011 flexible_oltp
 
1 introduction DDBS
1 introduction DDBS1 introduction DDBS
1 introduction DDBS
 
dmBridge & dmMonocle
dmBridge & dmMonocledmBridge & dmMonocle
dmBridge & dmMonocle
 
6-Query_Intro (5).pdf
6-Query_Intro (5).pdf6-Query_Intro (5).pdf
6-Query_Intro (5).pdf
 
RavenDB
RavenDBRavenDB
RavenDB
 
computer fund-database presentation
 computer fund-database presentation computer fund-database presentation
computer fund-database presentation
 
Case Study: Implementing a Data Mesh at NORD/LB
Case Study: Implementing a Data Mesh at NORD/LBCase Study: Implementing a Data Mesh at NORD/LB
Case Study: Implementing a Data Mesh at NORD/LB
 
AzureDocumentDB
AzureDocumentDBAzureDocumentDB
AzureDocumentDB
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
Government GraphSummit: And Then There Were 15 Standards
Government GraphSummit: And Then There Were 15 StandardsGovernment GraphSummit: And Then There Were 15 Standards
Government GraphSummit: And Then There Were 15 Standards
 
Container Attached Storage with OpenEBS - CNCF Paris Meetup
Container Attached Storage with OpenEBS - CNCF Paris MeetupContainer Attached Storage with OpenEBS - CNCF Paris Meetup
Container Attached Storage with OpenEBS - CNCF Paris Meetup
 
nnnn.pptx
nnnn.pptxnnnn.pptx
nnnn.pptx
 
DBMS.pptx
DBMS.pptxDBMS.pptx
DBMS.pptx
 
Csld phan tan va song song
Csld phan tan va song songCsld phan tan va song song
Csld phan tan va song song
 
Adbms 1 object oriented modeling
Adbms 1 object oriented modelingAdbms 1 object oriented modeling
Adbms 1 object oriented modeling
 
Dunsire roadmap meeting proposal
Dunsire roadmap meeting proposalDunsire roadmap meeting proposal
Dunsire roadmap meeting proposal
 
Chp-1.pptx
Chp-1.pptxChp-1.pptx
Chp-1.pptx
 

Mais de Ali Usman

Mais de Ali Usman (15)

Cisco Packet Tracer Overview
Cisco Packet Tracer OverviewCisco Packet Tracer Overview
Cisco Packet Tracer Overview
 
Islamic Arts and Architecture
Islamic Arts and  ArchitectureIslamic Arts and  Architecture
Islamic Arts and Architecture
 
Database ,18 Current Issues
Database ,18 Current IssuesDatabase ,18 Current Issues
Database ,18 Current Issues
 
Database , 6 Query Introduction
Database , 6 Query Introduction Database , 6 Query Introduction
Database , 6 Query Introduction
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
 
Fifty Year Of Microprocessor
Fifty Year Of MicroprocessorFifty Year Of Microprocessor
Fifty Year Of Microprocessor
 
Discrete Structures. Lecture 1
 Discrete Structures. Lecture 1  Discrete Structures. Lecture 1
Discrete Structures. Lecture 1
 
Muslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-AstronomyMuslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-Astronomy
 
Muslim Contributions in Geography
Muslim Contributions in GeographyMuslim Contributions in Geography
Muslim Contributions in Geography
 
Muslim Contributions in Astronomy
Muslim Contributions in AstronomyMuslim Contributions in Astronomy
Muslim Contributions in Astronomy
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
 
Ptcl modem (user manual)
Ptcl modem (user manual)Ptcl modem (user manual)
Ptcl modem (user manual)
 
Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali
 
Muslim Contributions in Mathematics
Muslim Contributions in MathematicsMuslim Contributions in Mathematics
Muslim Contributions in Mathematics
 
Osi protocols
Osi protocolsOsi protocols
Osi protocols
 

Último

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Database , 15 Object DBMS

  • 1. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/1 Outline • Introduction • Background • Distributed Database Design • Database Integration • Semantic Data Control • Distributed Query Processing • Multimedia Query Processing • Distributed Transaction Management • Data Replication • Parallel Database Systems • Distributed Object DBMS ➡ Object Models ➡ Object Distribution • Peer-to-Peer Data Management • Web Data Management • Current Issues
  • 2. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/2 Why Object DBMS Some applications require • storage and management of abstract data types (e.g., images, design documents)  rich type system supporting user-defined abstract types; • need to explicitly represent composite and complex objects without mapping to flat relational model; • need more powerful languages without the impedance mismatch.
  • 3. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/3 Fundamental Concepts • Object ➡ An entity in the system that is being modeled. ➡ <OID, state, interface> • OID: object identifier ➡ Immutable • State ➡ Atomic or constructed value ➡ Atomic values are instance variables (or attributes) ➡ Constructed values can be set or tuple • Interface ➡ State and behaviour ➡ Behavior captured by methods • Object states may change, but OID remains identical
  • 4. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/4 Fundamental Concepts (cont’d) • Type ➡ Domain of objects • Class ➡ Template for a group of objects defining a common type that conforms to the template • Example type Car attributes engine: Engine bumbers: {Bumper} tires: [lf: Tire, rf: Tire, lr: Tire, rr: Tire] make: Manufacturer model: String year: Date serial_no: String capacity: Integer methods age: Real replaceTire(place, tire)
  • 5. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/5 Fundamental Concepts (cont’d) • Composition (aggregation) ➡ Composite type (Car) and composite object ➡ Allows referential sharing – objects refer to each other by their OIDs as values of object-based variables ➡ Composition relationships can be represented by composition (aggregation) graph • Subclassing and inheritance ➡ Subclassing is based on specialization: class A is a specialization of class B if A’s interface is a superset of B’s interface. ➡ Inheritance: result of subclassing – class A’s properties consist of what is defined for it as well as the properties of class B that it inherits
  • 6. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/6 Object Distribution • New problems due to encapsulation of methods together with object state. • Fragmentation can be based on ➡ State ➡ Method definitions ➡ Method implementation • Class extent can be fragmented
  • 7. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/7 Fragmentation Alternatives • Horizontal ➡ Primary ➡ Derived ➡ Associated • Vertical • Hybrid • Path partitioning
  • 8. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/8 Horizontal Fragmentation • Primary ➡ Defined similar to the relational case • Derived ➡ Due to the fragmentation of a subclass ➡ Due to fragmentation of a complex attribute ➡ Due to method invocation
  • 9. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/9 Vertical Fragmentation • For a class C, fragmenting it vertically into C1, …, Cm produces a number of classes, each of which contains some of the attributes and some of the methods. ➡ Each fragment is less defined than the original class • Issues ➡ Subtyping relationship between C’s superclasses and subclasses and the fragment classes ➡ Relationship of the fragment classes among themselves ➡ Location of the methods when they are not simple methods
  • 10. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/10 Path Partitioning • Clustering all of the objects forming a composite object into a partition • Can be represented as a hierarchy of nodes forming a structural index ➡ Each node of the index points to objects of the domain class of the component object
  • 11. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/11 Object Server Architecture • Clients request “objects” from the server ➡ Single object or groups of objects can be returned • Server undertakes most of the DBMS services • Object manager duplicated ➡ Provides a context for method execution ➡ Implementation of object identifier ➡ Object clustering and access methods (at server) ➡ Implement an object cache
  • 12. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/12 Page Server Architecture • Unit of transfer between clients and server is a physical unit of data ➡ E.g., page or segment • DBMS services split between the client and the server • Servers typically do not have the notion of “object” • Clients have to do the conversion from an “object” to a physical unit and vice versa
  • 13. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/13 Cache Consistency • Avoidance-based ➡ Prevents access to stale cache data by ensuring that clients cannot update an object if it is being read by other clients ✦ Object in cache is stale if it has already been updated and committed to the database by a different client ➡ Stale data cannot exist in the cache • Detection-based ➡ Detect stale object access at a validation step at commit time ➡ Stale data is allowed to exist in the cache • Each can further classified based on when the client informs the server about writes ➡ Synchronous ➡ Asynchronous ➡ Deferred
  • 14. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/14 Alternative Cache Consistency Algorithms • Avoidance-based synchronous • Avoidance-based asynchronous • Avoidance-based deferred • Detection-based synchronous • Detection-based asynchronous • Detection-based deferred
  • 15. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/15 Object Identifier Management • Physical object identifier (POID) ➡ OID is equated with the physical address of the corresponding object ➡ Address can be disk page address and an offset from the base address + Object can be obtained directly from the OID - Parent object and all indexes need to be updated when object moves • Logical identifier (LOID) ➡ System-wide unique ➡ A mapping has to occur to map it to the physical address + Object can be easily moved - Indirection overhead
  • 16. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/16 Object Migration • Unit of migration ➡ Object state but not methods ✦ Requires invocation of remote procedures ➡ Individual objects ✦ Types may be accessed remotely or duplicated • Tracking objects ➡ Surrogates or proxy objects ➡ Placeholders: accesses to proxy objects are directed transparently by the system to the objects themselves at the new sites
  • 17. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/17 Distributed Object Storage • Object clustering ➡ Decomposition storage model ✦ Partition eachobject class into binary relations (OID, attribute) ✦ Relies on LOID ➡ Normalized storage model ✦ Stores each class as a separate relation ✦ Can use LOID or POID ➡ Direct storage model ✦ Multi-class clustering og objects based on the composition relationship • Distributed garbage collection ➡ Reference counting ➡ Tracing-based ✦ Mark and sweep ✦ Copy-based
  • 18. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/18 Object Query Processing • Similar approach to relational can be followed. • Additional difficulties ➡ Complexity of the type system ➡ Encapsulation makes knowledge of physical organization and access methods difficult ➡ Object structures are complex requiring path expressions for access
  • 19. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/19 Transaction Management • Difficulties resulting from the following requiremens ➡ Operations are not simple Read and Write ➡ Objects are not “flat” but complex and composite ➡ Access patterns are not simple ➡ Long running activities need to be supported ➡ Active object capabilities are sometimes required
  • 20. Distributed DBMS ©M. T. Özsu & P. Valduriez Ch.15/20 Correctness Criteria • Commutativity • Invalidation • Recoverability