Concepts
Overviewโ
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.
Core conceptsโ
Data structureโ
How Weaviate deals with data objects, including how they are stores, represented, and linked to each other.
Modulesโ
An overview of Weaviate's module system, including what can be done with modules, existing module types, and custom modules.
Indexingโ
Read how data is indexed within Weaviate using inverted and ANN indices, and about configurable settings.
Vector indexingโ
Read more about Weaviate's vector indexing architecture, such as the HNSW algorithm, distance metrics, and configurable settings.
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 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
- Consistency
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
User-facing interfacesโ
- Design philosophy behind user-facing APIs
- Role of the REST and GraphQL APIs
Replication architectureโ
- About replication
- Weaviate's implementation
- Use cases
More resourcesโ
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.