Database Farming For Improved Performance Presented By: Russell Yong Supervisor: Prof Wentworth.

Slides:



Advertisements
Similar presentations
Michael Pizzo Software Architect Data Programmability Microsoft Corporation.
Advertisements

Database Architectures and the Web
By Chris Pascucci and FLF
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Chapter 10 ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a programming interface to access data in a database.
Multiple Tiers in Action
.NET Mobile Application Development Data in Distributed Systems Accessing Data with.NET.
ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET.
Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition.
Programming in ADO.NET: Data-Centric Applications and ADO.NET Original copyright by Microsoft, 2002, with minor modifications by Dan Eaves, 2005.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Objective In this session we will discuss about : What is ADO. NET ?
Jeremy Boyd Director – Mindscape MSDN Regional Director
Query Processing in Mobile Databases
Dynamics AX Technical Overview Application Architecture Dynamics AX Technical Overview.
Chapter 8 Binding Data to Web Controls. ASP.NET 2.0, Third Edition2.
Computer Science 317 Database Management Introduction to Web Access to Databases.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Fundamentals of Information Systems, Fifth Edition
ADO.NET A2 Teacher Up skilling LECTURE 3. What’s to come today? ADO.NET What is ADO.NET? ADO.NET Objects SqlConnection SqlCommand SqlDataReader DataSet.
2. Database System Concepts and Architecture
Needs for Accessing Database To make your web site more dynamic and maintainable, you can display information on your web pages that are retrieved from.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-1 David M. Kroenke’s Chapter Thirteen: XML and ADO.NET Part Four Database.
Databases and Data Access  Introduction to ADO.NET  ADO.NET objects  ADP.NET namespaces  Differences between ADO and ADO.NET.
.NET Data Access and Manipulation ADO.NET. Overview What is ADO.NET? Disconnected vs. connected data access models ADO.NET Architecture ADO.NET Core Objects.
Universal Data Access and OLE DB. Customer Requirements for Data Access Technologies High-Performance access to data Reliability Vendor Commitment Broad.
Database, SQL, and ADO.NET- Part 1 Session 11 Mata kuliah: M0874 – Programming II Tahun: 2010.
Fundamentals of Information Systems, Seventh Edition 1 Chapter 3 Data Centers, and Business Intelligence.
File Systems and Databases Lecture 1. Files and Databases File: A collection of records or documents dealing with one organization, person, area or subject.
1.file. 2.database. 3.entity. 4.record. 5.attribute. When working with a database, a group of related fields comprises a(n)…
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
ASP.NET Rina Zviel-Girshin Lecture 5
Module 9: Accessing Relational Data Using Microsoft Visual Studio.NET.
Module 7: Accessing Data by Using ADO.NET
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Introduction to ADO.NET ADO.NET - Lesson 01  Training time: 10 minutes  Author:
3-Tier Client/Server Internet Example. TIER 1 - User interface and navigation Labeled Tier 1 in the following graphic, this layer comprises the entire.
Presented by Joseph J. Sarna Jr. JJS Systems, LLC
ADO.NET. ADO.NET is a new, improved, and greatly expanded version of ADO that was developed for the Microsoft.NET initiative It incorporates all of the.
An Introduction to ADO.Net Marmagna Desai.NET Seminar, Fall-2003.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Why ADO.NET Not your father’s Data Access.
The Problems HTTP is disconnected So many database vendors Create a simple consistent versatile interface on the data Look at ADO.NET classes OleDb SQL.
Why ADO.NET Not your father’s Data Access.
HNDIT Rapid Application Development
1 Copyright © 2005, Oracle. All rights reserved. Following a Tuning Methodology.
Module 4 Introduction ADO.NET.
An Investigation into Database Farming for Improved Performance Presented by: Supervisor: Russell Yong Prof Peter Wentworth.
Introduction Because database applications today reside in a complicated environment, various standards have been developed for accessing database servers.
Module 2: Using ADO.NET to Access Data. Overview ADO.NET Architecture Creating an Application That Uses ADO.NET to Access Data Changing Database Records.
Data Access. ADO.NET ADO.NET is the primary library for building database solutions within the.NET Framework. ADO.NET does not replace ADO. ADO and OLEDB.
ADO .NET from. ADO .NET from “ADO .Net” Evolution/History of ADO.NET MICROSOFT .NET “ADO .Net” Evolution/History of ADO.NET History: Most applications.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
.NET Data Access and Manipulation
Generating XML Data from a Database Eugenia Fernandez IUPUI.
C# 1 CSC 298 ADO.NET. C# 2 ADO.NET  A data access technology that maps very well to the world of the web (disconnected architecture)  data is retrieved.
ODP V2 Data Provider overview. 22 Scope Data Provider provides access to data and metadata of the local data systems. Data Provider is a wrapper, installed.
Fundamental of Database Systems
ASP.NET Programming with C# and SQL Server First Edition
Chapter 2 Database System Concepts and Architecture
Database System Concepts and Architecture
Chris Menegay Sr. Consultant TECHSYS Business Solutions
Database.
Tiers vs. Layers.
Database Objects 1/12/2019 See scm-intranet.
Lecture 1 File Systems and Databases.
Chapter 10 ADO.
PROG Advanced Web Apps 4/13/2019 Programming Data Pages Wendi Jollymore, ACES.
OBJECT STORAGE AND INTEROPERABILITY
Presentation transcript:

