Optional custom API wrapper. C/C++ program. M program



Similar documents
Hypertable Architecture Overview

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

ORACLE INSTANCE ARCHITECTURE

Oracle9i Release 2 Database Architecture on Windows. An Oracle Technical White Paper April 2003

Running a Workflow on a PowerCenter Grid

File Management. Chapter 12

Configuring Apache Derby for Performance and Durability Olav Sandstå

Raima Database Manager Version 14.0 In-memory Database Engine

Empress Embedded Database. for. Medical Systems

The Complete Performance Solution for Microsoft SQL Server

Sawmill Log Analyzer Best Practices!! Page 1 of 6. Sawmill Log Analyzer Best Practices

Software: Systems and Application Software

DATABASE MANAGEMENT SYSTEM

An Approach to High-Performance Scalable Temporal Object Storage

CHAPTER 1: CLIENT/SERVER INTEGRATED DEVELOPMENT ENVIRONMENT (C/SIDE)

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

Microsoft Dynamics CRM 2011 Guide to features and requirements

Chapter 13 File and Database Systems

Chapter 13 File and Database Systems

ZCP 7.0 (build 41322) Zarafa Collaboration Platform. Zarafa Archiver Deployment Guide

SQL Server 2008 Performance and Scale

Windows Server Performance Monitoring

EMC Backup and Recovery for Microsoft SQL Server 2008 Enabled by EMC Celerra Unified Storage

Chapter 6, The Operating System Machine Level

This course will also teach how to create various kinds of dashboards using Reporting Services.

Quick Start - NetApp File Archiver

Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata

Cache Database: Introduction to a New Generation Database

SOLUTION BRIEF. JUST THE FAQs: Moving Big Data with Bulk Load.

Physical Data Organization

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

IBM Tivoli Storage Manager Version Introduction to Data Protection Solutions IBM

Database Server Configuration Best Practices for Aras Innovator 10

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

In-memory databases and innovations in Business Intelligence

MySQL 5.0 vs. Microsoft SQL Server 2005

Dependable Systems. 9. Redundant arrays of. Prof. Dr. Miroslaw Malek. Wintersemester 2004/05

Implementing and Maintaining Microsoft SQL Server 2005 Reporting Services COURSE OVERVIEW AUDIENCE OUTLINE OBJECTIVES PREREQUISITES

Version Overview. Business value

- An Oracle9i RAC Solution

SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011

2) What is the structure of an organization? Explain how IT support at different organizational levels.

Performance Tuning Guidelines for PowerExchange for Microsoft Dynamics CRM

IBM ^ xseries ServeRAID Technology

HOW INTERSYSTEMS TECHNOLOGY ENABLES BUSINESS INTELLIGENCE SOLUTIONS

Comparing MySQL and Postgres 9.0 Replication

SAP HANA Backup and Recovery (Overview, SPS08)

Microsoft SQL Server 2008 R2 Enterprise Edition and Microsoft SharePoint Server 2010

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

Object Oriented Database Management System for Decision Support System.

Enterprise Performance Tuning: Best Practices with SQL Server 2008 Analysis Services. By Ajay Goyal Consultant Scalability Experts, Inc.

CitusDB Architecture for Real-Time Big Data

Optimizing LTO Backup Performance

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led

Exam Number/Code : Exam Name: Name: PRO:MS SQL Serv. 08,Design,Optimize, and Maintain DB Admin Solu. Version : Demo.

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Configuring Backup Settings. Copyright 2009, Oracle. All rights reserved.

Chapter 18: Database System Architectures. Centralized Systems

Database Scalability and Oracle 12c

Adaptive Server Enterprise

Common Questions and Concerns About Documentum at NEF

Operating Systems CSE 410, Spring File Management. Stephen Wagner Michigan State University

SQL Anywhere 12 New Features Summary

SCADA Questions and Answers

Best Practices for Optimizing SQL Server Database Performance with the LSI WarpDrive Acceleration Card

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

The Win32 Network Management APIs

FairCom c-tree Server System Support Guide

Aras Innovator 10 Scalability Benchmark Methodology and Performance Results

SQL Server 2005 Features Comparison

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Frequently Asked Questions. Secure Log Manager. Last Update: 6/25/ Barfield Road Atlanta, GA Tel: Fax:

Understanding EMC Avamar with EMC Data Protection Advisor

Technical Note. Dell PowerVault Solutions for Microsoft SQL Server 2005 Always On Technologies. Abstract

