Hitachi

Hitachi Advanced Database Application Development Guide


Preface

This manual describes the basic techniques for using Hitachi Advanced Database to develop applications. It also explains how to set up an HADB client environment.

Note that, in this manual, and in the information output by the product (messages, command output results, and so on), HADB is often used in place of Hitachi Advanced Database.

Organization of this preface

■ Intended readers

This manual is intended for:

Readers of this manual must have:

■ Organization of this manual

This manual is organized into the following parts, chapters, and appendixes:

PART 1: Environment Setup (Common)
1. Overview of Application Program Development and Execution

This chapter provides an overview of application program development, explains the prerequisites that you need to know before you begin developing an application program, and shows the application program execution modes.

2. Designing Client Definitions

This chapter explains the format in which operands for client definitions are to be specified, the content of client definitions, and the syntax rules that apply to client definitions.

3. Setting Up an Environment for the JDBC Driver

This chapter explains how to set up an environment for the JDBC driver, including how to install the JDBC driver and specify the environment variables.

4. Setting Up an Environment for an HADB Client (If the ODBC Driver and CLI Functions Are Used)

This chapter explains how to set up an environment for an HADB client, including installation of an HADB client and specification of environment variables.

PART 2: Application Program Creation (Common)
5. Designs Related to Improvement of Application Program Performance

This chapter explains designs related to improving the performance of application programs.

6. Tuning Application Programs

This chapter explains how to use access paths.

PART 3: Application Program Creation (JDBC)
7. Creating Application Programs

This chapter explains how to create application programs that use the JDBC driver.

8. The JDBC 1.2 API

This chapter describes the interfaces and methods available in the JDBC 1.2 API.

9. The JDBC 2.1 Core API

This chapter explains HADB's scope of support for the functions added in the JDBC 2.1 Core API.

10. The JDBC 2.0 Optional Package

This chapter describes the interfaces and methods available in the JDBC 2.0 Optional Package.

11. The JDBC 3.0 API

This chapter describes the interfaces and methods available in the JDBC 3.0 API.

12. The JDBC 4.0 API

This chapter describes the interfaces and methods available in the JDBC 4.0 API.

13. JDBC 4.1 API

This chapter explains HADB's scope of support for the functions added in the JDBC 4.1 API.

14. JDBC 4.2 API

This chapter explains HADB's scope of support for the functions added in the JDBC 4.2 API.

PART 4: Application Program Creation (ODBC)
15. Creating Application Programs

This chapter explains how to set up an environment for the HADB ODBC driver and provides notes about creating application programs that support ODBC.

16. ODBC Functions

This chapter describes the capabilities and syntax of the ODBC functions provided by HADB.

17. Troubleshooting

This chapter explains how to troubleshoot use of the ODBC interfaces.

PART 5: Application Program Creation (CLI Functions)
18. Creating Application Programs

This chapter explains the basic considerations involved in designing and creating application programs in C and C++.

19. CLI Functions

This chapter describes the capabilities and syntax of the CLI functions provided by HADB.

A. Sample Application Program

This appendix provides an overview of the sample application program that is provided, explains the preparations for using the sample program, and explains the sample program execution procedure.

B. Structure of HADB Client Directories

This appendix describes the structures of the client directories of HADB clients (during installation and operation).

C. Estimating the Memory Requirements for an HADB Client

This appendix explains how to estimate the memory requirements for an HADB client.

■ Related publications

This manual is part of a related set of manuals. The manuals in the set are listed below (with the manual numbers):

In references to Hitachi Advanced Database manuals, this manual uses HADB in place of Hitachi Advanced Database.

Example: HADB Setup and Operation Guide

In references to the HA Monitor manual, this manual uses HA Monitor for Linux(R) (x86) in place of HA Monitor Cluster Software Guide (for Linux(R) (x86) Systems).

Example: HA Monitor for Linux(R) (x86)

In references to the Job Management Partner 1/Automatic Job Management System 3 manual, this manual uses Job Management Partner 1/Automatic Job Management System 3 System Design (Work Tasks) Guide in place of Job Management Partner 1 Version 10 Job Management Partner 1/Automatic Job Management System 3 System Design (Work Tasks) Guide.

