I would like to bring up a VOTE mail to make the final decision If there no
objections.

What do you think?

Best,
Jincheng
-------------
Twitter: https://twitter.com/sunjincheng121
-------------


jincheng sun <sunjincheng...@gmail.com> 于2020年1月17日周五 上午10:39写道:

> Great thanks for adding more relationship info about `Merge`  and
> `Storage`.  @Xiangdong !
>
> As :
> > (now query engine is in the storage engine..) Merge is a submodule of
> storage engine and query engine.
>
> I think `query engine` and `storage engine` is make sense to me. Here only
> a suggestion that how about use the `Engine` for both `Storage Engine` and
> `Query Engine` as they are very close each other and they also have the
> common share `Merge`. i.e.,:
>
> --------
> Core
> Core/TsFile
> Core/Engine
> Core/WAL
> ---------------
>
> What to do you think?
>
> Best,
> Jincheng
>
>
> ------------------------------------------------------
> 1. --Connectors-------------
> Connectors components include all data integration with external systems,
> The components are listed as follows:
>
> Connectors
> Connectors/Grafana
> Connectors/Spark-TsFile
> Connectors/Spark-IoTDB
> Connectors/Hive-tsfile
> Connectors/Hadoop-tsfile
>
> 2. --Client-------------
> Client components involves RPC between client and server, a command-line
> interface(multi-languages).The components are listed as follows:
>
> Client
> Client/Java
> Client/Python
>
> 3. --Planner-------------
> Planner components involves the query process in IoTDB, including multiple
> types of queries, such as raw data query, aggregations, group by time,
> group by device, and includes many optimized rules.The components are
> listed as follows:
>
> Planner
> Planner/sql parser
> Planner/sql optimizer
>
> 4. --Core-------------
> Core components is the storage engine of IoTDB. The components are listed
> as follows:
>
> Core
> Core/TsFile
> Core/Engine
> Core/WAL
>
> 5. --Tools-------------
> Tools components involves many utils of IoTDB, Such as data Sync. The
> components are listed as follows:
> Tools
> Tools/Sync
> Tools/Other
>
> 6. --Authority---------
> Authority
>
> 7. --Distribution------
> Distribution
>
> 8. --Example-----------
> Example
>
> 9. --WebSite-----------
> WebSite
>
> 10. --Doc---------------
> Doc
>
> 11. --Other------------
> Other (I'm not sure if we really need the Other component, but there is no
> harm in adding one)
>
> Xiangdong Huang <saint...@gmail.com> 于2020年1月17日周五 上午12:50写道:
>
>> Hi,
>>
>> Thanks jincheng and jialin.
>>
>> Sorry for absence of the discussion because of  busy work these days..
>>
>> Some comments:
>>
>> > Core
>> > Core/TsFile
>> > Core/Merge
>> > Core/Storage
>> > Core/WAL
>>
>> Not so clearly.. maybe TsFile, WAL, Storage Engine, Query Engine? (now
>> query engine is in the storage engine..)
>> Merge is a submodule of storage engine and query engine.
>> If we pick out the merge module, we also need to pick out the FLUSH,
>> MODIFICATION, etc.. I think.
>>
>> Best,
>> -----------------------------------
>> Xiangdong Huang
>> School of Software, Tsinghua University
>>
>>  黄向东
>> 清华大学 软件学院
>>
>>
>> Jialin Qiao <qiaojia...@apache.org> 于2020年1月16日周四 下午11:21写道:
>>
>> > Hi Jincheng,
>> >
>> > Thank you! Looks good :)
>> >
>> > jincheng sun <sunjincheng...@gmail.com> 于2020年1月16日周四 下午4:01写道:
>> >
>> > > Thanks for your explanation! @Jialin
>> > >
>> > > I thought about the composition of our components from the external
>> > system,
>> > > the user level, to the IoTDB bottom-level implementation to the
>> auxiliary
>> > > tools, and I adjusted a little based on yours.  as follows:
>> > >
>> > > 1. --Connectors-------------
>> > > Connectors components include all data integration with external
>> systems,
>> > > The components are listed as follows:
>> > >
>> > > Connectors
>> > > Connectors/Grafana
>> > > Connectors/Spark-TsFile
>> > > Connectors/Spark-IoTDB
>> > > Connectors/Hive-tsfile
>> > > Connectors/Hadoop-tsfile
>> > >
>> > > 2. --Client-------------
>> > > Client components involves RPC between client and server, a
>> command-line
>> > > interface(multi-languages).The components are listed as follows:
>> > >
>> > > Client
>> > > Client/Java
>> > > Client/Python
>> > >
>> > > 3. --Planner-------------
>> > > Planner components involves the query process in IoTDB, including
>> > multiple
>> > > types of queries, such as raw data query, aggregations, group by time,
>> > > group by device, and includes many optimized rules.The components are
>> > > listed as follows:
>> > >
>> > > Planner
>> > > Planner/sql parsar
>> > > Planner/sql optimizer
>> > >
>> > > 4. --Core-------------
>> > > Core components is the storage engine of IoTDB. The components are
>> listed
>> > > as follows:
>> > >
>> > > Core
>> > > Core/TsFile
>> > > Core/Merge
>> > > Core/Storage
>> > > Core/WAL
>> > >
>> > > 5. --Tools-------------
>> > > Tools components involves many utils of IoTDB, Such as data Sync. The
>> > > components are listed as follows:
>> > > Tools
>> > > Tools/Sync
>> > > Tools/Other
>> > >
>> > > 6. --Authority---------
>> > > Authority
>> > >
>> > > 7. --Distribution------
>> > > Distribution
>> > >
>> > > 8. --Example-----------
>> > > Example
>> > >
>> > > 9. --WebSite-----------
>> > > WebSite
>> > >
>> > > 10. --Doc---------------
>> > > Doc
>> > >
>> > > 11. --Other------------
>> > > Other (I'm not sure if we really need the Other component, but there
>> is
>> > no
>> > > harm in adding one)
>> > >
>> > > This does not change much from your solution. The core is to add a
>> layer
>> > of
>> > > abstraction.
>> > >
>> > > Does this make sense to you? Anyway we can continue to improve if
>> needed!
>> > >
>> > > Best,
>> > > Jincheng
>> > >
>> > > Jialin Qiao <qiaojia...@apache.org> 于2020年1月15日周三 下午4:28写道:
>> > >
>> > > > Hi,
>> > > >
>> > > > WAL has an independent physical layout that has nothing to do with
>> > > TsFile.
>> > > > It is used in the writing process and recovering in IoTDB.
>> > > > It could be merged into Storage components.
>> > > >
>> > > > I'm not sure whether I leave out some components, so I add an Other
>> and
>> > > > therefore can not give an example...
>> > > >
>> > > > Thanks,
>> > > >
>> > > > jincheng sun <sunjincheng...@gmail.com> 于2020年1月15日周三 下午4:01写道:
>> > > >
>> > > > > Sorry for the late reply, I just came back from team outing.
>> > > > >
>> > > > > Thanks for adding more detail information. I have two questions
>> then:
>> > > > >
>> > > > > - Is WAL a write strategy for TsFlie, can WAL be incorporated into
>> > > other
>> > > > > components and what is the reason for being a separate component?
>> > > > > - Can you give an example of what changes belongs to the Other
>> > > component?
>> > > > >
>> > > > > Best,
>> > > > > Jincheng
>> > > > >
>> > > > >
>> > > > > Jialin Qiao <qiaojia...@apache.org> 于2020年1月9日周四 下午6:39写道:
>> > > > >
>> > > > > > Hi,
>> > > > > >
>> > > > > > Sure, maybe a bit more...
>> > > > > >
>> > > > > >   - TsFile : A columnar file format that has flexible schema and
>> > data
>> > > > > > management for time series.
>> > > > > >   - Storage : The storage engine of IoTDB, including writing to
>> > > > memtable
>> > > > > > (buffer), flushing, system recovery, and memtable management.
>> > > > > >   - Query : The query process in IoTDB, including multiple
>> types of
>> > > > > > queries, such as raw data query, aggregations, group by time,
>> group
>> > > by
>> > > > > > device.
>> > > > > >   - Merge : Compaction of data files, including multiple
>> compaction
>> > > > > > strategies, such as (1) merging unsequence TsFile with sequence
>> > > TsFile,
>> > > > > (2)
>> > > > > > merging small sequence TsFiles into a large TsFile.
>> > > > > >   - Sync: Synchronize data files from one IoTDB instance to
>> > another.
>> > > > > >   - Authority: Administration of IoTDB, including users, roles
>> and
>> > > > > > privileges.
>> > > > > >   - WAL : Write-ahead-log.
>> > > > > >   - Client: Rpc between client and server, a command-line
>> interface
>> > > and
>> > > > > > client of different languages.
>> > > > > >   - Distribution : The shared-nothing distribution of IoTDB,
>> > > including
>> > > > > raft
>> > > > > > protocol, data partition, and system information management.
>> > > > > >   - Grafana : The connector for using IoTDB as a data source in
>> > > > Grafana.
>> > > > > >   - Spark-TsFile : A connector that allows users read/write
>> TsFile
>> > > > > through
>> > > > > > SparkSQL (treat TsFile as an external data source for SparkSQL).
>> > > > > >   - Spark-IoTDB : A connector that allows users read/write IoTDB
>> > > > through
>> > > > > > SparkSQL (treat IoTDB as an external data source for SparkSQL).
>> > > > > >   - Hive-tsfile : A connector that maps TsFile as a table in
>> Hive
>> > for
>> > > > the
>> > > > > > query.
>> > > > > >   - Hadoop-tsfile : A connector that allows users read/write
>> TsFile
>> > > > > through
>> > > > > > MapReduce.
>> > > > > >   - Tools : Other tools for IoTDB, such as watermark, memory
>> > > > estimation,
>> > > > > > JMX, query history visualization.
>> > > > > >   - Example : Examples of different modules, such as JDBC,
>> Session,
>> > > > > TsFile.
>> > > > > >   - WebSite : IoTDB official website.
>> > > > > >   - Doc: documents of IoTDB, docs folder under root directory.
>> > > > > >   - Other: Those do not belong to the above components.
>> > > > > >
>> > > > > >
>> > > > > > jincheng sun <sunjincheng...@gmail.com> 于2020年1月9日周四 下午5:28写道:
>> > > > > >
>> > > > > > > Hi,
>> > > > > > >
>> > > > > > > @Xiangdong thank you for helping to clarify my original
>> > intention.
>> > > > you
>> > > > > > are
>> > > > > > > right, I really want to list some components to let users
>> choose
>> > > > which
>> > > > > > > component the given issue belongs to.
>> > > > > > >
>> > > > > > > @Jialin I think approach 4 would be more meaningful for IoTDB.
>> > > Could
>> > > > > you
>> > > > > > > please add the detailed description for each component, such
>> as,
>> > > > > describe
>> > > > > > > the relationship between `tsfile` and
>> > > > > > > (`tsfile/hive-tsfile/spark-tsfile/Hadoop-tsfile`), and which
>> > > changes
>> > > > > > belong
>> > > > > > > to `Other` component, etc., which can help us better
>> understand
>> > the
>> > > > > > reasons
>> > > > > > > for such classification. On the other hand, we will further
>> > discuss
>> > > > > > whether
>> > > > > > > there is optimization space for this component classification.
>> > > > > > >
>> > > > > > > What do you think?
>> > > > > > >
>> > > > > > > Best,
>> > > > > > > Jincheng
>> > > > > > >
>> > > > > > > Xiangdong Huang <saint...@gmail.com> 于2020年1月9日周四 下午4:46写道:
>> > > > > > >
>> > > > > > > > >  No that is not the Apache Way. No one should be in
>> charge of
>> > > an
>> > > > > area
>> > > > > > > >
>> > > > > > > > I think Jincheng's mean is, we can list some components to
>> let
>> > > > users
>> > > > > > > > choose which component the given issue belongs to.
>> > > > > > > >
>> > > > > > > > As for which components should be listed, we need to have a
>> > > > > discussion.
>> > > > > > > >
>> > > > > > > > > No one should be in charge of an area
>> > > > > > > >
>> > > > > > > > Yes everyone can assign an issue to himself/herself.
>> > > > > > > >
>> > > > > > > > Best,
>> > > > > > > > ----------------------------------
>> > > > > > > > Xiangdong Huang
>> > > > > > > > School of Software, Tsinghua University
>> > > > > > > >
>> > > > > > > >  黄向东
>> > > > > > > > 清华大学 软件学院
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > jincheng sun <sunjincheng...@gmail.com> 于2020年1月9日周四
>> 下午4:38写道:
>> > > > > > > >
>> > > > > > > > > > No that is not the Apache Way. No one should be in
>> charge
>> > of
>> > > an
>> > > > > > area.
>> > > > > > > > >
>> > > > > > > > > Oh, great thanks for correcting me Justin, maybe it's my
>> > > language
>> > > > > > > > > expression problems. I mean some contributors and
>> committers
>> > > will
>> > > > > be
>> > > > > > > very
>> > > > > > > > > interested in some components, then spend more time, and
>> be
>> > > more
>> > > > > > > familiar
>> > > > > > > > > with the code.
>> > > > > > > > >
>> > > > > > > > > Best,
>> > > > > > > > > Jincheng
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Justin Mclean <jus...@classsoftware.com> 于2020年1月9日周四
>> > > 下午4:27写道:
>> > > > > > > > >
>> > > > > > > > > > Hi,
>> > > > > > > > > >
>> > > > > > > > > > > When our community grows stronger, each\ module may
>> have
>> > > some
>> > > > > > > > specific
>> > > > > > > > > > person in charge.
>> > > > > > > > > >
>> > > > > > > > > > No that is not the Apache Way. No one should be in
>> charge
>> > of
>> > > an
>> > > > > > area.
>> > > > > > > > > >
>> > > > > > > > > > Thanks,
>> > > > > > > > > > Justin
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > > >
>> > > > > > --
>> > > > > > —————————————————
>> > > > > > Jialin Qiao
>> > > > > > School of Software, Tsinghua University
>> > > > > >
>> > > > > > 乔嘉林
>> > > > > > 清华大学 软件学院
>> > > > > >
>> > > > >
>> > > >
>> > > >
>> > > > --
>> > > > —————————————————
>> > > > Jialin Qiao
>> > > > School of Software, Tsinghua University
>> > > >
>> > > > 乔嘉林
>> > > > 清华大学 软件学院
>> > > >
>> > >
>> >
>> >
>> > --
>> > —————————————————
>> > Jialin Qiao
>> > School of Software, Tsinghua University
>> >
>> > 乔嘉林
>> > 清华大学 软件学院
>> >
>>
>

Reply via email to