OpenSimulator Internals/AssetService
Appearance
OpenSimulator Internals/AssetService
[edit]Overview
[edit]AssetService stores and serves asset blobs -- textures, meshes, scripts, notecards, and other content. Intentionally dumb -- no referential awareness. It does not know or care what references an asset.
This service is stateless and can be load-balanced across multiple ROBUST instances.
Storage Backends
[edit]| Backend | Notes |
|---|---|
| Database blob (default) | Asset data stored as LONGBLOB in the assets table. Simple, works out of the box. |
| FSAssets | Asset data stored on the filesystem. Recommended for installations above 50GB. More efficient for large asset stores. |
Asset Properties
[edit]Assets are immutable by design -- no updates, only inserts. The database only grows. No built-in garbage collection exists.
When an object is rezzed on a foreign HyperGrid grid, assets are copied to that grid's asset table -- same UUID, separate copy, no link between them, no cleanup on either end.
Asset type classification (computed, not stored)
[edit]- IsBinaryAsset: Animation, Gesture, Simstate, Unknown, Object, Sound, SoundWAV, Texture, TextureTGA, Folder, ImageJPEG, ImageTGA, Mesh, LSLBytecode
- IsTextualAsset: everything else
- ContainsReferences: textual assets excluding Notecard, CallingCard, LSLText, Landmark
Database
[edit]See assets table for the full database schema.