Database as a Service (DaaS) Version 1.02

Benchmarking Cassandra on Violin

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

DATA WAREHOUSING AND OLAP TECHNOLOGY

Specifications of Paradox for Windows

Integrating VoltDB with Hadoop

Chapter 1 Introduction to the SAS Providers for OLE DB

1 File Processing Systems

Binary search tree with SIMD bandwidth optimization using SSE

Data Warehousing Concepts

Business continuity management for Microsoft SharePoint Server 2010

VERITAS Storage Foundation 4.3 for Windows

Chapter 12 File Management

EMC XtremSF: Delivering Next Generation Storage Performance for SQL Server

Availability Digest. Raima s High-Availability Embedded Database December 2011

Case Studies Using EMC Legato NetWorker for OpenVMS Backups

CUSTOMER Presentation of SAP Predictive Analytics

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860

Software Announcement April 17, 2001

Enterprise Backup and Restore technology and solutions

Tivoli Storage Manager Explained

Transcription:

GT.M GT.M includes a robust, high performance, multi-paradigm, open-architecture database. Relational, object-oriented and hierarchical conceptual models can be simultaneously applied to the same data which is accessible to concurrent host-based and client-server applications via C/C++, SQL and M. Optional custom API wrapper C/C++ program M program Robust high performance flexible data store SQL Engine ODBC connectivity Microsoft Windows ODBC client access Local SQL procedures GT.CM open server Open client access The GT.M data store s underlying data is typeless (simply, an unstructured array of bytes). Relationships can be described equally correctly as: hierarchical multi-dimensional sparse arrays content-associative memory Programmatically, the contents are accessed by name as persistent global variables. Relational, objectoriented and navigational database models all map well onto the GT.M database; thus the most suitable model can be chosen for each application or situation. Furthermore, multiple models can be applied at the same time to the same data, for mixed-mode (hybrid) concurrent access. Consider a simple example: Products are assembled from parts or subsystems Subsystems are assembled from parts or other (smaller) subsystems Parts are purchased from vendors; each part has a different delivery time from each vendor which offers that part

GT.M Architecture Page 2 of 5 In a relational database, this might be represented by the tables Assemblies, Parts and : Assemblies Parts Item Product Item Contains Part Vendor Delivery Go-cart Yes Go-cart Seat Seat Goodrear 5 Mower Yes Go-cart Cutters Sharpe 9 No Mower Acme 4 No Mower Cutters Block Wright 7 Block Irons 3 Block An equivalent GT.M hierarchy is shown to the right. Access from C/C++ or M is available via two persistent global variables, Assemblies and Parts. The multidimensional sparse array view of the three dimensional array Assemblies is shown below (the four dimensional array Parts is not easily depicted on two dimensional paper). Product Assemblies Product=No Go-cart Product=Yes Parts Block Irons Delivery=3 Wright Delivery=7 Cutters Assemblies Drivetra in No Sharpe Seat Delivery=9 Go-cart Yes Drivetra in Fastener Se a t Product=No No Block Acme Block Delivery=4 Mower Yes C utte rs Seat Drivetra in Mower Product=Yes Goodrear Delivery=5 The object oriented paradigm is fulfilled by Cutters considering Assemblies and Parts to be classes, with four instances of each. Since the data is typeless, binary information, such as stream of bytes to be fed to an interpreter or loader at run time, can also be stored. Using SQL engine, the GT.M database can be mapped, accessed and manipulated and accessed using the relational tables shown. If access is desired from a PC client, relational access is available via ODBC. Thus, applications created with popular tools such as Visual Basic and PowerBuilder can access and update GT.M databases.

