Explanation
This section explains how infrastore is put together and why. It is understanding-oriented: read it to build a mental model, not to accomplish a specific task. For step-by-step recipes see the How-To Guides; for exhaustive listings see the Reference.
- Architecture — The crates, the two-file storage split, and how the language bindings sit on top of a single core.
- Design Choices — What infrastore optimizes for and why, written for developers of parent packages like IS.jl and infrasys.
- Data Model — Owners, time-series types, keys, feature maps, and the associations between catalog entities.
- Storage Model — Why arrays go to NetCDF4 and metadata goes to SQLite, and how the two stay consistent.
- Content Addressing — How arrays are hashed, deduplicated, and verified.
- Language Bindings — How the Python, Julia, and gRPC interfaces wrap the Rust core.