We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Our Mad Journey of Building a Vector Database in Go

Formal Metadata

Title
Our Mad Journey of Building a Vector Database in Go
Subtitle
Building a Database in Go
Title of Series
Number of Parts
542
Author
Contributors
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
"We're going to build a new type of database in Go" – "Are you mad?!" This was the common reaction when back in 2019, we decided to build an open-source vector database in Go. Today, Weaviate's downloads have exceeded 1.5M (at the time of writing), and we're over the moon with how far we've come. But oh boy, they were right; it was crazy indeed: In this talk, I would like to take you on a journey of the less common and crazier parts of Go: You will learn about pure-assembly optimizations, obscure pitfalls, tricks of heap allocations, and memory management in general. To get the most out of this talk, you should have at least an intermediate experience level of Go. The talk touches on database internals, but no prior knowledge of inner-database mechanics is required.