BTW, thank you very much for offering this service, even though I don't use it often.
BTW, thank you very much for offering this service, even though I don't use it often.
Would having a few more people working on it make stuff move faster? Undeniably. But I don't think lack of manpower is an obstacle at the moment in the same lack of hardware. It's reasonable to expect there's an upper limit to how big a project you can manage as a single developer, but I don't think I'm there yet.
I would love to but I am not in a position to do it, at least not right now.
Right now I've got about two years runway, which isn't a lot but it also isn't nothing. Considering the project had barely started two years ago, and considering the opportunities it's already created, hopefully more options will make themselves available along the way somehow.
* More crawlers. This is mostly a network limitation. Disk requirement would be about 50 Tb in total of literally any hard drive, split along the crawlers.
* A dedicated number crunching machine for index construction and processing. Basically needs to be all cores and all RAM.
* A dedicated SQL server. Doesn't have to be super big or fast, but right now it's contending with the index for RAM.
* Either a bigger index server, or a few machines for a sharded index. I'd basically need 40 Tb worth of Enterpise SSD and 1 Tb total of RAM.
The problem space is very nice in that almost everything is either embarrassingly parallel along some axis or another or O(n)-O(n log n) so adding more hardware pays off well.
This is clearly too much hardware to run out of my apartment, even if the fuses held up the noise and heat would be intolerable, so likely some form of colocation hosting as well.
I dunno what it would land on. Probably a one-off cost of about $50k-$100k, depending the degree of redundancy. There's definitely stuff that could be done for less as well. Like right now the entire operation runs out of a single machine, and it's causing me to have to bring the service down for days at a time when I'm switching to a new index.