GT.M Architecture Page 3 of 5 The global variables in a database file are shared by all processes accessing a database file with both automatic and programmatic interlocking to prevent race conditions. Benefits of flexible modeling The support of efficient access to the data means that the most appropriate model can be chosen on a case by case basis for each type of access to the database. For example: The most full featured report writers exist on the Windows/PC platform and support the relational model. Thus, it is the appropriate model for most client-server applications and for export. The hierarchical model allows a natural solution for a number of problems that degenerate into pathological cases in the relational model. For example, consider the query to report worst-case (maximum) delivery time for any component in the manufacturing of any product. 1 While straightforward in GT.M, this would require the proverbial n way join from hell in a traditional relational database. Max_deliveries Product Delivery Go-cart 5 Mower 9 The object-oriented model can be used to implement compute on demand for data that is expensive to compute and not routinely accessed, or for data that must always be computed afresh. Mixed mode hybrid access can be exploited to use the capabilities of one mode to overcome limitations of another. For example, the pathological SQL query for the worst case delivery time can be overcome in SQL engine by the insertion of executable code to exploit the hierarchical nature of the database and the fact that the database can store code as well as data. Thus, to a relational client, Max_deliveries can look just like another table, but one that need not actually exist in the database. Other benefits Compactness Because of the database structure, and the use of key compression, GT.M databases are often a fraction of the size of equivalent databases relational databases on industrystandard SQL servers. Capability GT.M supports features such as application level transactions via transaction start and transaction commit markers. Speed GT.M databases are often much faster for transaction processing (mixed reading and writing activity) than typical relational databases. This advantage is often even more pronounced under heavy loads, because the compactness of GT.M databases reduces I/O activity, sometimes a greater bottleneck than the CPU. Robustness GT.M comes with features such as exception handling, journaling and recovery for implementing robust and resilient applications. 1 Notice that the maximum delivery time for Go-cart comes from 5 for Seat, since Delivery for Block should be 3, based on Irons.

GT.M Architecture Page 4 of 5 Configuration Flexibility GT.M provides flexibility in database configuration by allowing each process to distribute its logically monolithic global variable name space across an arbitrary number of database files with the aid of a global directory file, either in its working directory or specified via a logical name (OpenVMS) or environment variable (Unix). A global directory file maps a region (a range of global variable names) to a segment (a file name or a file specified indirectly via a logical name or environment variable). Development Process Regions Segment Segment Regions People Accounts, Tra nsa c tions env var 1 env var 3 file 1 file 2 file 3 Log name / env var 5 People, Accounts, Tra nsa c tions DEFAULT Log name / env var 2 G lobal directory file 2 DEFAULT env var 4 G lobal directory file 1 file 4 Log name / env var 6 Production Proc e ss 1 Production Proc e ss 2 In the example, two executing images share the same global directory file, and direct their People, Accounts and Transactions globals into the production database file. This mapping is defined by Global directory file 2, which is indirectly accessed through an environment variable / logical name (so that, in the event of operational need, the production processes can be redirected to a different global directory file). At the same time, a development process uses a different database file for its Accounts and Transactions variables. However, to facilitate testing, it is using the production database for People to which it has read-only access. Its global directory file merely resides in its current working directory, there being no need to direct it through a logical name / environment variable. Executing processes can change global directories on the fly, or even force a specific database access to use a specific global directory other than its current global directory. Two global directories can map segments (either the same global variables or different global variables) to the same database file. Summary Format Configuration Logical Names Data is stored as high-performance B* trees in Sanchez proprietary format. Global directories specify the relationship between global names or ranges of global names and database regions. The global directory itself as well all regions specified by a global directory may be logical names / environment variables, allowing run-time reconfiguration of

GT.M Architecture Page 5 of 5 the database or a portion of the database without invading application programs. Dynamic Global Directory Specification Access Methods Application Transactions Journaling and Recovery Security Shutdown Any database access can force the use of a specific global directory. The current global directory can be changed at any time. The standard access method (Buffered Globals) provides database access using a caching system optimized for high performance database operation. For even more speed, the optional Mapped Memory access method allows entire database regions to be mapped into virtual address space. For extraordinary throughput on selected platforms, the database is mapped into virtual memory accessed with 64-bit pointers (VLM). Transaction start and transaction commit markers can implement application program level transactions. updates may be journaled. Two types of journaling are available, one of which stores update information as well as the prior contents of database file disk blocks, and the other storing only update information. A utility restores a journaled database to a consistent state established immediately prior to a system failure. By including transaction marker commands, an application can extend consistency to logical transactions. Update information can also be converted into an ASCII form. GT.M supports the security mechanisms of the underlying operating system for controlling access. Shutdown consists of running a utility to ensure that all GT.M processes are terminated, and all shared memory is released. regions automatically become inactive when no user references them. Limits String length to 32,508 bytes Numerics 18 digit precision in the range 10-43 to 10 +46 Variables Key size Node size No GT.M limit on size or number; individual segments are subject to underlying computer system limits on file size to 255 bytes to 32K bytes for the sum of subscripts + data for a single M node Block size user specified by region from 512 to 65,024 bytes in multiples of 512