# Design Recipes

Learn how to build new data models, indexes, and more on top of the FoundationDB API. For more background, check out the Client Design documentation.

- Blob: Store binary large objects (blobs) in the database.

- Hierarchical Documents: Create a representation for hierarchical documents.

- Multimaps: Create a multimap data structure with multiset values.

- Priority Queues: Create a data structure for priority queues supporting operations for push, pop_min, peek_min, pop_max, and peek_max.

- Queues: Create a queue data structure that supports FIFO operations.

- Segmented Range Reads: Perform range reads in calibrated batches.

- Simple Indexes: Add (one or more) indexes to allow efficient retrieval of data in multiple ways.

- Spatial Indexing: Create a spatial index for the database.

- Subspace Indirection: Employ subspace indirection to manage bulk inserts or similar long-running operations.

- Tables: Create a table data structure suitable for sparse data.

- Vector: Create a vector data structure.