Hi Billy,

Yes, the cloud storage should be considered. The traditional file layouts
on HDFS may not work well on cloud storage. Kylin needs to allow extension
here. I will add this to the requirement.

Billy Liu <billy...@apache.org> 于2018年9月29日周六 下午3:22写道:

> Hi Shaofeng,
>
> I'd like to add one more character: cloud-native storage support.
> Quite a few users are using S3 on AWS, or Azure Data Lake Storage on
> Azure. If new storage engine could be more cloud friendly, more user
> could get benefits from it.
>
> With Warm regards
>
> Billy Liu
> ShaoFeng Shi <shaofeng...@apache.org> 于2018年9月28日周五 下午2:15写道:
> >
> > Hi Kylin developers.
> >
> > HBase has been Kylin’s storage engine since the first day; Kylin on HBase
> > has been verified as a success which can support low latency & high
> > concurrency queries on a very large data scale. Thanks to HBase, most
> Kylin
> > users can get on average less than 1-second query response.
> >
> > But we also see some limitations when putting Cubes into HBase; I shared
> > some of them in the HBaseConf Asia 2018[1] this August. The typical
> > limitations include:
> >
> >    - Rowkey is the primary index, no secondary index so far;
> >
> > Filtering by row key’s prefix and suffix can get very different
> performance
> > result. So the user needs to do a good design about the row key;
> otherwise,
> > the query would be slow. This is difficult sometimes because the user
> might
> > not predict the filtering patterns ahead of cube design.
> >
> >    - HBase is a key-value instead of a columnar storage
> >
> > Kylin combines multiple measures (columns) into fewer column families for
> > smaller data size (row key size is remarkable). This causes HBase often
> > needing to read more data than requested.
> >
> >    - HBase couldn't run on YARN
> >
> > This makes the deployment and auto-scaling a little complicated,
> especially
> > in the cloud.
> >
> > In one word, HBase is complicated to be Kylin’s storage. The maintenance,
> > debugging is also hard for normal developers. Now we’re planning to seek
> a
> > simple, light-weighted, read-only storage engine for Kylin. The new
> > solution should have the following characteristics:
> >
> >    - Columnar layout with compression for efficient I/O;
> >    - Index by each column for quick filtering and seeking;
> >    - MapReduce / Spark API for parallel processing;
> >    - HDFS compliant for scalability and availability;
> >    - Mature, stable and extensible;
> >
> > With the plugin architecture[2] introduced in Kylin 1.5, adding multiple
> > storages to Kylin is possible. Some companies like Kyligence Inc and
> > Meituan.com, have developed their customized storage engine for Kylin in
> > their product or platform. In their experience, columnar storage is a
> good
> > supplement for the HBase engine. Kaisen Kang from Meituan.com has shared
> > their KOD (Kylin on Druid) solution[3] in this August’s Kylin meetup in
> > Beijing.
> >
> > We plan to do a PoC with Apache Parquet + Apache Spark in the next phase.
> > Parquet is a standard columnar file format and has been widely supported
> by
> > many projects like Hive, Impala, Drill, etc. Parquet is adding the page
> > level column index to support fine-grained filtering.  Apache Spark can
> > provide the parallel computing over Parquet and can be deployed on
> > YARN/Mesos and Kubernetes. With this combination, the data persistence
> and
> > computation are separated, which makes the scaling in/out much easier
> than
> > before. Benefiting from Spark's flexibility, we can not only push down
> more
> > computation from Kylin to the Hadoop cluster. Except for Parquet, Apache
> > ORC is also a candidate.
> >
> > Now I raise this discussion to get your ideas about Kylin’s
> next-generation
> > storage engine. If you have good ideas or any related data, welcome
> discuss in
> > the community.
> >
> > Thank you!
> >
> > [1] Apache Kylin on HBase
> >
> https://www.slideshare.net/ShiShaoFeng1/apache-kylin-on-hbase-extreme-olap-engine-for-big-data
> > [2] Apache Kylin Plugin Architecture
> > https://kylin.apache.org/development/plugin_arch.html
> > [3] 基于Druid的Kylin存储引擎实践
> https://blog.bcmeng.com/post/kylin-on-druid.html--
> > Best regards,
> >
> > Shaofeng Shi 史少锋
>


-- 
Best regards,

Shaofeng Shi 史少锋

Reply via email to