SlideShare a Scribd company logo
1 of 37
sysco.no
Using database Object-Relational storage for storing
and manipulating XML data in an integration project
Welcome to the Tour
sysco.no
Oracle SOA/ESB common database problems
• Store large ammounts of XML data in database
• Picewise update of different XML complex types in database
• No direct support from SOA/ESB platform to save or read XML data from database
• Different database storage models for XML related data. Which to chose?
• Oracle database XML DB extension
About SYSCO
sysco.no
Read and write XML data to database
• Relational model
– One table for each XML complex type
• XMLType view
– Efficient in one direction
• Storing XML data directly
– CLOB
– Binary XML
– Object-Relational storage
sysco.no
Storing XML data in prepared database schema
• Huge task for database designer
– One table for each XML complex type
• Familiarity with reading and understanding XML schema document by
database designer.
– Compatibility and constraints
• A lot of database relations
– Primary to foreign key relationships
sysco.no
Excerpt from WorkOrder.xsd XML Schema
sysco.no
E-R diagram produced from complex XML Schema
file
sysco.no
Relational database model problems
• Complex XML Schema = complex database model
– Substantial time to prepare
– Data type translation (string to varchar2 limitation)
• Many atomic XA database transactions.
– A lot of ESB Business Services or SOA partner links
– The whole transaction logic handled by SOA/ESB layer
– A lot of XPath expressions and transformations
sysco.no
What is XML DB?
• XML DB Introduction
• XML DB Advantages
• XMLType view
• XML DB storage options
• SOA access to XML DB
• Object-Relational storage
sysco.no
XML DB Introduction
By leveraging Object Types, Oracle has added to standard relational database
XML processing support. For that the special Object Type has been used:
XMLType.
Around XMLType Oracle has created whole stack of technology add-ons to
support XMLType data processing.
sysco.no
XML DB Introduction
Important XML DB technology additions to Oracle database:
1. XMLType data type,
2. XML DB repository,
3. CLOB mapping,
4. XML Binary mapping,
5. Object-Relational storage,
6. Relationships,
7. Indexing,
8. XMLType views,
9. Relational view from XMLType data
10. XQuery support,
11. XML Schema validation
12. XML Schema extension,
13. DOM fidelity,
14. Etc.
sysco.no
XML DB advantages
Advantages of using XML DB for storing and manipulating XML data:
1. Faster than many native XML databases (Object-relational storage, Relationships,
Indexing)
2. XML Schema validation,
3. Conversion from XML to relational data and back,
4. Virtual, versioned file system support,
5. Multiple protocol support for data exchange,
6. Read-Write one transaction support for whole XML document,
7. XML Piecewise update based on XPath expressions,
8. Relational data database Views based on XPath/XQuery expressions,
9. Support for updates of XML from relational views by using Instead Of triggers and
XQuery expressions.
sysco.no
Using XMLType view
• Better performance
– Whole XML inserted in one transaction
– SQL: INSERT, UPDATE and DELETE operations accept whole XML document
sysco.no
SQL: INSERT, UPDATE and DELETE operations on XMLType
object.
sysco.no
Using XMLType view
• Preparation steps
1. Create XMLType View
2. Create PL/SQL wrapper faction, that will convert XML data from database
large string format (CLOB) to XMLType format
3. Create INSTEAD OF trigger attached to the XMLType view that will perform
actual update of database data stored in relational tables
sysco.no
XMLType view example
sysco.no
INSTEAD OF trigger attached to the XMLType View example
sysco.no
Using XMLType view
• Disadvantages:
1. Still requires classic relational storage for storing XML data
2. The INSTEAD OF trigger attached to the XMLType view is considerably big and
has to contain more or less the same XPath expressions that we would
otherwise had to add inside Enterprise Service Buss Pipeline or inside SOA
BPEL process
sysco.no
Using XML DB storage options for storing XML data
• XML DB various storage options:
– CLOB
– Binary XML
– XML DB Repository
– Object-Relational
sysco.no
Using XML DB storage options for storing XML data
• CLOB storage option advantages:
– Simple to prepare (single database table for whole XML)
– Simple to implement
• CLOB storage option disadvantages:
– Space occupation
– For every update, insert or delete on any XML element, the whole XML
document needs to be rewritten
– Only text based indexing
sysco.no
Using XML DB storage options for storing XML data
• Binary XML storage option advantages:
– Simple to prepare (single database table for whole XML)
– Simple to implement
– Better space occupation
– Better indexing options
– Faster than Object-Relational storage for whole XML inserts/updates
• Binary XML storage option disadvantages:
– Piecewise update
– Lack of BTree indexes
– More complex XPath for creating relational type views out of the nested XML
Schema complex types
sysco.no
Using XML DB storage options for storing XML data
• Object-Relational storage option advantages:
– Storage optimization
– Better indexing options
– Fast for XML piecewise updates
– Various indexing options
– Schema validation
– XML DOM fidelity
– Check and unique constraints
– Automatic relationships generation
– Simpler for creating relational table views on nested XML Schema complex types
• Object-Relational storage option disadvantages:
– Slower than Binary XML for whole XML insert/update operations
– Potential dead locking in RAC environment during the update operations
sysco.no
SOA access to XML DB
Why XML DB with SOA?
1. Single transaction for Read and Write whole SOAP/REST XML,
2. Just one “Exposed Service” creation,
3. No need to prepare classic relational schema,
4. Speed and simplicity!
sysco.no
SOA access to XML DB
SOA support for XML DB?
1. No native support,
2. Some preparation steps,
3. PL/SQL knowledge requirement.
sysco.no
Using Object-Relational storage for storing XML data How-To
XML Schema
Registration
Upgrade XML Schema
with XML DB annotations
Stored
procedure
Create stored procedure
to enable one
transaction support
DB Adapter
Prepare DB adapter to
use stored procedure
XQuery
mapping
Prepare XQuery
mapping to map XML to
stored procedure
parameter
DB Views
Create DB View to
expose XML data as
relational
sysco.no
Upgrade XML Schema with XML DB annotations
sysco.no
Registering XML Schema
sysco.no
Object-Relational storage perspective
• XML Schema registration procedure creates and registers all database
objects for storing XML data.
– Every XML complex type becomes one XMLType table
– For every XML complex type one Object Type is generated that validates XML
data against XML schema and can be tuned
• Object-Relational storage is still of XMLType and has to be treated as such
– To access data as relational prepare views with XQuery syntax
– INSTEAD OF trigger that will use XQuery syntax to modify underlying XMLType
table
sysco.no
Database view with XQuery syntax to extract XMLType data
sysco.no
Database procedure for storing XML data
sysco.no
Database procedure for reading XML data
sysco.no
Configuring database JCA adapter
sysco.no
Graphical representation of XQuery mapper file that maps XML to
string
sysco.no
XQuery mapper code that maps XML to string
sysco.no
Assembling final application
sysco.no
Test pipeline
sysco.no
Conclusion
Go for it!
1. Best option for storing large XML files with the need to perform piecewise XML
insert, update, delete
2. PL/SQL knowledge requirement for executing preparation steps
3. Most of preparation steps is one time job applicable to different projects
4. Full XQuery support
5. User friendly for integration developers
sysco.no
Have a nice and inspirational day!
SYSCO 2016

