0

I have a table that is a read-only table (real-time view), I used Aria based on the recommendation for read-heavy workload.

Based on this What are the main differences between InnoDB and MyISAM?

When it comes to cache is Aria like MyISAM or like InnoDB? meaning, Can I cache only indexes or can I also cache the data? (under the assumption I have large enough RAM)

1
  • (non-index) Data is cached effectively by the OS in page cache. This is a OS storage of the parts of files that have been recently used. The OS unuses ram in the system that provides this feature. There's no internal mechanism for it. – danblack Jan 19 at 22:24
0

As for now

We plan to also add CACHE INDEX for Aria tables if there is a need for this.

And as you can see that it is written in https://mariadb.com/kb/en/cache-index/ so that it would be more like the MyISAM, but as development and theory grows in time, we will see and wait, what they actually want to do qand implement.

2
  • yes but load index to cache support Aria so its really weird mariadb.com/kb/en/load-index – Ido Shilon Jan 19 at 18:29
  • @IdoShilon The syntax of CACHE INDEX enables you to specify that only particular indexes from a table should be assigned to the cache.they are not equal – nbk Jan 19 at 18:37
0

As I stated in my answer to What are the main differences between InnoDB and MyISAM?, MyISAM only cache indexes. There is only one setting for the global key cache. It is called key_buffer_size. MyISAM also features the use of dedicated key caches (I have many posts on this).

I see you are inquiring about MariaDB's Aria storage engine. There is a global key buffer for Aria but its option for the key cache is called aria_pagecache_buffer_size. Documentation here says

The size of the buffer used for index blocks for Aria tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford.

I don't know if Aria has dedicated key caches. I will leave that as homework for you.

2
  • I know, but in this article mariadb.com/kb/en/aria-storage-engine it says "This is where all index and data pages are cached. The bigger this is, the faster Aria will work." – Ido Shilon Jan 20 at 9:36
  • FACT: One of the documentation pages is definitely incorrect or incomplete. TEST: Create an Aria table with just a primary key (no secondary indexes). Setup cache size to be 128M. . Load 1GB of data into it, perhaps some sysbench operations against it.. Then, SHOW GLOBAL STATUS on any Aria buffers and see if the Aria cache is full or not. – RolandoMySQLDBA Jan 20 at 14:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.