Example: Job Management Partner 1/Automatic Job Management System 3 System Design (Work Tasks) Guide

In references to the JP1/Base manual, this manual uses JP1/Base User's Guide in place of JP1 Version 11 JP1/Base User's Guide.

Example: JP1/Base User's Guide

■ Conventions: Abbreviations for product names

This manual uses the following abbreviations for product names:

Abbreviation

Full name or meaning

HADB

HADB server

Hitachi Advanced Database

HADB client

Hitachi Advanced Database Client

Linux

Linux

Linux(R)

Red Hat Enterprise Linux Server 6

Red Hat(R) Enterprise Linux(R) Server 6 (64-bit x86_64)

Red Hat Enterprise Linux Server 6 (64-bit x86_64)

Red Hat Enterprise Linux Server 7

Red Hat(R) Enterprise Linux(R) Server 7 (64-bit x86_64)

Red Hat Enterprise Linux Server 7 (64-bit x86_64)

HDLM

Hitachi Dynamic Link Manager Software

JP1/AJS3

Job Management Partner 1/Automatic Job Management System 3

JP1/Audit

JP1/Audit Management - Manager

Red Hat Enterprise Linux Server 6 (64-bit x86_64)

Red Hat(R) Enterprise Linux(R) Server 6 (64-bit x86_64)

Red Hat Enterprise Linux Server 7 (64-bit x86_64)

Red Hat(R) Enterprise Linux(R) Server 7 (64-bit x86_64)

■ Conventions: Acronyms

This manual also uses the following acronyms:

Acronym

Full name or meaning

APD

Application Parameter Descriptor

API

Application Programming Interface

ARD

Application Row Descriptor

BI

Business Intelligence

BLOB

Binary Large Object

BNF

Backus-Naur Form

BOM

Byte Order Mark

CLI

Call Level Interface

CLOB

Character Large Object

CPU

Central Processing Unit

CSV

Character-Separated Values

DB

Database

DBMS

Database Management System

DMMP

Device Mapper Multipath

DNS

Domain Name System

ER

Entity Relationship

HBA

Host Bus Adapter

ID

Identification number

IEF

Integrity Enhancement Facility

IP

Internet Protocol

IPD

Implementation Parameter Descriptor

IRD

Implementation Row Descriptor

JAR

Java Archive File

JDBC

Java Database Connectivity

JDK

Java Developer's Kit

JNDI

Java Naming and Directory Interface

JRE

Java Runtime Environment

JTA

Java Transaction API

LOB

Large Object

LRU

Least Recently Used

LV

Logical Volume

LVM

Logical Volume Manager

MSDN

Microsoft Developer Network

NFS

Network File System

NIC

Network Interface Card

NTP

Network Time Protocol

ODBC

Open Database Connectivity

OS

Operating System

PP

Program Product

RAID

Redundant Array of Independent Disks

RDBMS

Relational Database Management System

TLB

Translation Lookaside Buffer

URL

Uniform Resource Locator

VG

Volume Group

WWN

World Wide Name

■ Conventions: Fonts and symbols

The following table explains the fonts used in this manual:

Font

Convention

Bold

Bold type indicates text on a window, other than the window title. Such text includes menus, menu options, buttons, radio box options, or explanatory labels. For example:

  • From the File menu, choose Open.

  • Click the Cancel button.

  • In the Enter name entry box, type your name.

Italics

Italics are used to indicate a placeholder for some actual text to be provided by the user or system. For example:

  • Write the command as follows:

    copy source-file target-file

  • The following message appears:

    A file was not found. (file = file-name)

Italics are also used for emphasis. For example:

  • Do not delete the configuration file.

Code font

A code font indicates text that the user enters without change, or text (such as messages) output by the system. For example:

  • At the prompt, enter dir.

  • Use the send command to send mail.

  • The following message is displayed:

    The password is incorrect.