More Related Content

What's hot

HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...
HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...
HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...Cloudera, Inc.
 
Design Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformDesign Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformMarco Gralike
 
Hive big-data meetup
Hive big-data meetupHive big-data meetup
Hive big-data meetupRemus Rusanu
 
The Hive Think Tank: Rocking the Database World with RocksDB
The Hive Think Tank: Rocking the Database World with RocksDBThe Hive Think Tank: Rocking the Database World with RocksDB
The Hive Think Tank: Rocking the Database World with RocksDBThe Hive
 
RocksDB storage engine for MySQL and MongoDB
RocksDB storage engine for MySQL and MongoDBRocksDB storage engine for MySQL and MongoDB
RocksDB storage engine for MySQL and MongoDBIgor Canadi
 
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...InSync2011
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataMarco Gralike
 
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)Ortus Solutions, Corp
 
What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010jbellis
 
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase Cloudera, Inc.
 
XFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in thereXFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in thereMarco Gralike
 
Four NoSQL Databases You Should Know
Four NoSQL Databases You Should KnowFour NoSQL Databases You Should Know
Four NoSQL Databases You Should KnowMahmoud Khaled
 
BGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performBGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performMarco Gralike
 
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckOffice Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckITProceed
 
Introduction to Apache HBase
Introduction to Apache HBaseIntroduction to Apache HBase
Introduction to Apache HBaseGokuldas Pillai
 
The Hive Think Tank: Rocking the Database World with RocksDB
The Hive Think Tank:  Rocking the Database World with RocksDBThe Hive Think Tank:  Rocking the Database World with RocksDB
The Hive Think Tank: Rocking the Database World with RocksDBThe Hive
 
