Concepts
The Concepts section explains various aspects related to Weaviate and its architecture to help you get the most out of it. You can read these sections in any order.
info
If you are after a practical guide, try the quickstart tutorial.
Core concepts
- How Weaviate deals with data objects, including how they are stored, represented, and linked to each other.
- An overview of Weaviate's module system, including what can be done with modules, existing module types, and custom modules.
- Read how data is indexed within Weaviate using inverted and ANN indexes, and about configurable settings.
- Read more about Weaviate's vector indexing architecture, such as the HNSW algorithm, distance metrics, and configurable settings.
- Read more about Weaviate's vector quantization options.
Weaviate Architecture
The figure below gives a 30,000 feet view of Weaviate's architecture.
You can learn more about the individual components in this figure by following these guides:
Learn about storage inside a shard
- How Weaviate stores data
- How Weaviate makes writes durable
- How an inverted index, a vector index and an object store interact with each other
Ways to scale Weaviate horizontally
- Different motivations to scale
- Sharding vs. Replication
- Configuring a cluster
- Consistency
- The roles of CPU, Memory and GPUs
- How to size a cluster correctly
- Speeding up specific processes
- Preventing bottlenecks
- Combine vector search with filters
- Learn how combining an HNSW with an inverted index leads to high-recall, high-speed filtered queries
- Design philosophy behind user-facing APIs
- Role of the REST and GraphQL APIs
- About replication
- Weaviate's implementation
- Use cases
Questions and feedback
If you have any questions or feedback, let us know in the user forum.