Details
-
Task
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Hi, new features for memory engine... this could be used with MDEV-4674 memcache plugin and handlersocket plugin (maybe for normal SQL use too)
1) No memory
in a memcached server, for example, when we get no memory we can return 'no memory' or remove some itens and get space to add new key-value entry
the (1) feature for memory is:
add a no_memory algorithm to memory engine
ALTER TABLE memory_table ENGINE=MEMORY NO_MEMORY_ALGORITHM=NO_MEMORY/LRU
LRU should add a internal "last_update" column that represent the last changed date or index (0,1,2,3,4,5), lowers values are deleted first to get space
2) Row/Page level lock
i don't know if it's a nice feature or not, or maybe i'm talking about something that exists, or couldn't exists...
With high intensive memcache server we need (?) to lock, write, unlock return the variable in memcache (i think that in mem cache it's done per "page" aka slab)
when using memory engine this can be a problem if we only have a 'table' lock, instead a more granulary (row locks or a page lock), and very intensive writes
the (2) feature is:
implement row level or page level lock in memory engine
maybe something like:
ALTER TABLE memory ENGINE=MEMORY LOCK_LEVEL=TABLE/PAGE/ROW
Attachments
Issue Links
- relates to
-
MDEV-4674 [PATCH] NoSQL - Implement Memcached protocol and map it to one table / port
- Open