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 >> > >> > 乔嘉林 >> > 清华大学 软件学院 >> > >> >