Turbocharging Solr Index Replication with BitTorrent(codeascraft.etsy.com)
codeascraft.etsy.com
Turbocharging Solr Index Replication with BitTorrent
http://codeascraft.etsy.com/2012/01/23/solr-bittorrent-index-replication/
7 comments
Excellent. I've been considering doing something similar for our Sphinx indexes at Craigslist. Glad to see it works as well as I might have hoped.
I've no idea what your constraints are, but splitting the index into more manageable chunks, writing to multiple masters and reading from n slaves off each is an approach that has worked quite well for me (40 million plus records, big lumps of user generated content, total index about 100 GB iirc).
You sacrifice on the accuracy of IDF+, but gain some robustness as result too.
If the BitTorrent approach doesn't work too well, you might consider something similar. I've jotted down a few reading resources for scaling Solr++ but I should probably do a write up of the architecture I built for Boards.ie.
[1] http://wiki.apache.org/solr/DistributedSearch
[2] http://rossduggan.ie/blog/technology/reading-list-for-scalin...
You sacrifice on the accuracy of IDF+, but gain some robustness as result too.
If the BitTorrent approach doesn't work too well, you might consider something similar. I've jotted down a few reading resources for scaling Solr++ but I should probably do a write up of the architecture I built for Boards.ie.
[1] http://wiki.apache.org/solr/DistributedSearch
[2] http://rossduggan.ie/blog/technology/reading-list-for-scalin...
Great article and insight.
FYI mrsync is confusingly named since it doesn’t actually use the rsync algorithm it performs multicast file transfer. (The whole file is sent not just the deltas).
I’ve always thought it would be cool if someone added rsync capabilities on top of bittorrent. I’m not sure Etsy would see any benefit but I bet Twitter with their murder server deploy would.
FYI mrsync is confusingly named since it doesn’t actually use the rsync algorithm it performs multicast file transfer. (The whole file is sent not just the deltas).
I’ve always thought it would be cool if someone added rsync capabilities on top of bittorrent. I’m not sure Etsy would see any benefit but I bet Twitter with their murder server deploy would.
How does postgresql's search compare to solr?
(With postgresql, I think replicating the search index to read-only nodes is a solved problem.)
(With postgresql, I think replicating the search index to read-only nodes is a solved problem.)
Well, before Etsy switched to Solr we were using postgres tsearch2, and by the end of that search response times were in the 90 second range. And at the time replication wasn't part of postgres so we had a hacked up buggy in-house replicator.
Depending on your schema, Solr will be much faster than Psql's full text search. Solr's faceted searching is much faster than table JOINs.
But IMHO, the main advantage to use Solr for search instead of Postgres is the query API.
But IMHO, the main advantage to use Solr for search instead of Postgres is the query API.
With ElasticSearch you wouldn't have that problem. It uses push instead pull replication ... which is also (near) real time aware. Even for peta whatever byte.
Here is the video where Shay explained the difference http://vimeo.com/26710663 (from 18min on)
They are heavily using ExternalFileField - I don't think there's anything similar in ElasticSearch.
ha, kellan is standing in my office door right now
Etsy wins, Etsy customers win, and now everyone who uses Solr and ttorrent wins too.