Page 1JSOC Review – 17 March 2005 DRMS Core System Karen Tian

Slides:



Advertisements
Similar presentations
Tuning: overview Rewrite SQL (Leccotech)Leccotech Create Index Redefine Main memory structures (SGA in Oracle) Change the Block Size Materialized Views,
Advertisements

Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Transaction.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 16 – Intro. to Transactions.
Cacti Workshop Tony Roman Agenda What is Cacti? The Origins of Cacti Large Installation Considerations Automation The Current.
GGF Toronto Spitfire A Relational DB Service for the Grid Peter Z. Kunszt European DataGrid Data Management CERN Database Group.
Page 1JSOC Review – 17 March 2005 Database Servers Challenges A very large database on the order of a few TB -- We can't copy the whole database in real.
1 - Oracle Server Architecture Overview
Memory Management 2010.
Designing for Performance Announcement: The 3-rd class test is coming up soon. Open book. It will cover the chapter on Design Theory of Relational Databases.
Homework 2 In the docs folder of your Berkeley DB, have a careful look at documentation on how to configure BDB in main memory. In the docs folder of your.
Page 1JSOC Review – 17 March 2005 Database Maintenance Karen Tian
1 External Sorting for Query Processing Yanlei Diao UMass Amherst Feb 27, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Chapter 8 Physical Database Design. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Overview of Physical Database.
Managing Concurrency in Web Applications. DBI 2007 HUJI-CS 2 Intersection of Concurrent Accesses A fundamental property of Web sites: Concurrent accesses.
Distributed Databases
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Phil Brewster  One of the first steps – identify the proper data types  Decide how data (in columns) should be stored and used.
© 2011 IBM Corporation 11 April 2011 IDS Architecture.
Selecting and Implementing An Embedded Database System Presented by Jeff Webb March 2005 Article written by Michael Olson IEEE Software, 2000.
Module 1: Introduction to Microsoft SQL Server 7.0.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
LSC Segment Database Duncan Brown Caltech LIGO-G Z.
Sofia, Bulgaria | 9-10 October SQL Server 2005 High Availability for developers Vladimir Tchalkov Crossroad Ltd. Vladimir Tchalkov Crossroad Ltd.
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
DBMS Transactions and Rollback Recovery Helia / Martti Laiho.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
Physical Database Design & Performance. Optimizing for Query Performance For DBs with high retrieval traffic as compared to maintenance traffic, optimizing.
TEMPDB Capacity Planning. Indexing Advantages – Increases performance – SQL server do not have to search all the rows. – Performance, Concurrency, Required.
© Dennis Shasha, Philippe Bonnet – 2013 Communicating with the Outside.
Architecture Rajesh. Components of Database Engine.
1099 Why Use InterBase? Bill Todd The Database Group, Inc.
1 Oracle Architectural Components. 1-2 Objectives Listing the structures involved in connecting a user to an Oracle server Listing the stages in processing.
MPE/iX 7.5 and HP e3000 PA-8700 Performance Upgrade Updates Kevin Cooper Hewlett-Packard
HANDLING FAILURES. Warning This is a first draft I welcome your corrections.
DBMS Implementation Chapter 6.4 V3.0 Napier University Dr Gordon Russell.
DB2. 2 Copyright © 2005, Infosys Technologies Ltd ER/CORP/CRS/DB01/003 Version No:2.0a Session Plan Introduction to Concurrency Control Different types.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Page 1LWS Teams Day JSOC Overview HMI-AIA Joint Science Operations Center Science Data Processing a.k.a. JSOC-SDP Overview.
By Shanna Epstein IS 257 September 16, Cnet.com Provides information, tools, and advice to help customers decide what to buy and how to get the.
Union Catalog Architecture Tsach Moshkovits, Development Team Leader Olybris, Ex Libris Seminar 2005 Kos, April 2005.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
Page 1JSOC Overview August 2007 HMI Status HMI is virtually done. –Virtually  similar to but not in fact –Front window issue resolved, flight window now.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
Chapter 8 Physical Database Design. Outline Overview of Physical Database Design Inputs of Physical Database Design File Structures Query Optimization.
CS 540 Database Management Systems
22 Copyright © 2008, Oracle. All rights reserved. Multi-User Development.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 7 – Buffer Management.
DMBS Internals I February 24 th, What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 16 – Intro. to Transactions.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
20 Copyright © 2006, Oracle. All rights reserved. Best Practices and Operational Considerations.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Proactive Index Design Using QUBE Lauri Pietarinen Courtesy of Tapio Lahdenmäki November 2010 IDUG 2010.
Bigtable A Distributed Storage System for Structured Data.
Oracle Database Architectural Components
Chapter Name Replication and Mobile Databases Transparencies
Lecture 16: Data Storage Wednesday, November 6, 2006.
Informatica PowerCenter Performance Tuning Tips
CSE-291 (Cloud Computing) Fall 2016
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
Introduction to Operating Systems
TEMPDB – INTERNALS AND USAGE
JSOC Pipeline Processing System Components
Database System Architectures
Presentation transcript:

