Skip to main content

Concepts

LICENSE Weaviate on Stackoverflow badge Weaviate issues on Github badge Weaviate version badge Weaviate total Docker pulls badge Go Report Card

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.

info

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.

Weaviate module APIs overview

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
  • 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:

  1. Frequently Asked Questions. Or,
  2. Knowledge base of old issues. Or,
  3. For questions: Stackoverflow. Or,
  4. For issues: Github. Or,
  5. Ask your question in the Slack channel: Slack.