← All IntelClip / EducationTurbopuffer's original architecture: clustering + files on S3, no cache
From Fireside Chat: Simon Eskildsen on Building Turbopuffer · ≈26:06
“It was not a company.”
“I barely read any like of the literature on LSM.”
“I just put the reverse proxy in front of S3 with Engine X”
What’s in it
- Reveals how a solo builder shipped a fast vector-search engine as a side project
- Breaks down a dead-simple clustering + centroid-file architecture for nearest-neighbor search
- Shows how a bare Nginx reverse proxy over S3 replaced a custom caching layer
Clip transcript
really good. How did you make it fast? We didn't in the beginning or I didn't in the beginning. Um it was just me at the time and it was really like it was it was it was a project. It was not a company. It was not >> it was it was it was to satisfy a curiosity. It was not I did not set out to do this like I'm going to go like raise $10 million and do like I was like I barely knew what a VC was. Like I was like I just had to do this thing and I was so focused on doing it. so clear to me that if I wasn't going to do it, someone else was going to do it and I just became fully obsessed that summer with it. And so the first version was the simplest possible thing. I think I'm a very pragmatic person like I I didn't get buried. I barely read any like of the literature on LSM. I sort of like you know read a bunch of it just like got the basic idea barely implemented that because that would have taken too much time. It was the simplest possible version of what it could be. Like really what you have to imagine is that the simplest way you could do this is you run some clustering algorithm on the vectors. >> You get the clusters and then you put the clusters in files. The cl the files are called cluster one, cluster two, cluster three and then you have another file called centroidids of the clusters and then you do the search by downloading centroidids looking at the centrids and then downloading the n closest clusters. There was a few optimizations around merging some clusters that were JSON in files and so on just to like control some cost and some performance but that was basically it and then getting that to scale. That was the first version. And then how do we make it fast? Well, I didn't even implement a caching layer. I just put the reverse proxy in front of S3 with Engine X and then had it >> know what a reverse proxy is. >> I like I do know what it is. I just still don't know what what the reverse is about. But anyway, um the reverse the reverse proxy reverse things. Um the the
Comments
Sign in to comment.
Loading comments…