Thischapter provides a summary of key points of the 5800 system usage model that are useful
forunderstanding either API.
Inthe following sections, the terms from the Java API are used as an aid to exposition. In all
cases,a simple equivalent using the C API is available.
Chapter4, “Sun StorageTek 5800 System Query Language,”provides a detailed description
ofquery capabilties and query syntax.
Chapter5, “Programming Considerations and Best Practices,”provides programming
considerationsand best practices that can help you create ecient 5800 system applications.
The5800 System and Honeycomb
Theoriginal code name for the project that grew into the 5800 system was Project Honeycomb.
TheHoneycomb name lives on as the name of an Open Solaris community that is bringing the
Honeycombsoftware stack into the world of Open Source. The rst realization of the
Honeycombstorage model as a real product is the 5800 system as described in this guide and
relatedguides.
Asa model for programmable storage systems, however, the Honeycomb API has a much
broaderreach than just the 5800 system. The programming model is designed to scale both up
anddown to any storage archive system that needs to abstract and separate the issues of how
datais stored from how it is used. In recognition of both the past and the future, the string
honeycomb”and the initials “hc“ still live on in certain aspects of the API described in this
guide.When the 5800 system API is used in contexts outside of the 5800 system, the API is
referredto as the Project Honeycomb API.
The5800 System Data Model
The5800 system stores two types of data: arbitrary object data and structured metadata records.
Everymetadata record is associated with exactly one data object. Every data object has at least
onemetadata record. A unique object identier (OID) is returned when a metadata record is
stored.This OID can later be used to retrieve the metadata record or its data object. In addition,
metadatarecords can be retrieved by a query:
OIDMetadata Record Underlying Object Data
Thereare two types of metadata, system metadata and user metadata. You cannot override the
namesand types of system metadata.
Eachobject in the 5800 system archive consists of some arbitrary bytes of data together with
associatedmetadata that describes the data. Once an object is stored, it is immutable. The 5800
systemprogramming model does not allow the data or the metadata associated with an object
tobe changed once the object has been stored, in other words the system is a Write-Once
5800SystemOver view
Chapter1 • Sun StorageTek 5800 System Client API 17