Scalable blob storage integrated with scalable structured storage
First Claim
1. One or more computer storage media having a data structure embodied thereon for structured storage of one or more Binary Large Objects (Blobs) to be accessed by an application program being executed by a computing device, comprising:
- a primary structured storage index indexing the one or more Blobs in a structured storage system;
a secondary hash index maintaining a compressed hash index of the primary structured storage index, the secondary hash index facilitates efficient lookup of a Blob primary key, wherein the secondary hash index includes one or more hash values representing the one or more primary keys associated with the one or more Blobs; and
a Blob store storing the one or more Blobs, wherein the Blob store is mapped to the primary structured storage index using a Blob log stream and the secondary hash index using a Blob data stream.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention relate to systems, methods and computer storage media for facilitating the structured storage of binary large objects (Blobs) to be accessed by an application program being executed by a computing device. Generally, the structured storage of Blobs includes a primary structured storage index for indexing Blobs, a secondary hash index that is integrated into the structured storage system, a Blob log stream, and a Blob data stream for storing blocks that include the Blob data. In an embodiment, a block is created and written to a Blob store along with a block list. The block list facilitates the locating of one or more blocks that store the Blob data. In this embodiment, a primary structured storage index and a secondary hash index are updated to facilitate efficient access of the Blob in a structured storage system.
55 Citations
21 Claims
-
1. One or more computer storage media having a data structure embodied thereon for structured storage of one or more Binary Large Objects (Blobs) to be accessed by an application program being executed by a computing device, comprising:
-
a primary structured storage index indexing the one or more Blobs in a structured storage system; a secondary hash index maintaining a compressed hash index of the primary structured storage index, the secondary hash index facilitates efficient lookup of a Blob primary key, wherein the secondary hash index includes one or more hash values representing the one or more primary keys associated with the one or more Blobs; and a Blob store storing the one or more Blobs, wherein the Blob store is mapped to the primary structured storage index using a Blob log stream and the secondary hash index using a Blob data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented system utilizing a processor and memory for structured storage of one or more Binary Large Objects (Blobs) to be accessed by an application program being executed by a computing device, comprising:
-
a primary structured storage index indexing the one or more Blobs in a structured storage system; a secondary hash index maintaining a compressed hash index of the primary structured storage, the secondary hash index facilitates efficient lookup of a Blob primary key, wherein the secondary hash index includes one or more hash values representing the one or more primary keys associated with the one or more Blobs; and a Blob store storing the one or more Blobs, wherein the Blob store comprises a Blob log stream having one or more uncommitted blocks and a Blob data stream having one or more committed blocks, wherein the primary structured storage index is indirectly mapped to the Blob data stream via the Blob log stream and the secondary hash index is directly mapped to the Blob data stream. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. One or more computer storage media having a data structure embodied thereon for structured storage of one or more Binary Large Objects (Blobs) to be accessed by an application program being executed by a computing device, comprising:
-
a primary structured storage index indexing the one or more Blobs in a structured storage system; a secondary hash index maintaining a compressed in-memory hash index of the primary structure storage index, the secondary hash index is an in-memory hash index that facilitates efficient lookup of a Blob primary key, wherein the secondary hash index includes one or more hash values representing the one or more primary keys associated with the one or more Blobs; a Blob store storing the one or more Blobs wherein the Blob store comprises a Blob log stream and a Blob data stream, wherein the Blob log stream processes single input/output operations in association with the primary structure storage index and the Blob data stream processes single in-memory lookups in association with the secondary hash index; and a table scheme that defines one or more data items included in the secondary hash index and a Blob header of the Blob data stream, wherein the one or more data items comprise Blob meta data that are retrieved when an associated Blob of the Blob meta data is accessed.
-
Specification