Next Major Memcached release / roadmap?

Randy Wigginton krw at nobugz.com
Sat Jun 16 19:01:48 UTC 2007


I've used MySQL as a DB backend to memcache with very good results;  
I'm not caching everything though, it is used sparingly.

When I investigated BDB with memcache, the blocking issue was a real  
performance issue.  Also syncing to the filesystem became a real slow  
& expensive operation.

On Jun 16, 2007, at 11:57 AM, Brad Fitzpatrick wrote:

> Iain,
>
> Correct me if I'm wrong, but my understanding is that Tugela's use  
> of BDB
> is blocking, killing the non-blocking event-based nature of the  
> memcached
> core.  If that's the case, how do you justify blocking in the event  
> loop?
> Seems utterly terrible for performance, and would never be merged.
> Unless BDB has some async API that you're using?  I haven't looked.
>
> - Brad
>
>
> On Sun, 17 Jun 2007, Iain Wade wrote:
>
>> I would like to see tugela-cache's BDB backend merged directly  
>> into memcached.
>>
>> tugela-cache was a fork of an old memcache version for use in
>> media-wiki/wikipedia. It ripped out the memory cache code and  
>> replaced
>> it with BDB.
>>
>> Subsequent enhancements to memcache have not been kept up to date in
>> tugela-cache. UDP support is not there, for example.
>>
>> If I coded/merged up a selectable backend patch which allowed a
>> runtime choice, would it be acceptable to people?
>>
>> --Iain
>>
>> On 5/30/07, Paul Lindner <lindner at inuus.com> wrote:
>>> I've been thinking of where memcached is now and where it might  
>>> go in
>>> the future.  I was hoping the community could come together and  
>>> define
>>> a roadmap of possible features to be added/incorporated in future
>>> memcached releases.
>>>
>>> Some patches that are floating around and are not yet committed
>>> include:
>>>
>>>  * non-expiring entries patch from Paul G
>>>  * Ring buffers patch from Nathan.
>>>  * Append data to existing entry from Filipe
>>>
>>> Also I have tasked myself with integrating some of Hi5's custom  
>>> server
>>> code into memcached.  This code would include variants of the
>>> memcached storage architecture and some possible background worker
>>> threads.
>>>
>>> Open issues that need consensus:
>>>
>>>   * Protocol changes -- do we want to extend memcached protocol to
>>>     support new features?  If so, what is the logical way to do  
>>> this.
>>>
>>>   * "Magic" values?  Do we want to allow some kind of mapping of
>>>     client data to variations in server behavior?
>>>
>>>     For example the non-expiration patch allows you to configure a
>>>     value that results in a non-expiring item.
>>>
>>>     Others have proposed that special features be enabled for a  
>>> common
>>>     prefix -- say all keys that have a  "ringbuffer:" prefix use  
>>> that
>>>     code path / storage engine..
>>>
>>>   * How do we accomodate new features without affecting performance.
>>>
>>>   * More? I'm sure there is..
>>>
>>>
>>> Hopefully this gets things going.  I hope we can agree on the right
>>> approach so we can incorporate as many community contributions as is
>>> possible and feasible.
>>>
>>>
>>> --
>>> Paul Lindner        ||||| | | | |  |  |  |   |   |
>>> lindner at inuus.com
>>>
>>>
>>
>>
>



More information about the memcached mailing list