Mule transformers
Mule transformersMule transformers
Mule transformersThang Loi
 
An introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineAn introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineKrishnakumar S
 

What's hot (20)

HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...
HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...
HBaseCon 2012 | Living Data: Applying Adaptable Schemas to HBase - Aaron Kimb...
 
Design Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformDesign Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will Perform
 
Hive big-data meetup
Hive big-data meetupHive big-data meetup
Hive big-data meetup
 
The Hive Think Tank: Rocking the Database World with RocksDB
The Hive Think Tank: Rocking the Database World with RocksDBThe Hive Think Tank: Rocking the Database World with RocksDB
The Hive Think Tank: Rocking the Database World with RocksDB
 
RocksDB storage engine for MySQL and MongoDB
RocksDB storage engine for MySQL and MongoDBRocksDB storage engine for MySQL and MongoDB
RocksDB storage engine for MySQL and MongoDB
 
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured data
 
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
 
What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010What every developer should know about database scalability, PyCon 2010
What every developer should know about database scalability, PyCon 2010
 
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
HBaseCon 2013: Honeycomb - MySQL Backed by Apache HBase
 
XFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in thereXFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in there
 
Four NoSQL Databases You Should Know
Four NoSQL Databases You Should KnowFour NoSQL Databases You Should Know
Four NoSQL Databases You Should Know
 
BGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performBGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will perform
 
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckOffice Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
 
Introduction to Apache HBase
Introduction to Apache HBaseIntroduction to Apache HBase
Introduction to Apache HBase
 
The Hive Think Tank: Rocking the Database World with RocksDB
The Hive Think Tank:  Rocking the Database World with RocksDBThe Hive Think Tank:  Rocking the Database World with RocksDB
The Hive Think Tank: Rocking the Database World with RocksDB
 
Mule transformers
Mule transformersMule transformers
Mule transformers
 
Storage in hadoop
Storage in hadoopStorage in hadoop
Storage in hadoop
 
SQL on Hadoop
SQL on HadoopSQL on Hadoop
SQL on Hadoop
 
An introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineAn introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP Engine
 

Similar to Using database object relational storage

Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesMarco Gralike
 
An Introduction To Oracle Database
An Introduction To Oracle DatabaseAn Introduction To Oracle Database
An Introduction To Oracle DatabaseMeysam Javadi
 
Data interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTDAnushaMahmood
 
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...Amazon Web Services
 
SharePoint and Open XML
SharePoint and Open XMLSharePoint and Open XML
SharePoint and Open XMLBecky Bertram
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1Marco Gralike
 
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...David Horvath
 
S016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710dS016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710dTony Pearson
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackRich Lee
 
SharePoint Storage Best Practices
SharePoint Storage Best PracticesSharePoint Storage Best Practices
SharePoint Storage Best PracticesMark Ginnebaugh
 
Why Wordnik went non-relational
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relationalTony Tam
 
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...Amazon Web Services
 
Hibernate in XPages
Hibernate in XPagesHibernate in XPages
Hibernate in XPagesToby Samples
 
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...Peter Keane
 
SQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefullySQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefullyMd Kamaruzzaman
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiUnmesh Baile
 

Similar to Using database object relational storage (20)

Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use Cases
 
An Introduction To Oracle Database
An Introduction To Oracle DatabaseAn Introduction To Oracle Database
An Introduction To Oracle Database
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
 
Data interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTDData interchange integration, HTML XML Biological XML DTD
Data interchange integration, HTML XML Biological XML DTD
 
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
 
Linq To XML Overview
Linq To XML OverviewLinq To XML Overview
Linq To XML Overview
 
SharePoint and Open XML
SharePoint and Open XMLSharePoint and Open XML
SharePoint and Open XML
 
Hibernate tutorial
Hibernate tutorialHibernate tutorial
Hibernate tutorial
 
SQLServer Database Structures
SQLServer Database Structures SQLServer Database Structures
SQLServer Database Structures
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
 
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
 
S016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710dS016825 ibm-cos-nola-v1710d
S016825 ibm-cos-nola-v1710d
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
 
SharePoint Storage Best Practices
SharePoint Storage Best PracticesSharePoint Storage Best Practices
SharePoint Storage Best Practices
 
Why Wordnik went non-relational
Why Wordnik went non-relationalWhy Wordnik went non-relational
Why Wordnik went non-relational
 
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
 
Hibernate in XPages
Hibernate in XPagesHibernate in XPages
Hibernate in XPages
 
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
 
SQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefullySQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefully
 
Corporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbaiCorporate-informatica-training-in-mumbai
Corporate-informatica-training-in-mumbai
 

More from Dalibor Blazevic

Connecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud ServiceConnecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud ServiceDalibor Blazevic
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your OrganizationDalibor Blazevic
 
DevOps - Right Tool for Right Phase
DevOps - Right Tool for Right PhaseDevOps - Right Tool for Right Phase
DevOps - Right Tool for Right PhaseDalibor Blazevic
 
Deploying Artifacts to Oracle Cloud with FlexDeploy
Deploying Artifacts to Oracle Cloud with FlexDeployDeploying Artifacts to Oracle Cloud with FlexDeploy
Deploying Artifacts to Oracle Cloud with FlexDeployDalibor Blazevic
 
FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewDalibor Blazevic
 
Connectig Atlassian JIRA with oracle ESB 12c
Connectig Atlassian JIRA with oracle ESB 12cConnectig Atlassian JIRA with oracle ESB 12c
Connectig Atlassian JIRA with oracle ESB 12cDalibor Blazevic
 

More from Dalibor Blazevic (7)

Kafka_Transactions.pptx
Kafka_Transactions.pptxKafka_Transactions.pptx
Kafka_Transactions.pptx
 
Connecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud ServiceConnecting Akka with Oracle Event Hub Cloud Service
Connecting Akka with Oracle Event Hub Cloud Service
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
DevOps - Right Tool for Right Phase
DevOps - Right Tool for Right PhaseDevOps - Right Tool for Right Phase
DevOps - Right Tool for Right Phase
 
Deploying Artifacts to Oracle Cloud with FlexDeploy
Deploying Artifacts to Oracle Cloud with FlexDeployDeploying Artifacts to Oracle Cloud with FlexDeploy
Deploying Artifacts to Oracle Cloud with FlexDeploy
 
FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical Overview
 
