SQL/MP Installation and Management Guide

HP NonStop SQL/MP Installation and Management Guide523353-004
12-1
12
Managing a Distributed Database
Databases can be distributed over disk volumes on a single system (node) or in a
network of nodes. Likewise, application programs can be distributed across processors
in a single node or in a network.
When managing a database distributed across volumes or nodes, use the same SQL
statements you would use with a nondistributed database. When accessing a
distributed SQL object, some SQL statements enable you to use distinct file names
that refer to individual partitions of the object. For other statements, however, a
partition name refers to the entire object rather than to the individual partition.
The distribution issues discussed in this section are divided into the general areas of
locally distributed databases (distributed over two or more disk volumes on the same
node) and network-distributed databases.
Managing a Locally Distributed Database
An SQL/MP database is locally distributed if any tables, views, or indexes are
partitioned over two or more volumes. The goals for managing a locally distributed
database are:
Using the total available processing power of the system while balancing the
workload
Enabling very large data files to physically spread across multiple disk volumes
while accessed as single files
Using DEFINEs for Logical Name Mapping
When you are working with distributed objects, you should always fully qualify each
reference, either in each statement or by using DEFINEs.
Use DEFINEs for a distributed database in the same way you would for a
nondistributed database. You might want to create DEFINE names for each partition of
the object because the partitions might be accessed separately. For a distributed
object, you can include the partition number in the DEFINE name to avoid any
confusion about the applicable partition in this format:
=partition-number_define-name
These DEFINE names are examples of distributed names:
=PART1_EMPLOYEE, CLASS MAP, FILE \LOCAL1.$VOL1.PERSNL.EMPLOYEE
=PART2_EMPLOYEE, CLASS MAP, FILE \LOCAL1.$VOL2.PERSNL.EMPLOYEE