Impelement in-house file caching.
---------------------------------

                 Key: CASSANDRA-2731
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2731
             Project: Cassandra
          Issue Type: New Feature
          Components: Core
    Affects Versions: 1.0
            Reporter: Pavel Yaskevich
            Assignee: Pavel Yaskevich


Implement FileCache, CachedRandomAccessFile (to replace 
BufferedRandomAccessFile) and RadixTree (to play role of the backend cache 
storage) classes.

FileCache class with be responsible for storing/retrieving data from Radix Tree 
and also flushing of the dirty pages to the disk, page management such as 
adding new pages, utilizing old/unused pages.

CRAF Linux only features (via JNI):

1). O_DIRECT for both read/write operations.
2). AIO's lio_listio write operation batching.

Provide possibility to migrate hot data directly from Memtable to CRAF cache to 
keep live-reads data always hot in memory. To minimise compaction effects CRAF 
should provide a way to by-pass a caching data if it does not already exists. 

Provide a way to make pointers in the cache which will be useful to minimize 
impact on performance when a single column is distributed among multiple 
SSTable files (except counter columns).

Use jemalloc (http://www.canonware.com/jemalloc/) for cache memory management.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to