Posted by
litao on
Aug 21, 2019; 2:39am
URL: http://apache-carbondata-dev-mailing-list-archive.168.s1.nabble.com/DISCUSSION-Cache-Pre-Priming-tp83559p83648.html
hi Akash,
I have a few questions.
1. About the ways to Pre-Prime: there are 2 ways. one is cache when data loading, another is when the cace server started.
i think the latter is not desirable,because of load cache may take more it can course the cache server long time no response. For the first type need some data support. it may take more time then data loading cache the index data. Although threads are started, there will still be a lot of IO and computing overhead.It may slow down the data loading speed. so the first type need some detail data, How big is the data index file?How much impact does it have on loading?
Should we provide a third way, the way of interface triggers? User-triggered cache loading can be provided. Users can specify when the system is free, such as triggering loading late at night.
2.About Configuration
Could you please give an example of the use of carbon.index.server.pre.prime.
3.About Datamap Table Loading or Child Table Loading to Cache
i think this point is very important, more detailed description is needed. such as the update and delete happen, how about the cache change. when drop or create new mv how about the cache changed?etc.
4.About Rebuild Command
what do we need to do when use this command, first clear the cache data, then loading the cache again? does this command can be executed many times。
5. About Compaction
Does like the rebuild before,we need to decide which cache should be clear and another segments's cache need be loaded?
On 2019/08/15 12:03:09, Akash Nilugal <
[hidden email]> wrote:
> Hi Community,
>
> Currently, we have an index server which basically helps in distributed
> caching of the datamaps in a separate spark application.
>
> The caching of the datamaps in index server will start once the query is
> fired on the table for the first time, all the datamaps will be loaded
>
> if the count(*) is fired and only required will be loaded for any filter
> query.
>
>
> Here the problem or the bottleneck is, until and unless the query is fired
> on table, the caching won’t be done for the table datamaps.
>
> So consider a scenario where we are just loading the data to table for
> whole day and then next day we query,
>
> so all the segments will start loading into cache. So first time the query
> will be slow.
>
>
> What if we load the datamaps into cache or preprime the cache without
> waititng for any query on the table?
>
> Yes, what if we load the cache after every load is done, what if we load
> the cache for all the segments at once,
>
> so that first time query need not do all this job, which makes it faster.
>
>
> Here i have attached the design document for the pre-priming of cache into
> index server. Please have a look at it
>
> and any suggestions or inputs on this are most welcomed.
>
>
>
https://drive.google.com/file/d/1YUpDUv7ZPUyZQQYwQYcQK2t2aBQH18PB/view?usp=sharing>
>
>
> Regards,
>
> Akash R Nilugal
>