HP Large Objects System Management Manual
HP Large Objects System Management Manual – 543599.001
1. Introduction
NonStop SQL enables applications to store Large Objects in the Guardian file space.
Any size object can be stored from 2 kilobytes to many megabytes or gigabytes – the
only constraint being the availability of disk storage. Any type of object can be stored
provided it has a predefined size and can be collected (or buffered) into a NonStop
application. Some examples of objects that can be stored are: pictures, medical
records, accounting information, and so on.
A set of application programming interfaces (APIs) are provided to manage the disk
spaces and take care of storing, retrieving and deleting objects. The API returns a
reference to an object that application programs can store in their own database for
subsequence retrieval or deletion of objects. The API permits objects to be stored in
full (where the complete content is available) or partially (where only chunks of the
object are available).
The API uses Enscribe unstructured files to store objects; SQL/MP tables to store
information about each objects, and details of the disk storage. The API can be called
from an application program running in either Guardian or OSS, but the object’s
contents are stored in Guardian managed disk space.
Note: In this document, the term object refers to an application object.
1.1 Why Storing Large Objects with SQL has limitations?
The size of a row in a table stored in SQL/MP is limited to 4 kilobytes. Thus, if an
application has a need to store an object larger than 4 kilobytes, many rows need to be
written to house the object. An SQL solution is therefore inefficient and an
alternative approach is required. This User Guide explains one such solution that
provides storage of Large Objects using an efficient, highly optimised, and scalable
mechanism.
1.2 Product Description
The Large Objects for NonStop SQL/MX API stores objects in a series of
unstructured files collectively know as Buddy Sets. A Buddy Set is physically located
on a single subvolume and consists of two classes of unstructured files: Buddy Space
files, for content storage; and Free Space Map files, for indexing the spaces. Twelve
NonStop SQL/MP tables are used to manage the available storage, and to retain
references of the stored objects and how they are constructed.
Objects are assigned disk space according to their size and the parameters used to
configure the Large Object environment. The section on Suggested Usage provides
further details on configuration options. Rather than have each object written into its
own file, disk space assigned to store the object is pre-partitioned by creating a series
of very large Enscribe unstructured files. The space contained within them is managed
as a collection of fixed length segments. Each of these Enscribe files is called a Buddy
Space.
Page 5 of 37