Page 1JSOC Review – 17 March 2005 DRMS Core System Karen Tian

Page 2JSOC Review – November 5, 2007 Requirements and usage status Requirements –1TB per year –Thousands of transactions per day –… Stable system Usage started in late 2005 Current users –SID project –MDI data: export –HMI ground test data: ingest –… DB size –SUMS+DRMS: 11GB –DRMS: > 7.7M records (hmi ground: 7.2M records)

Page 3JSOC Review – November 5, 2007 DRMS software structure SUMS thread in out SUMS DB client 1 client 2 client n signal thread sockets drms_server thread pool

Page 4JSOC Review – November 5, 2007 A typical module Select input drms_open_records() Processing/analysis drms_getkey_*() drms_segment_read() Write output drms_create_records() or drms_clone_records() drms_setkey_*() drms_segment_write() drms_close_records()

Page 5JSOC Review – November 5, 2007 A typical module Select input drms_open_records() Processing/analysis drms_getkey_*() drms_segment_read() Write output drms_create_records() or drms_clone_records() drms_setkey_*() drms_segment_write() drms_close_records()

Page 6JSOC Review – November 5, 2007 DB performance evaluation Query speed –Table size (both width and length) –Number of records in a series 150M records Fraction of a second for query on indexed keyword, >30 minutes on non-indexed keyword Performance depending on hardware (disk speed, etc) Avoid such big tables: split into smaller tables Insert speed: bulk better than individual Concurrency –No problem yet with table locking –Performance depends on mix Index type –Order matters in a composite index Better way to implement prime key: currently composite index –Additional indices for selected keywords Dataset names GROUP BY, ORDER BY –GROUP BY to select the most recent version –ORDER BY to sort according to prime key –Upgrade PostgreSQL to get better sorting performance –Better query formulation –Better table design? Should be completely transparent to user –Effect of index

Page 7JSOC Review – November 5, 2007 Records in memory Current implementation use one query to gets all keywords –Efficient for DB query – Inefficient for memory usage, especially if interested in A subset of keywords of a record A column of keywords from a set of records

Page 8JSOC Review – November 5, 2007 A typical module Select input drms_open_records() Processing/analysis drms_getkey_*() drms_segment_read() Write output drms_create_records() or drms_clone_records() drms_setkey_*() drms_segment_write() drms_close_records()

Page 9JSOC Review – November 5, 2007 Processing/Analysis Warning against long running ( >1 day) transaction –Drain on system resources –Vacuum can not deleting dead rows –Replication tool Slony-I can not start when there are some transactions open –No checkpoint available yet Difficulty in committing in the middle of a module because SUs are not committed until the end of a session Application needs to break up jobs into manageable pieces

Page 10JSOC Review – November 5, 2007 A typical module Select input drms_open_records() Processing/analysis drms_getkey_*() drms_segment_read() Write output drms_create_records() or drms_clone_records() drms_setkey_*() drms_segment_write() drms_close_records()

Page 11JSOC Review – November 5, 2007 Write output Transient records: intermediate results, removed at the end of a session –current implementation leaves dead rows in the series table –alternative: CREATE TEMPORARY TABLE No dead rows to vacuum Added complexity for drms_open_records() Modify series definition, e.g., add keywords, etc Updatable records? –Currently a DRMS record can only be written into once. To update such a record, one first makes a clone of it, then update the clone The clone and the original share the same prime keys Query APIs automatically pick up the latest version unless told otherwise –Would like to allow records to be updated within the same session Drawback: upset our vacuum plan With insert only, DRMS tables requires minimum vacuum. Allowing records to be updatable even within the same session leaves dead rows behind, which makes DRMS tables candidates for vacuum

Page 12JSOC Review – November 5, 2007 Remote DRMS and SUMS Remote DRMS –Remote DB replicates a subset of HMI/AIA data series Subscription based Slony-I logging shipping –Minimum customization of DRMS code –Stanford may subscribe to series originated from remote sites Remote SUMS –Use higher bits in SUID to identify SUMS sites if local SUM_get(SUID) elsif cached global SUID -> local SUID; SUM_get(local SUID) else fetch from remote SUMS asynchronously; ingest into local SUMS

Page 13JSOC Review – November 5, 2007 Export tools DRMS interacts with SUMS –drms_open_records() does not stage SU's –Head-of-line blocking queue design Bunch multiple SUM_get() requests into one Need better polling mechanism Export: stage data only –SU staging task takes time, easily a few hours, resulting in long running transactions if run as modules –Need to provide a non-blocking alternative: either through direct SUMS connection or allow staging option in drms_open_records()