The table below shows the symbols used in this manual for explaining commands and operands, such as the operands used in server definitions.

Note that these symbols are used for explanatory purposes only; do not specify them in the actual operand or command.

Symbol

Meaning

Example

|

In syntax explanations, a vertical bar separates multiple items, and has the meaning of OR.

adb_sql_text_out = {Y|N}

In this example, the vertical bar means that you can specify either Y or N.

[ ]

In syntax explanations, square brackets indicate that the enclosed item or items are optional.

adbsql [-V]

In this example, the square brackets mean that you can specify adbsql, or you can specify adbsql -V.

{ }

In syntax explanations, curly brackets indicate that only one of the enclosed items is to be selected.

adbcancel {--ALL|-u connection-ID}

In this example, the curly brackets mean that you can specify either --ALL or -u connection-ID.

...

In syntax explanations, an ellipsis (...) indicates that the immediately preceding item can be repeated as many times as necessary.

adbbuff -n DB-area-name[, DB-area-name] ...

In this example, the ellipsis means that you can specify DB-area-name as many times as necessary.

{{ }}

In syntax explanations, double curly brackets indicate that the enclosed items can be repeated as a single unit.

{{adbinitdbarea -n data-DB-area-name}}

In this example, the double curly brackets mean that you can specify adbinitdbarea -n data-DB-area-name as many times as necessary.

X

(underline)

In syntax explanations, underlined characters indicate a default value.

adb_import_errmsg_lv = {0|1}

In this example, the underline means that the value 0 is assumed by HADB when the operand is omitted.

~

A swung dash indicates that the text following it explains the properties of the specified value.

adb_sys_max_users = maximum-number-of-concurrent-connections

~ <integer> ((1 to 1024)) <<10>>

In this example, the text following the swung dash means that you can specify an integer in the range from 1 to 1024. If the operand is not specified, the value 10 is assumed by HADB.

< >

Single angle brackets explain the data type of the specified value.

(( ))

Double parentheses indicate the scope of the specified value.

<< >>

Double angle brackets indicate a default value.

■ Conventions: Method abbreviations

■ Conventions: Path names

■ Conventions: Symbols used in mathematical formulas

The following table explains special symbols used by this manual in mathematical formulas:

Symbol

Meaning

↑ ↑

Round up the result to the next integer.

Example: The result of ↑34 ÷ 3↑ is 12.

↓ ↓

Discard digits following the decimal point.

Example: The result of ↓34 ÷ 3↓ is 11.

MAX

Select the largest value as the result.

Example: The result of MAX(3 × 6, 4 + 7) is 18.

MIN

Select the smallest value as the result.

Example: The result of MIN(3 × 6, 4 + 7) is 11.

■ Conventions: Syntax elements

Syntax element notation

Meaning

<path name>

The following characters can be used in path names:

  • In Linux

    Alphanumeric characters, hash mark (#), hyphen (-), forward slash (/), at mark (@), and underscore (_)

  • In Windows

    Alphanumeric characters, hash mark (#), hyphen (-), forward slash (/), at mark (@), underscore (_), backslash (\), and colon (:)

Note, however, that the characters that can be used might differ depending on the operating system.

<OS path name>

For an OS path name, all characters that can be used in a path name in the operating system can be used. For details about available characters, see the documentation for the operating system you are using.

<character string>

Any character string can be specified.

<integer suffixed by the unit>

Specify the value in a format consisting of a numeric character (in the range from 0 to 9) followed by a unit (MB (megabyte), GB (gigabyte), or TB (terabyte)). Do not enter a space between the numeric character and the unit.

  • Examples of correct specification

    1024MB

    512GB

    32TB

  • Example of specification that causes an error

    512 GB

■ Abbreviation of function names

■ Conventions: KB, MB, GB, TB, PB, and EB

This manual uses the following conventions:

■ Conventions: Version numbers

The version numbers of Hitachi program products are usually written as two sets of two digits each, separated by a hyphen. For example:

The version number might be shown on the spine of a manual as Ver. 2.00, but the same version number would be written in the program as 02-00.