You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by John Reuning <jr...@lulu.com> on 2007/10/04 18:07:31 UTC
Real-time replication
Apologies if this has been covered. I searched the archives and didn't
see a thread on this topic.
Has anyone experimented with a near real-time replication scheme similar
to RDBMS replication? There's large efficiency in using rsync to copy
the lucene index files to slaves, but what if you want index changes to
propagate in a few seconds instead of a few minutes?
Is it feasible to make a solr manager take update requests and send them
to slaves as it receives them? (I guess maybe they're not really slaves
in this case.) The manager might issue commits every 10-30 seconds to
reduce the write load. Write overhead still exists on all read servers,
but at least the read requests are spread across the pool.
Thanks,
-John R.
Re: Real-time replication
Posted by Walter Underwood <wu...@netflix.com>.
We don't use Solr replication. Each server is independent and
does its own indexing. This has several advantages:
* all installations are identical
* no single point of failure
* no inter-server version or config dependencies
* we can run a different version or config on one server for testing
The drawbacks are:
* 4X the DB accesses to get content
* each server has a CPU spike during indexing (we stagger that)
When we finally move to Solr 1.2 (or 1.3 if we wait long enough),
we can install it on one server and watch the performance. No need
to worry about different versions of Lucene.
Matthew: If your Searchers are only open for a short while, don't pre-warm.
Pre-warming is an optimization, not a necessity.
wunder
On 10/4/07 9:32 AM, "Matthew Runo" <mr...@zappos.com> wrote:
> The only problem that I see possibly happening is that you may end up
> committing more often than SOLR can open/prewarm new searchers. This
> happens in the peak of the day on our servers - leaving us with 5-10
> searchers just hanging out waiting for prewarm to be up - only be
> closed as soon as they're registered because there's already another
> searcher waiting behind it.
>
> That said, I need to tune my cache. A lot.
>
> +--------------------------------------------------------+
> | Matthew Runo
> | Zappos Development
> | mruno@zappos.com
> | 702-943-7833
> +--------------------------------------------------------+
>
>
> On Oct 4, 2007, at 9:07 AM, John Reuning wrote:
>
>> Apologies if this has been covered. I searched the archives and
>> didn't see a thread on this topic.
>>
>> Has anyone experimented with a near real-time replication scheme
>> similar to RDBMS replication? There's large efficiency in using
>> rsync to copy the lucene index files to slaves, but what if you
>> want index changes to propagate in a few seconds instead of a few
>> minutes?
>>
>> Is it feasible to make a solr manager take update requests and send
>> them to slaves as it receives them? (I guess maybe they're not
>> really slaves in this case.) The manager might issue commits every
>> 10-30 seconds to reduce the write load. Write overhead still
>> exists on all read servers, but at least the read requests are
>> spread across the pool.
>>
>> Thanks,
>>
>> -John R.
>>
>
Re: Real-time replication
Posted by Matthew Runo <mr...@zappos.com>.
The only problem that I see possibly happening is that you may end up
committing more often than SOLR can open/prewarm new searchers. This
happens in the peak of the day on our servers - leaving us with 5-10
searchers just hanging out waiting for prewarm to be up - only be
closed as soon as they're registered because there's already another
searcher waiting behind it.
That said, I need to tune my cache. A lot.
+--------------------------------------------------------+
| Matthew Runo
| Zappos Development
| mruno@zappos.com
| 702-943-7833
+--------------------------------------------------------+
On Oct 4, 2007, at 9:07 AM, John Reuning wrote:
> Apologies if this has been covered. I searched the archives and
> didn't see a thread on this topic.
>
> Has anyone experimented with a near real-time replication scheme
> similar to RDBMS replication? There's large efficiency in using
> rsync to copy the lucene index files to slaves, but what if you
> want index changes to propagate in a few seconds instead of a few
> minutes?
>
> Is it feasible to make a solr manager take update requests and send
> them to slaves as it receives them? (I guess maybe they're not
> really slaves in this case.) The manager might issue commits every
> 10-30 seconds to reduce the write load. Write overhead still
> exists on all read servers, but at least the read requests are
> spread across the pool.
>
> Thanks,
>
> -John R.
>