Connectig Atlassian JIRA with oracle ESB 12c
Connectig Atlassian JIRA with oracle ESB 12cConnectig Atlassian JIRA with oracle ESB 12c
Connectig Atlassian JIRA with oracle ESB 12c
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Using database object relational storage

  • 1. sysco.no Using database Object-Relational storage for storing and manipulating XML data in an integration project Welcome to the Tour
  • 2. sysco.no Oracle SOA/ESB common database problems • Store large ammounts of XML data in database • Picewise update of different XML complex types in database • No direct support from SOA/ESB platform to save or read XML data from database • Different database storage models for XML related data. Which to chose? • Oracle database XML DB extension About SYSCO
  • 3. sysco.no Read and write XML data to database • Relational model – One table for each XML complex type • XMLType view – Efficient in one direction • Storing XML data directly – CLOB – Binary XML – Object-Relational storage
  • 4. sysco.no Storing XML data in prepared database schema • Huge task for database designer – One table for each XML complex type • Familiarity with reading and understanding XML schema document by database designer. – Compatibility and constraints • A lot of database relations – Primary to foreign key relationships
  • 6. sysco.no E-R diagram produced from complex XML Schema file
  • 7. sysco.no Relational database model problems • Complex XML Schema = complex database model – Substantial time to prepare – Data type translation (string to varchar2 limitation) • Many atomic XA database transactions. – A lot of ESB Business Services or SOA partner links – The whole transaction logic handled by SOA/ESB layer – A lot of XPath expressions and transformations
  • 8. sysco.no What is XML DB? • XML DB Introduction • XML DB Advantages • XMLType view • XML DB storage options • SOA access to XML DB • Object-Relational storage
  • 9. sysco.no XML DB Introduction By leveraging Object Types, Oracle has added to standard relational database XML processing support. For that the special Object Type has been used: XMLType. Around XMLType Oracle has created whole stack of technology add-ons to support XMLType data processing.
  • 10. sysco.no XML DB Introduction Important XML DB technology additions to Oracle database: 1. XMLType data type, 2. XML DB repository, 3. CLOB mapping, 4. XML Binary mapping, 5. Object-Relational storage, 6. Relationships, 7. Indexing, 8. XMLType views, 9. Relational view from XMLType data 10. XQuery support, 11. XML Schema validation 12. XML Schema extension, 13. DOM fidelity, 14. Etc.
  • 11. sysco.no XML DB advantages Advantages of using XML DB for storing and manipulating XML data: 1. Faster than many native XML databases (Object-relational storage, Relationships, Indexing) 2. XML Schema validation, 3. Conversion from XML to relational data and back, 4. Virtual, versioned file system support, 5. Multiple protocol support for data exchange, 6. Read-Write one transaction support for whole XML document, 7. XML Piecewise update based on XPath expressions, 8. Relational data database Views based on XPath/XQuery expressions, 9. Support for updates of XML from relational views by using Instead Of triggers and XQuery expressions.
  • 12. sysco.no Using XMLType view • Better performance – Whole XML inserted in one transaction – SQL: INSERT, UPDATE and DELETE operations accept whole XML document
  • 13. sysco.no SQL: INSERT, UPDATE and DELETE operations on XMLType object.
  • 14. sysco.no Using XMLType view • Preparation steps 1. Create XMLType View 2. Create PL/SQL wrapper faction, that will convert XML data from database large string format (CLOB) to XMLType format 3. Create INSTEAD OF trigger attached to the XMLType view that will perform actual update of database data stored in relational tables
  • 16. sysco.no INSTEAD OF trigger attached to the XMLType View example
  • 17. sysco.no Using XMLType view • Disadvantages: 1. Still requires classic relational storage for storing XML data 2. The INSTEAD OF trigger attached to the XMLType view is considerably big and has to contain more or less the same XPath expressions that we would otherwise had to add inside Enterprise Service Buss Pipeline or inside SOA BPEL process
  • 18. sysco.no Using XML DB storage options for storing XML data • XML DB various storage options: – CLOB – Binary XML – XML DB Repository – Object-Relational
  • 19. sysco.no Using XML DB storage options for storing XML data • CLOB storage option advantages: – Simple to prepare (single database table for whole XML) – Simple to implement • CLOB storage option disadvantages: – Space occupation – For every update, insert or delete on any XML element, the whole XML document needs to be rewritten – Only text based indexing
  • 20. sysco.no Using XML DB storage options for storing XML data • Binary XML storage option advantages: – Simple to prepare (single database table for whole XML) – Simple to implement – Better space occupation – Better indexing options – Faster than Object-Relational storage for whole XML inserts/updates • Binary XML storage option disadvantages: – Piecewise update – Lack of BTree indexes – More complex XPath for creating relational type views out of the nested XML Schema complex types
  • 21. sysco.no Using XML DB storage options for storing XML data • Object-Relational storage option advantages: – Storage optimization – Better indexing options – Fast for XML piecewise updates – Various indexing options – Schema validation – XML DOM fidelity – Check and unique constraints – Automatic relationships generation – Simpler for creating relational table views on nested XML Schema complex types • Object-Relational storage option disadvantages: – Slower than Binary XML for whole XML insert/update operations – Potential dead locking in RAC environment during the update operations
  • 22. sysco.no SOA access to XML DB Why XML DB with SOA? 1. Single transaction for Read and Write whole SOAP/REST XML, 2. Just one “Exposed Service” creation, 3. No need to prepare classic relational schema, 4. Speed and simplicity!
  • 23. sysco.no SOA access to XML DB SOA support for XML DB? 1. No native support, 2. Some preparation steps, 3. PL/SQL knowledge requirement.
  • 24. sysco.no Using Object-Relational storage for storing XML data How-To XML Schema Registration Upgrade XML Schema with XML DB annotations Stored procedure Create stored procedure to enable one transaction support DB Adapter Prepare DB adapter to use stored procedure XQuery mapping Prepare XQuery mapping to map XML to stored procedure parameter DB Views Create DB View to expose XML data as relational
  • 25. sysco.no Upgrade XML Schema with XML DB annotations
  • 27. sysco.no Object-Relational storage perspective • XML Schema registration procedure creates and registers all database objects for storing XML data. – Every XML complex type becomes one XMLType table – For every XML complex type one Object Type is generated that validates XML data against XML schema and can be tuned • Object-Relational storage is still of XMLType and has to be treated as such – To access data as relational prepare views with XQuery syntax – INSTEAD OF trigger that will use XQuery syntax to modify underlying XMLType table
  • 28. sysco.no Database view with XQuery syntax to extract XMLType data
  • 32. sysco.no Graphical representation of XQuery mapper file that maps XML to string
  • 33. sysco.no XQuery mapper code that maps XML to string
  • 36. sysco.no Conclusion Go for it! 1. Best option for storing large XML files with the need to perform piecewise XML insert, update, delete 2. PL/SQL knowledge requirement for executing preparation steps 3. Most of preparation steps is one time job applicable to different projects 4. Full XQuery support 5. User friendly for integration developers
  • 37. sysco.no Have a nice and inspirational day! SYSCO 2016