[MDEV-4675] MEMORY ENGINE - New features - ala cache engines Created: 2013-06-18  Updated: 2014-03-03

Status: Open
Project: MariaDB Server
Component/s: None
Fix Version/s: None

Type: Task Priority: Minor
Reporter: roberto spadim Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-4674 [PATCH] NoSQL - Implement Memcached p... Open

 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


Generated at Thu Feb 08 06:58:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.