Efficient handling of tuples with embedded large objects
Modern database systems and storage manager toolkits usually provide a large object abstraction. Very often large objects are not used as standalone entities, but rather embedded within an aggregate of different types, i.e.a tuple. Depending on the large object's size and access probability, query performance is determined by the representation of the large object: either inlined within the aggregate or swapped out to a separate object. This paper describes a sound and general large object interface extension which automatically switches the representation of large objects according to their actual size. The optimum threshold size for switching the large object's representation is determined, based upon a linear cost model. Furthermore, a SHORE-based implementation and its performance are presented. It turns out that switching the representation of large objects yields great performance improvements for objects whose size is varying from quite small to large.
large objects extensible database systems data type programming interface tuple representation shore