Sun Microsystems 5800 Computer Drive User Manual


 
The 5800 System Metadata Model
Metadata means “data about the data”; it describes the data and helps to determine how the data
should be interpreted. In addition, metadata can be used to facilitate querying the 5800 system
for objects that match a particular set of search criteria.
For the 5800 system, the supported metadata option is in the form of name-value elds stored
with each object. The set of possible elds is dened in the metadata schema. Setting up a
metadata schema is an important system administration task that is described in the 5800
System Administration Guide, and is analogous to the process of database design that goes into
creating a data management application. The metadata schema determines what eld names,
types, and lengths may be used with the metadata stored with each object. In addition, the
layout of elds into tables within the schema, together with the denition of views that speed
certain searches, determine which kinds of queries about that metadata will be both possible
and eective. As such, the metadata schema should match the characteristics of the expected
range of applications that will deal with the stored data. The underlying software is designed to
support multiple dierent kinds of metadata to aid in searching. For example, eventually there
might be a specialized index to facilitate full-text search within the data objects. This document
describes only the API for dealing with the name-value metadata type.
Fields in the schema can be either queryable or non-queryable. The values for non-queryable
elds may be retrieved later but may not be used in queries. The 5800 system supports only
single-valued elds. Each object can have only a single name-value pair of a given name. There
is no built-in support for multiple-valued elds, such as a list of authors of a book in the form of
multiple elds named 'author'.
Each data object is associated with a set of name-value pairs at the time the object is stored.
Some metadata (system metadata) is assigned by the5800 system as each object is stored. For
example, each object contains an “object creation time” (system.object_ctime) and an OID
(system.object_id), both of which are assigned by the system at the time an object is created.
Some metadata (the computed metadata) is implicit in the stored data, and is made explicit at
the time of the object store. For example, the system exposes the object data length as a
metadata eld (system.object_size). In addition, the 5800 system computes a Secure Hash
Algorithm (SHA1) hash of the stored data as the data is stored and stores the hash as a metadata
eld (system.object_hash). There is also an associated eld (system.object_hash_alg)to
specify which hash algorithm was used in computing the system.object_hash. It is currently
always set to sha1.”
Finally, some metadata (the user metadata) is supplied by the customer application in the API
call at the time an object is stored. Each store operation is allowed to include a
NameValueRecord that indicates a set of name-value pairs to be associated with the data object
as metadata. Each name in the name-value record must match a eld name from the metadata
schema; in addition, the data value supplied for each eld must match the type and length for
the eld as specied in the schema. If the names or values supplied for the user metadata do not
match the active schema, then an exception is generated and the object is not stored.
5800SystemOverview
Chapter1 SunStorageTek 5800SystemClientAPI 19