Database Farming For Improved Performance Presented By: Russell Yong Supervisor: Prof Wentworth

Problem at Hand  Database solution for a large corporation  Expensive software (Oracle Database Enterprise Edition +- US $40k)  Top-end hardware  Microsoft’s SQL Server 2000  Not same level of confidence

Solution  Adapt the popular technique of backend server farming  Apply it to databases – to create a high performance database web service  Backend setup being invisible to the user

Hypothesis  Technique will create a more cost effective database farm  Eradicate some problems associated with dealing with large databases

Our Plan Standard 3-Tier Model

Our Plan Adapted 3-Tier Model

Conceptually Web-server Farm of DatabasesWeb ServiceClients Pool of Connections http request DataSet Multiple Threads of Execution DataSet

DataSet Object  In-memory cache of data  Comparable to a mini-database  Multiple tables  Relationships  Constraints

DataSet Object  Easily serialized into and back out of XML  Structure (tables, columns, etc) described in an XML schema  View and manipulate using either relational or XML methods (unified programming model)  Compatible with other XML speaking applications

DataSet Object  Disconnected Model  Sub-queries fill individual datasets  Collector Object  Collect and merge individual sub-queries  Returned to the client

Typed DataSet  Has an implicit schema  Allows for more efficient filling  Faster access  Created via Form Designer, programmatically, or at run time via XSD

XSD File

Implications for Web-Applications  Resource sensitive approach  “Bulk” approach to communication  Access local cache  Ideal for non-volatile data

Implications for Web-Applications  Optimistic concurrency model  Most applications ?  Improved performance (no locking)  No persistent connection required (resources)  Minimize required server resources  Connections used more effectively  Exceptions are dealt with accordingly

Our Database  Excess of “10 Million Records”  Network traffic information  Partitioned in 10 segments  Initial difficulty  Distributed over 3 machines (SQL Server 2000)  Simulating a completely distributed environment

Data Providers  SQL Server.NET Data Providers  SqlConnection  SqlDataAdapter  SqlCommand  OLE DB.NET Data Providers  ODBC.NET Data Providers (separate download)

Data Providers

Our Framework

MyQueryHandler  Farming Layer  An instance for each individual user query  Distributor (spawns threads)  Collector, merging DataSets as they return  All encompassing DataSet  Pluggable

MyThreadHandler  Represents individual threads  Fills separate DataSets for each of the partitions in the farm  Returns DataSet to QueryHandler  Pluggable

Specifying Queries  Couple queries hard-coded  Defined according to a parameter  Future Extensions…

Tests and Results  Ran queries 100 times  Gauge mean  Filter out any possible influencing factors  Influencing factors  Network traffic  Active machines

Testing and Results  Simple query  “SELECT * FROM ping WHERE (ip = ) OR (ip = ) OR (ip = ' ') OR (ip = ' ')”  Returning rows  Farming Method  Averaged 35 seconds  Normal Method  Averaged 94 seconds

Testing and Results “SELECT * FROM ping WHERE (ip = ) OR (ip = ) OR (ip = ' ') OR (ip = ' ')”

Hypothesis  Technique will create a more cost effective database farm  Technique will create a more cost effective database farm  Eradicate some problems associated with dealing with large databases  Eradicate some problems associated with dealing with large databases

Possible Extensions  Full access to DB via HTTPS  Front-end  Query construction wizard  Investigate partitioning techniques  “Intelligent” querying

Questions ?