The 5800 system and honeycomb, The 5800 system data model – Sun Microsystems Sun StorageTek 5800 User Manual
Page 17
This chapter provides a summary of key points of the 5800 system usage model that are useful
for understanding either API.
In the 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.
■
Chapter 4, “Sun StorageTek 5800 System Query Language,”
provides a detailed description
of query capabilties and query syntax.
■
Chapter 5, “Programming Considerations and Best Practices,”
provides programming
considerations and best practices that can help you create efficient 5800 system applications.
The 5800 System and Honeycomb
The original code name for the project that grew into the 5800 system was Project Honeycomb.
The Honeycomb name lives on as the name of an Open Solaris community that is bringing the
Honeycomb software stack into the world of Open Source. The first realization of the
Honeycomb storage model as a real product is the 5800 system as described in this guide and
related guides.
As a model for programmable storage systems, however, the Honeycomb API has a much
broader reach than just the 5800 system. The programming model is designed to scale both up
and down to any storage archive system that needs to abstract and separate the issues of how
data is 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
referred to as the Project Honeycomb API.
The 5800 System Data Model
The 5800 system stores two types of data: arbitrary object data and structured metadata records.
Every metadata record is associated with exactly one data object. Every data object has at least
one metadata record. A unique object identifier (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,
metadata records can be retrieved by a query:
OID
↔ Metadata Record → Underlying Object Data
There are two types of metadata, system metadata and user metadata. You cannot override the
names and types of system metadata.
Each object in the 5800 system archive consists of some arbitrary bytes of data together with
associated metadata that describes the data. Once an object is stored, it is immutable. The 5800
system programming model does not allow the data or the metadata associated with an object
to be changed once the object has been stored, in other words the system is a Write-Once
5800 System Overview
Chapter 1 • Sun StorageTek 5800 System Client API
17