Performance Tips for DataDirect XQuery 2.0
|
|
- Baldric Phillips
- 7 years ago
- Views:
Transcription
1 Performance Tips for DataDirect XQuery 2.0 Table of Contents Introduction... 1 Preparing Queries... 1 Query Pooling... 2 Querying Large XML Files... 2 Retrieving Query Results... 3 Avoiding Compensation in WHERE Clauses and Predicates... 4 Specifying SQL Generation Algorithms... 5 Summary... 6 Introduction DataDirect XQuery was designed for performance and scalability, which are critical to our customers. This document describes some of the performance optimizations in our XQuery implementation and provides guidelines that will make most applications perform well. Some of these guidelines may seem quite obvious to some users for instance, most JDBC programmers know they should prepare queries, and most XML programmers know that the DOM requires more memory and is slower than SAX or StAX this document is designed to be helpful to both groups. Preparing Queries The first time a query is executed, a significant percent of the total query time is spent preparing the query, which includes query optimization and generating the query plan. Because most programs invoke queries more than once, we spend the time needed to find an efficient way to process the query, even though that makes the first query slower. Fortunately, this effort does not need to be repeated. One way to ensure that a query is prepared only once in your program is to use a prepared query. (Another way is to use Query Pooling, described in the following section). To parameterize a query, use external variables to change the values used for the query each time it is invoked. For instance, the following query creates a portfolio for a given user: Example 1. A Query with an External Variable declare variable $user as xs:string external; collection('holdings')/holdings[userid=$user] In this query, $user is an external variable which must be bound before executing the query. The following XQJ code shows how to prepare the query and bind a value to $user. Example 2. Preparing a Query // Get a connection, prepare the query XQDataSource datasource = new DDXQDataSource(); datasource.setjdbcurl("jdbc:xquery:sqlserver://server1:1433;databasename=stocks"); XQConnection connection = datasource.getconnection(); XQPreparedExpression preparedexpression = connection.prepareexpression(xquerytext); // Bind variable $user to 'Jonathan' and execute preparedexpression.bindstring(new QName("user"), "Jonathan"); XQSequence xqsequence = preparedexpression.executequery(); The following code shows how to bind $user to a different value and execute prepared query again. 1
2 Example 3. Executing a Prepared Query with New Values // Bind variable $user to 'Minollo' and execute preparedexpression.bindstring(new QName("user"), "Minollo"); xqsequence = preparedexpression.executequery(); Benchmarks that measure the speed of a query should mirror the usage you expect in your program. Since most programs execute a query many times, when you design a benchmark you should prepare your query, then execute it many times. Query Pooling Prepared expressions let the programmer decide when a query should be prepared and when a prepared query is no longer needed. In programs that use hundreds or thousands of queries, it is generally better to let DataDirect XQuery keep track of which queries are actually being used, preparing them the first time they are executed, and discarding the least frequently used prepared queries if there are too many queries. This is called query pooling. In DataDirect XQuery, you enable query pooling by specifying the number of prepared queries to hold in the pool. If you configure your connection by setting properties in the Java API, you can set the MaxPooledQueries property to do this; for instance, the following code sets the size of the query pool to 20: Example 4. Enabling Query Pooling with the Java API XQDataSource datasource = new DDXQDataSource(); datasource.setjdbcurl("jdbc:xquery:sqlserver://server1:1433;databasename=stocks"); datasource.setmaxpooledqueries(20); XQConnection connection = datasource.getconnection(); If you configure your connection using a Source Configuration File, you can set the size of the query pool using the max- PooledQueries element: Example 5. Enabling Query Pooling in a Source Configuration File <?xml version="1.0" encoding="utf-8"?> <XQJConnection xmlns=" <baseuri>file:///c:/program%20files/apache%20software%20foundation/tomcat%205.5/</baseuri> <maxpooledqueries>20</maxpooledqueries> <JDBCConnection name="stocks"> <url>jdbc:xquery:sqlserver://localhost:1433</url> <sqlxmlmapping> <forest>true</forest> <identifierescaping>none</identifierescaping> </sqlxmlmapping> </JDBCConnection> </XQJConnection> Querying Large XML Files DataDirect XQuery provides several ways to query an XML file. In DataDirect XQuery 2.0, you will get better performance, especially for large XML files, if you use fn:doc() to access XML in a query. You will get much worse performance if you parse the XML to create a DOM tree, bind the DOM tree to an external variable, and query the external variable. In most XQuery processors, a large percent of the time needed to query a large XML file is spent parsing the file and creating an in-memory representation that can be queried. The in-memory representation may be many times the size of the original XML file, and Java VM out of memory errors may occur at run time. When your query addresses an XML file using fn:doc(), DataDirect XQuery uses a technique known as Document Projection 1, which allows it to create only the part of a document needed by the query. This results in dramatic improvements in memory usage and scalability, and significant improvements in performance. Using document projection, you can generally query documents many times the size of available memory. Incidentally, if your application uses XML Deployment Adapters [ it addresses these adapters using fn:doc(), and DataDirect XQuery uses Document Projection appropriately for these adapters just as it does for XML documents. 1 Document Projection is described in A. Marian and J. Simeon, "Projecting XML Documents", Proc. VLDB
3 Document projection uses the path expressions in a query to determine what parts of a document need to be built. Path expressions that use wildcards ('*') provide less information for document projection, so they should be avoided when querying large documents. For instance, in the examples below, the second path expression will perform much better for large documents. Example 6. Avoid path expressions with wildcards doc("scenario.xml")//*[role='teacher'] Example 7. Specific path expressions aid document projection doc("scenario.xml")/scenario/people/person[role='teacher'] If you parse a document to create a DOM tree, then bind the DOM tree to an external variable, you bypass DataDirect's Document Projection. This forces your program to create the entire in-memory representation of your XML document not just the part that DataDirect XQuery needs to process your queries. In addition to the savings due to Document Projection, DataDirect's internal representation of an XML document is much more efficient than most DOM implementations, so using fn:doc() gives you two substantial optimizations that you lose if you parse the document yourself. DataDirect XQuery also supports a second technique known as Streaming. Streaming processes a document sequentially, discarding portions of the document that are no longer needed to produce further query results. This reduces memory usage because only the portion of a document needed at a given stage of query processing is instantiated in memory. Streaming can reduce memory consumption, but generally involves a (relatively minor) performance penalty. Unlike document projection, streaming is not generally a performance win. Also, some queries require much of the document to be instantiated at a given time, diminishing the benefits of streaming. For some queries, however, streaming can be a substantial win, especially if the query results exceed available memory; therefore, we allow streaming to be enabled, but we do not enable it by default. To enable streaming, set the ddtek:xml-streaming option to 'yes' in the XQuery Prolog: Example 8. Enabling Streaming in the Query Prolog declare option ddtek:xml-streaming 'yes'; You can also enable streaming at the DataSource level, which means streaming will be used for all queries that use the DataSource. One way to do this is to set the Pragmas property of the DDXQDataSource class. Example 9. Enabling Streaming for a DataSource in the Java API XQDataSource datasource = new DDXQDataSource(); datasource.setjdbcurl("jdbc:xquery:sqlserver://server1:1433;databasename=stocks"); datasource.setpragmas("xml-streaming=yes"); Another way to enable streaming at the DataSource level is to specify the declaration option using a pragma element in a Source Configuration File: Example 10. Enabling Streaming for a DataSource in a Source Configuration File <?xml version="1.0" encoding="utf-8"?> <XQJConnection xmlns=" <baseuri>file:///c:/program%20files/apache%20software%20foundation/tomcat%205.5/</baseuri> <maxpooledqueries>20</maxpooledqueries> <pragma name="xml-streaming">yes</pragma> <JDBCConnection name="stocks"> <url>jdbc:xquery:sqlserver://localhost:1433</url> <sqlxmlmapping> <forest>true</forest> <identifierescaping>none</identifierescaping> </sqlxmlmapping> </JDBCConnection> </XQJConnection> Retrieving Query Results DataDirect XQuery is carefully designed to allow very large query results to be retrieved efficiently, and to allow incremental instantiation of query results, so that memory can also be used efficiently. If your query's results can be large, stream the results to an OutputStream or use SAX or StAX, so that retrieving the results does not introduce issues with memory or performance. Retrieving large query results as DOM can use large amounts of memory and significantly increase the time needed for processing queries. 3
4 If you want to write your query results to an output stream or a file, the easiest way is to use the writesequence() method of the result set to write directly to the stream, as shown in the following code. Example 11. Writing a Result Sequence to a Stream XQSequence sequence = expression.executequery(query); OutputStream os = new FileOutputStream("C:/temp/results.xml"); sequence.writesequence(os); Many XML programs process XML using SAX, and DataDirect XQuery can write query results directly to a SAX event handler, as shown in the following code. Example 12. Writing to a SAX Event Handler CustomSAXEventHandler eventhandler = new CustomSAXEventHandler(); sequence.writesequencetosax(eventhandler); For many kinds of programming, pull processing using StAX is both convenient and efficient. You can get a StAX stream from a result sequence using the getsequenceasstream() method: Example 13. Retrieving Results as a StAX Stream XMLStreamReader reader = sequence.getsequenceasstream(); Avoiding Compensation in WHERE Clauses and Predicates When a database is queried, DataDirect XQuery usually pushes queries to the database, where they are executed in SQL. However, some expressions, functions and casts are not supported by SQL, and are therefore performed in program memory, a strategy known as compensation. Unfortunately, when these operations are performed in main memory, they can not take advantage of indexes and other optimizations available in the database server. This can dramatically hurt performance. The DataDirect XQuery 2.0 User's Guide and Reference clearly states which expressions, functions, and operators are compensated. Most of the commonly used functions that are compensated fall into the following categories: String Functions that Use Pattern Matching Date and Time Functions for XML Schema Date/Time Datatypes Casts to XML Schema Datatypes not supported by the underlying database. XML whitespace functions FLWOR Expressions using the AT Clause Numeric Predicates When querying relational data, if a compensated function or operator is used in the WHERE clause of a FLWOR expression or in a predicate of a path expression, performance can suffer dramatically. For instance, in the following query, normalizespace() is compensated, and forces evaluation in memory; since this function must be called once for every row, the performance hit is very significant. Example 14. Avoid using compensated functions in a WHERE clause for $h in collection('stocks.dbo.historical')/historical where normalize-space($h/ticker) = 'AMZN' return $h One way to avoid compensation is to use a SQL function instead of a compensated XQuery function, as in the following example. 4
5 Example 15. Using a SQL function instead of a compensated function declare function ddtek-sql:rtrim($in as xs:string) as xs:string external; for $h in collection('historical')/historical where ddtek-sql:rtrim($h/ticker) = 'AMZN' return $h When querying relational data, using numeric predicates or an AT clause in a FLWOR expression forces compensation, which can dramatically impact performance, especially when it forces a join to be done in memory. Consider the following query. Example 16. Avoid AT clauses when querying relational data for $user at $i in collection("users")/users, $hold at $j in collection("holdings")/holdings return <holding> <userid>{ $i }</userid> <user>{ string($user/userid) }</user> <stockid>{ $j }</stockid> <stock>{ string($hold/stockticker) }</stock> <share>{ string($hold/shares }</share> </holding> This query uses AT clauses to identify the individual users and stocks, and these AT clauses force DataDirect XQuery to do the joins in memory instead of letting the database engine do them. Not only is this a dramatic performance hit, it's also a bad way to identify the users and holdings because rows in a relational table do not generally have a guaranteed stable order, these identifiers might change each time the query is run. It is generally much better to use the primary key from a table to identify the rows of that table. Example 17. For identifiers, rely on the primary keys from relational tables (: : userid is the primary key for collection("users") : stockticker, userid is the primary key for collection("holdings") :) for $user in collection("users")/users, $hold in collection("holdings")/holdings return <holding> <user>{ string($user/userid) }</user> <stock>{ string($hold/stockticker) }</stock> <share>{ string($hold/shares }</share> </holding> Specifying SQL Generation Algorithms The algorithms DataDirect XQuery uses to create hierarchies are optimal for creating large, complex documents, but still good for smaller documents with shallower hierarchies. If query results contain four or fewer levels of hierarchy, and your performance seems inadequate, you will sometimes get better performance if you tell DataDirect XQuery to use either outer join or sorted outer union (see the DataDirect 2.0 User's Guide and Reference for details on these algorithms). There are several ways to specify SQL generation algorithms in DataDirect XQuery: 5
6 Example 18. Specifying SQL Generation Algorithms The algorithm can be specified via the XQJ API: XQDataSource ds = new DDXQDataSource(); ds.setjdbcpragmas("sql-rewrite-algorithm=nested-loop"); The algorithm can be specified with an entry in the source configuration file: <pragma name="sql-rewrite-algorithm">outer-join</pragma> The algorithm can be specified in the XQuery prolog with a declaration option: declare option ddtek:sql-rewrite-algorithm "outer-join"; Summary DataDirect XQuery was designed for performance and scalability. It does sophisticated query optimization, supports prepared queries and query pooling, and efficiently queries large XML documents using document projection and streaming. If you follow these few simple guidelines, your DataDirect XQuery applications will usually have good performance: Prepare your queries, or use query pooling. Use fn:doc() when possible for XML input; avoid parsing XML input yourself. For large XML files, avoid wildcards ('*'), and use specific paths. For large XML files, consider streaming if memory usage is large and performance is unsatisfactory. Use SAX, StAX, or output streams for output; avoid using the DOM for output. Avoid compensation in WHERE clauses and predicates. Avoid AT clauses in FLWOR expressions that query relational tables. Avoid numeric predicates in expressions that operate on relational data. For shallow hierarchies, consider specifying a SQL generation algorithm. 6
DataDirect XQuery Technical Overview
DataDirect XQuery Technical Overview Table of Contents 1. Feature Overview... 2 2. Relational Database Support... 3 3. Performance and Scalability for Relational Data... 3 4. XML Input and Output... 4
More informationData XML and XQuery A language that can combine and transform data
Data XML and XQuery A language that can combine and transform data John de Longa Solutions Architect DataDirect technologies john.de.longa@datadirect.com Mobile +44 (0)7710 901501 Data integration through
More informationHigh Performance XML Data Retrieval
High Performance XML Data Retrieval Mark V. Scardina Jinyu Wang Group Product Manager & XML Evangelist Oracle Corporation Senior Product Manager Oracle Corporation Agenda Why XPath for Data Retrieval?
More informationDataDirect XQuery and the Insurance Industry
w h i t e p a p e r > PROGRESS DataDirect XQuery and the Insurance Industry Table of Contents Preface.................................... 1 What Is DataDirect XQuery 1 About the ACORD Messages in This
More informationSQL Server and MicroStrategy: Functional Overview Including Recommendations for Performance Optimization. MicroStrategy World 2016
SQL Server and MicroStrategy: Functional Overview Including Recommendations for Performance Optimization MicroStrategy World 2016 Technical Integration with Microsoft SQL Server Microsoft SQL Server is
More informationHow To Use X Query For Data Collection
TECHNICAL PAPER BUILDING XQUERY BASED WEB SERVICE AGGREGATION AND REPORTING APPLICATIONS TABLE OF CONTENTS Introduction... 1 Scenario... 1 Writing the solution in XQuery... 3 Achieving the result... 6
More informationABSTRACT 1. INTRODUCTION. Kamil Bajda-Pawlikowski kbajda@cs.yale.edu
Kamil Bajda-Pawlikowski kbajda@cs.yale.edu Querying RDF data stored in DBMS: SPARQL to SQL Conversion Yale University technical report #1409 ABSTRACT This paper discusses the design and implementation
More informationConcrete uses of XML in software development and data analysis.
Concrete uses of XML in software development and data analysis. S. Patton LBNL, Berkeley, CA 94720, USA XML is now becoming an industry standard for data description and exchange. Despite this there are
More informationCourse 6232A: Implementing a Microsoft SQL Server 2008 Database
Course 6232A: Implementing a Microsoft SQL Server 2008 Database About this Course This five-day instructor-led course provides students with the knowledge and skills to implement a Microsoft SQL Server
More informationSAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration
More informationUnderstanding SQL Server Execution Plans. Klaus Aschenbrenner Independent SQL Server Consultant SQLpassion.at Twitter: @Aschenbrenner
Understanding SQL Server Execution Plans Klaus Aschenbrenner Independent SQL Server Consultant SQLpassion.at Twitter: @Aschenbrenner About me Independent SQL Server Consultant International Speaker, Author
More informationThe end. Carl Nettelblad 2015-06-04
The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan
More informationRational Application Developer Performance Tips Introduction
Rational Application Developer Performance Tips Introduction This article contains a series of hints and tips that you can use to improve the performance of the Rational Application Developer. This article
More informationIn this session, we use the table ZZTELE with approx. 115,000 records for the examples. The primary key is defined on the columns NAME,VORNAME,STR
1 2 2 3 In this session, we use the table ZZTELE with approx. 115,000 records for the examples. The primary key is defined on the columns NAME,VORNAME,STR The uniqueness of the primary key ensures that
More informationProcessing XML with Java A Performance Benchmark
Processing XML with Java A Performance Benchmark Bruno Oliveira 1,Vasco Santos 1 and Orlando Belo 2 1 CIICESI, School of Management and Technology, Polytechnic of Porto Felgueiras, PORTUGAL {bmo,vsantos}@estgf.ipp.pt
More informationNew Features in Oracle Application Express 4.1. Oracle Application Express Websheets. Oracle Database Cloud Service
Date and Time- Europe/Middle East/Africa Tuesday June 12, 2012 09:00 13:00 BST 10:00 14:00 CEST 12:00 16:00 GST Corresponding UTC (GMT) 08:00:00 Agenda Time Track and Keynote/Session Title 9:00 AM Keynote
More informationSmooks Dev Tools Reference Guide. Version: 1.1.0.GA
Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2
More informationMS SQL Performance (Tuning) Best Practices:
MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware
More informationSQL Server Query Tuning
SQL Server Query Tuning Klaus Aschenbrenner Independent SQL Server Consultant SQLpassion.at Twitter: @Aschenbrenner About me Independent SQL Server Consultant International Speaker, Author Pro SQL Server
More informationJava Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
More informationOracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
More informationColdFusion 8. Performance Tuning, Multi-Instance Management and Clustering. Sven Ramuschkat MAX 2008 Milan
ColdFusion 8 Performance Tuning, Multi-Instance Management and Clustering Sven Ramuschkat MAX 2008 Milan About me Sven Ramuschkat CTO of Herrlich & Ramuschkat GmbH ColdFusion since Version 3.1 Authorized
More informationMyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC
MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL
More informationCourse Number: IAC-SOFT-WDAD Web Design and Application Development
Course Number: IAC-SOFT-WDAD Web Design and Application Development Session 1 (10 Hours) Client Side Scripting Session 2 (10 Hours) Server Side Scripting - I Session 3 (10 hours) Database Session 4 (10
More informationToad for Oracle 8.6 SQL Tuning
Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to
More informationSQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases
SQL Server SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases SQL Server 100 Success Secrets Copyright 2008 Notice of rights All
More informationDatabase Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
More informationImproving Maintenance and Performance of SQL queries
PaperCC06 Improving Maintenance and Performance of SQL queries Bas van Bakel, OCS Consulting, Rosmalen, The Netherlands Rick Pagie, OCS Consulting, Rosmalen, The Netherlands ABSTRACT Almost all programmers
More informationTechnologies for a CERIF XML based CRIS
Technologies for a CERIF XML based CRIS Stefan Bärisch GESIS-IZ, Bonn, Germany Abstract The use of XML as a primary storage format as opposed to data exchange raises a number of questions regarding the
More informationUsing the DataDirect Connect for JDBC Drivers with WebLogic 8.1
Using the DataDirect Connect for JDBC Drivers with WebLogic 8.1 Introduction This document explains the steps required to use the DataDirect Connect for JDBC drivers with the WebLogic Application Server
More informationStoring Measurement Data
Storing Measurement Data File I/O records or reads data in a file. A typical file I/O operation involves the following process. 1. Create or open a file. Indicate where an existing file resides or where
More informationManaging Big Data with Hadoop & Vertica. A look at integration between the Cloudera distribution for Hadoop and the Vertica Analytic Database
Managing Big Data with Hadoop & Vertica A look at integration between the Cloudera distribution for Hadoop and the Vertica Analytic Database Copyright Vertica Systems, Inc. October 2009 Cloudera and Vertica
More informationOracle Database 11g: SQL Tuning Workshop
Oracle University Contact Us: + 38516306373 Oracle Database 11g: SQL Tuning Workshop Duration: 3 Days What you will learn This Oracle Database 11g: SQL Tuning Workshop Release 2 training assists database
More informationLesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
More informationCloudera Certified Developer for Apache Hadoop
Cloudera CCD-333 Cloudera Certified Developer for Apache Hadoop Version: 5.6 QUESTION NO: 1 Cloudera CCD-333 Exam What is a SequenceFile? A. A SequenceFile contains a binary encoding of an arbitrary number
More informationVisual Basic. murach's TRAINING & REFERENCE
TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 murachbooks@murach.com www.murach.com Contents Introduction
More informationORACLE DATABASE 10G ENTERPRISE EDITION
ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.
More informationUnified XML/relational storage March 2005. The IBM approach to unified XML/relational databases
March 2005 The IBM approach to unified XML/relational databases Page 2 Contents 2 What is native XML storage? 3 What options are available today? 3 Shred 5 CLOB 5 BLOB (pseudo native) 6 True native 7 The
More informationEnterprise Performance Tuning: Best Practices with SQL Server 2008 Analysis Services. By Ajay Goyal Consultant Scalability Experts, Inc.
Enterprise Performance Tuning: Best Practices with SQL Server 2008 Analysis Services By Ajay Goyal Consultant Scalability Experts, Inc. June 2009 Recommendations presented in this document should be thoroughly
More informationOracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
More informationZooKeeper. Table of contents
by Table of contents 1 ZooKeeper: A Distributed Coordination Service for Distributed Applications... 2 1.1 Design Goals...2 1.2 Data model and the hierarchical namespace...3 1.3 Nodes and ephemeral nodes...
More informationEmpirical study of performance of data binding in ASP.NET web applications
Empirical study of performance of data binding in ASP.NET web applications Toni Stojanovski 1, Marko Vučković 1, and Ivan Velinov 1 1 Faculty of Informatics, European University, Skopje, Republic of Macedonia,
More informationXML Programming with PHP and Ajax
http://www.db2mag.com/story/showarticle.jhtml;jsessionid=bgwvbccenyvw2qsndlpskh0cjunn2jvn?articleid=191600027 XML Programming with PHP and Ajax By Hardeep Singh Your knowledge of popular programming languages
More informationOracle SQL. Course Summary. Duration. Objectives
Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data
More informationKonyOne Server Prerequisites _ MS SQL Server
KonyOne Server Prerequisites _ MS SQL Server KonyOne Platform Release 5.0 Copyright 2012-2013 Kony Solutions, Inc. All Rights Reserved. Page 1 of 13 Copyright 2012-2013 by Kony Solutions, Inc. All rights
More informationWhite Paper November 2015. Technical Comparison of Perspectium Replicator vs Traditional Enterprise Service Buses
White Paper November 2015 Technical Comparison of Perspectium Replicator vs Traditional Enterprise Service Buses Our Evolutionary Approach to Integration With the proliferation of SaaS adoption, a gap
More informationORACLE OLAP. Oracle OLAP is embedded in the Oracle Database kernel and runs in the same database process
ORACLE OLAP KEY FEATURES AND BENEFITS FAST ANSWERS TO TOUGH QUESTIONS EASILY KEY FEATURES & BENEFITS World class analytic engine Superior query performance Simple SQL access to advanced analytics Enhanced
More informationAdvanced Oracle SQL Tuning
Advanced Oracle SQL Tuning Seminar content technical details 1) Understanding Execution Plans In this part you will learn how exactly Oracle executes SQL execution plans. Instead of describing on PowerPoint
More informationJava EE Web Development Course Program
Java EE Web Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive types, variables, basic operators, expressions,
More informationXQuery and the E-xml Component suite
An Introduction to the e-xml Data Integration Suite Georges Gardarin, Antoine Mensch, Anthony Tomasic e-xmlmedia, 29 Avenue du Général Leclerc, 92340 Bourg La Reine, France georges.gardarin@e-xmlmedia.fr
More informationTechnology WHITE PAPER
Technology WHITE PAPER What We Do Neota Logic builds software with which the knowledge of experts can be delivered in an operationally useful form as applications embedded in business systems or consulted
More informationD61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
More informationUsing the DataDirect Connect for JDBC Drivers with the Sun Java System Application Server
Using the DataDirect Connect for JDBC Drivers with the Sun Java System Application Server Introduction This document explains the steps required to use the DataDirect Connect for JDBC drivers with the
More informationOracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to
More informationAn XML Based Data Exchange Model for Power System Studies
ARI The Bulletin of the Istanbul Technical University VOLUME 54, NUMBER 2 Communicated by Sondan Durukanoğlu Feyiz An XML Based Data Exchange Model for Power System Studies Hasan Dağ Department of Electrical
More informationObject Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar
Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs
More informationWhite Paper. How Streaming Data Analytics Enables Real-Time Decisions
White Paper How Streaming Data Analytics Enables Real-Time Decisions Contents Introduction... 1 What Is Streaming Analytics?... 1 How Does SAS Event Stream Processing Work?... 2 Overview...2 Event Stream
More informationSQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach
TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com murachbooks@murach.com Expanded
More informationAchieving Database Interoperability Across Data Access APIs through SQL Up-leveling
Achieving Database Interoperability Across Data Access APIs through SQL Up-leveling SQL up-leveling provides the capability to write a SQL statement that can be executed across multiple databases, regardless
More informationPerformance Implications of Various Cursor Types in Microsoft SQL Server. By: Edward Whalen Performance Tuning Corporation
Performance Implications of Various Cursor Types in Microsoft SQL Server By: Edward Whalen Performance Tuning Corporation INTRODUCTION There are a number of different types of cursors that can be created
More informationCondusiv s V-locity Server Boosts Performance of SQL Server 2012 by 55%
openbench Labs Executive Briefing: April 19, 2013 Condusiv s Server Boosts Performance of SQL Server 2012 by 55% Optimizing I/O for Increased Throughput and Reduced Latency on Physical Servers 01 Executive
More informationDeveloping Microsoft SQL Server Databases MOC 20464
Developing Microsoft SQL Server Databases MOC 20464 Course Outline Module 1: Introduction to Database Development This module introduces database development and the key tasks that a database developer
More informationOracle Database: Program with PL/SQL
Oracle University Contact Us: +52 1 55 8525 3225 Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn View a newer version of this course This Oracle Database: Program with PL/SQL
More informationPerformance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit.
Is your database application experiencing poor response time, scalability problems, and too many deadlocks or poor application performance? One or a combination of zparms, database design and application
More informationGeodatabase Programming with SQL
DevSummit DC February 11, 2015 Washington, DC Geodatabase Programming with SQL Craig Gillgrass Assumptions Basic knowledge of SQL and relational databases Basic knowledge of the Geodatabase We ll hold
More informationCASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1
CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level -ORACLE TIMESTEN 11gR1 CASE STUDY Oracle TimesTen In-Memory Database and Shared Disk HA Implementation
More informationDeveloping and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET
Unit 40: Developing and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET Learning Outcomes A candidate following a programme of learning leading to this
More informationXML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
More informationQuerying Combined Cloud-Based and Relational Databases
Querying Combined Cloud-Based and Relational Databases Minpeng Zhu and Tore Risch Department of Information Technology, Uppsala University, Sweden Minpeng.Zhu@it.uu.se Tore.Risch@it.uu.se Abstract An increasing
More informationIntroduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
More informationSOLUTION BRIEF. Advanced ODBC and JDBC Access to Salesforce Data. www.datadirect.com
SOLUTION BRIEF Advanced ODBC and JDBC Access to Salesforce Data 2 CLOUD DATA ACCESS In the terrestrial world of enterprise computing, organizations depend on advanced JDBC and ODBC technologies to provide
More informationBeginning C# 5.0. Databases. Vidya Vrat Agarwal. Second Edition
Beginning C# 5.0 Databases Second Edition Vidya Vrat Agarwal Contents J About the Author About the Technical Reviewer Acknowledgments Introduction xviii xix xx xxi Part I: Understanding Tools and Fundamentals
More informationHypertable Architecture Overview
WHITE PAPER - MARCH 2012 Hypertable Architecture Overview Hypertable is an open source, scalable NoSQL database modeled after Bigtable, Google s proprietary scalable database. It is written in C++ for
More informationMyOra 3.5. User Guide. SQL Tool for Oracle. Kris Murthy
MyOra 3.5 SQL Tool for Oracle User Guide Kris Murthy Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL Editor...
More informationOLH: Oracle Loader for Hadoop OSCH: Oracle SQL Connector for Hadoop Distributed File System (HDFS)
Use Data from a Hadoop Cluster with Oracle Database Hands-On Lab Lab Structure Acronyms: OLH: Oracle Loader for Hadoop OSCH: Oracle SQL Connector for Hadoop Distributed File System (HDFS) All files are
More informationRealization of Inventory Databases and Object-Relational Mapping for the Common Information Model
Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model Department of Physics and Technology, University of Bergen. November 8, 2011 Systems and Virtualization
More informationSQL Anywhere 12 New Features Summary
SQL Anywhere 12 WHITE PAPER www.sybase.com/sqlanywhere Contents: Introduction... 2 Out of Box Performance... 3 Automatic Tuning of Server Threads... 3 Column Statistics Management... 3 Improved Remote
More informationTerms and Definitions for CMS Administrators, Architects, and Developers
Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page
More informationBusiness Application Services Testing
Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load
More informationAn Approach to Translate XSLT into XQuery
An Approach to Translate XSLT into XQuery Albin Laga, Praveen Madiraju and Darrel A. Mazzari Department of Mathematics, Statistics, and Computer Science Marquette University P.O. Box 1881, Milwaukee, WI
More informationOracle Database 11g: SQL Tuning Workshop Release 2
Oracle University Contact Us: 1 800 005 453 Oracle Database 11g: SQL Tuning Workshop Release 2 Duration: 3 Days What you will learn This course assists database developers, DBAs, and SQL developers to
More informationThe EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
More informationMaster of Sciences in Informatics Engineering Programming Paradigms 2005/2006. Final Examination. January 24 th, 2006
Master of Sciences in Informatics Engineering Programming Paradigms 2005/2006 Final Examination January 24 th, 2006 NAME: Please read all instructions carefully before start answering. The exam will be
More informationJAVA r VOLUME II-ADVANCED FEATURES. e^i v it;
..ui. : ' :>' JAVA r VOLUME II-ADVANCED FEATURES EIGHTH EDITION 'r.", -*U'.- I' -J L."'.!'.;._ ii-.ni CAY S. HORSTMANN GARY CORNELL It.. 1 rlli!>*-
More informationChapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases
More informationScaling Sitecore for Load
Scaling Sitecore for Load introduction In 2012, SolutionSet rebuilt the California Lottery website from the ground up and learned a great deal about building a Sitecore infrastructure to withstand targeted
More informationTopics in basic DBMS course
Topics in basic DBMS course Database design Transaction processing Relational query languages (SQL), calculus, and algebra DBMS APIs Database tuning (physical database design) Basic query processing (ch
More informationDeferred node-copying scheme for XQuery processors
Deferred node-copying scheme for XQuery processors Jan Kurš and Jan Vraný Software Engineering Group, FIT ČVUT, Kolejn 550/2, 160 00, Prague, Czech Republic kurs.jan@post.cz, jan.vrany@fit.cvut.cz Abstract.
More informationFirewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
More informationHow To Script Administrative Tasks In Marklogic Server
Scripting Administrative Tasks Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Scripting
More informationMonitoring HP OO 10. Overview. Available Tools. HP OO Community Guides
HP OO Community Guides Monitoring HP OO 10 This document describes the specifications of components we want to monitor, and the means to monitor them, in order to achieve effective monitoring of HP Operations
More informationSQL Query Evaluation. Winter 2006-2007 Lecture 23
SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution
More informationChapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications
Chapter 13 SQL Programming Introduction to SQL Programming Techniques Database applications Host language Java, C/C++/C#, COBOL, or some other programming language Data sublanguage SQL SQL standards Continually
More informationJava 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
More informationSpecialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools A. NAME OF INSTITUTE Centre For Development of Advanced Computing B. NAME/TITLE OF THE COURSE C. COURSE DATES WITH DURATION
More informationWhat is Data Virtualization? Rick F. van der Lans, R20/Consultancy
What is Data Virtualization? by Rick F. van der Lans, R20/Consultancy August 2011 Introduction Data virtualization is receiving more and more attention in the IT industry, especially from those interested
More informationManaging large sound databases using Mpeg7
Max Jacob 1 1 Institut de Recherche et Coordination Acoustique/Musique (IRCAM), place Igor Stravinsky 1, 75003, Paris, France Correspondence should be addressed to Max Jacob (max.jacob@ircam.fr) ABSTRACT
More informationWhite Paper. Optimizing the Performance Of MySQL Cluster
White Paper Optimizing the Performance Of MySQL Cluster Table of Contents Introduction and Background Information... 2 Optimal Applications for MySQL Cluster... 3 Identifying the Performance Issues.....
More informationPerformance Monitoring API for Java Enterprise Applications
Performance Monitoring API for Java Enterprise Applications Purpose Perfmon4j has been successfully deployed in hundreds of production java systems over the last 5 years. It has proven to be a highly successful
More informationDeveloping XML Solutions with JavaServer Pages Technology
Developing XML Solutions with JavaServer Pages Technology XML (extensible Markup Language) is a set of syntax rules and guidelines for defining text-based markup languages. XML languages have a number
More information