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.
If you are after a practical guide, try the quickstart tutorial.
How Weaviate deals with data objects, including how they are stores, 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 indices, and about configurable settings.
Read more about Weaviate's vector indexing architecture, such as the HNSW algorithm, distance metrics, and configurable settings.
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 the below 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
How to plan resources
- The roles of CPU, Memory and GPUs
- How to size a cluster correctly
- Speeding up specific processes
- Preventing bottlenecks
Filtered vector search
- 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
If you can't find the answer to your question here, please look at the:
- Frequently Asked Questions. Or,
- Knowledge base of old issues. Or,
- For questions: Stackoverflow. Or,
- For more involved discussion: Weaviate Community Forum. Or,
- We also have a Slack channel.