Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-4675

MEMORY ENGINE - New features - ala cache engines

    XMLWordPrintable

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

          Activity

            People

              Unassigned Unassigned
              rspadim roberto spadim
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.