Re: Re: An easier way to create time series.
easible schema organization ways and "select * from the table" > results: > >> > >>(1) Each type of datasource is a table, which has a time column, > some tag columns and some field columns. > >> > >>Table: sourceType > >>time tag1, field1, field2 > >>1, device1, 1, 1 > >>2, device1, 2, 2 > >>2, device2, 2, 2 > >> > >>(2) Each datasource is a table with some tags. Each table has a time > column, and some field columns. (Tags of one datasource may be not changed, > so just see it as metadata.) > >> > >>Table: source1(tag1=device1) > >>time, field1, field2 > >>1, 1, 1 > >>2, 2, 2 > >> > >>Table: source2(tag1=device2) > >>time, field1, field2 > >>2, 2, 2 > >> > >> > >>Best, > >>-- > >>Jialin Qiao > >>School of Software, Tsinghua University > >> > >>乔嘉林 > >>清华大学 软件学院 > >> > >>> -原始邮件- > >>> 发件人: "Julian Feinauer" > >>> 发送时间: 2019-08-14 16:10:22 (星期三) > >>> 收件人: "dev@iotdb.apache.org" > >>> 抄送: > >>> 主题: Re: An easier way to create time series. > >>> > >>> Hi, > >>> > >>> let me stick in hier also. > >>> One of the things which was at first a bit "unfamiliar" for me was > this device focus. > >>> It’s a bit to "one-dimensional" in my perspective. > >>> > >>> Personally, I quite like how Influx does it that you have a name > and can attach tags and fields to it. > >>> And even if we do not do it that way I would prefer to name it a > bit differently as "series" or "measurement" or "source". > >>> Device is a bit specific and just sounds odd, from a users > perspective. > >>> > >>> I think it was good to keep it that way for 0.8.0. > >>> But for the next release we are open to break things a bit. > >>> > >>> What do others think? > >>> > >>> Julian > >>> > >>> Am 14.08.19, 04:52 schrieb "Tian Jiang" : > >>> > >>> Maybe starting from a sugar, we can add some improvements > gradually. Currently, I think making timeseries creation easier should be > enough. Please share if you have some fancy ideas that can go with the > introduction of "device". > >>> > >>> Tian Jiang > >>> > >>> > >>> At 2019-08-14 10:44:14, "Xiangdong Huang" > wrote: > >>> >Hi, > >>> > > >>> >Looks fine for me. > >>> > > >>> >One question, is it just a language syntax sugar, or we can > as well as > >>> >improve the schema management? Any idea? > >>> > > >>> >Best, > >>> >--- > >>> >Xiangdong Huang > >>> >School of Software, Tsinghua University > >>> > > >>> > 黄向东 > >>> >清华大学 软件学院 > >>> > > >>> > > >>> >Tian Jiang 于2019年8月14日周三 上午10:37写道: > >>> > > >>> >> Greetings, > >>> >> > >>> >> > >>> >> In the present version, it is a little trouble some to > create a set > >>> >> timeseries that has the same measurements. On the other > hand, although we > >>> >> use the conception "device" in the code, it is not properly > abstracted. > >>> >> > >>> >> Expected usage: > >>> >> > >>> >> Using IoTDB in a more relational way: > >>> >> > >>> >> CREATE DEVICE TEMPLATE vehicle (speed DOUBLE PLAIN, > direction DOUBLE > >>> >> PLAIN, temperature DOUBLE PLAIN, fuel DOUBLE PLAIN) > >>> >> > >>> >> If all datatypes(or encodings) are the same, you can write > the equal form: > >>> >> > >>> >> CREATE DEVICE TEMPLATE vehicle MEASUREMENTS (speed, > direction, > >>> >> temperature, fuel) DATATYPE DOUBLE ENCODING PLAIN > >>> >> > >>> >> Then you will be able to create time series in an easier > way: > >>> >> > >>> >> CREATE DEVICE (vehicle) root.sg1.vehicle1 > >>> >> > >>> >> Which equals: > >>> >> > >>> >> CREATE TIMESERIES root.sg1.vehicle1.speed WITH > >>> >> DATATYPE=DOUBLE,ENCODING=PLAIN > >>> >> > >>> >> CREATE TIMESERIES root.sg1.vehicle1.direction WITH > >>> >> DATATYPE=DOUBLE,ENCODING=PLAIN > >>> >> > >>> >> CREATE TIMESERIES root.sg1.vehicle1.fuel WITH > >>> >> DATATYPE=DOUBLE,ENCODING=PLAIN > >>> >> > >>> >> CREATE TIMESERIES root.sg1.vehicle1.temperature WITH > >>> >> DATATYPE=DOUBLE,ENCODING=PLAIN > >>> >> > >>> >> I hope this will narrow the gap between using IoTDB and > traditional > >>> >> relation databases. > >>> >> Jira link: > >>> >> > https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-163?filter=allopenissues > >>> >> > >>> >> > >>> >> Tian Jiang > >>> > >>> > > > > >
Re: An easier way to create time series.
Hi, agree. This was more as a first comment I wanted to throw in : ) And with such BIG changes I totally agree that a DISCUSSION Thread has to be openend and in the end if no consensus is found even a VOTE should be done. Julian Am 14.08.19, 12:18 schrieb "Tian Jiang" : Hi Julian, Surely naming is important to users, but different users may have different opinions upon naming. I think it is hard to get everyone satisfied, so maybe we can hold a vote or something to discuss that later. My starting point is to provide a way to create a bunch of time series with fewer statements(as the title suggests) and this will not interfere with existing functionality. It is light-weight, and I can add this feature within a day or two. Adding tags is cool, which can definitely enhance the expressive power of IoTDB, But, the implementation may cause a lot of changes(and potential troubles) in the whole system, which is beyond the discussion. Since you seem interested, we may open another thread to discuss about the tags(or whatever you want to call it) in detail. Tian Jiang At 2019-08-14 17:12:41, "Julian Feinauer" wrote: >Hi Tian, > >naming i see as a minor issue to change but as a bigger issue to users (nomen est omen...). >Regarding your other comment I don’t get what you mean. > >Think of situations like monitoring stuff from several machines of multiple types in multiple plants. >Then I would like to say something like > >"do that for all series in plan A" or "in all series for machine Type X". > >Indeed its quite a "huge" change which has implications but it would rather "widen" the api to do "multi-series querying" rather than change it, I guess? > >Julian > >Am 14.08.19, 11:06 schrieb "Tian Jiang" : > >The naming is not a big issue, but your schema proposals seem to be turning IoTDB into something else. > > > > > >At 2019-08-14 16:55:33, "Jialin Qiao" wrote: >>Hi, >> >>I think source or datasource is good, and it's better to use, or at least add the tags and fields, because many TSDBs use these conceptual module. >> >>Some feasible schema organization ways and "select * from the table" results: >> >>(1) Each type of datasource is a table, which has a time column, some tag columns and some field columns. >> >>Table: sourceType >>time tag1, field1, field2 >>1, device1, 1, 1 >>2, device1, 2, 2 >>2, device2, 2, 2 >> >>(2) Each datasource is a table with some tags. Each table has a time column, and some field columns. (Tags of one datasource may be not changed, so just see it as metadata.) >> >>Table: source1(tag1=device1) >>time, field1, field2 >>1, 1, 1 >>2, 2, 2 >> >>Table: source2(tag1=device2) >>time, field1, field2 >>2, 2, 2 >> >> > >Best, >>-- >>Jialin Qiao >>School of Software, Tsinghua University >> >>乔嘉林 >>清华大学 软件学院 >> >>> -原始邮件- >>> 发件人: "Julian Feinauer" >>> 发送时间: 2019-08-14 16:10:22 (星期三) >>> 收件人: "dev@iotdb.apache.org" >>> 抄送: >>> 主题: Re: An easier way to create time series. >>> >>> Hi, >>> >>> let me stick in hier also. >>> One of the things which was at first a bit "unfamiliar" for me was this device focus. >>> It’s a bit to "one-dimensional" in my perspective. >>> >>> Personally, I quite like how Influx does it that you have a name and can attach tags and fields to it. >>> And even if we do not do it that way I would prefer to name it a bit differently as "series" or "measurement" or "source". >>> Device is a bit specific and just sounds odd, from a users perspective. >>> >>> I think it was good to keep it that way for 0.8.0. >>> But for the next release we are open to break things a bit. >>> >>> What do others think? >>> >>> Julian >>> >&
Re: An easier way to create time series.
Hi Tian, naming i see as a minor issue to change but as a bigger issue to users (nomen est omen...). Regarding your other comment I don’t get what you mean. Think of situations like monitoring stuff from several machines of multiple types in multiple plants. Then I would like to say something like "do that for all series in plan A" or "in all series for machine Type X". Indeed its quite a "huge" change which has implications but it would rather "widen" the api to do "multi-series querying" rather than change it, I guess? Julian Am 14.08.19, 11:06 schrieb "Tian Jiang" : The naming is not a big issue, but your schema proposals seem to be turning IoTDB into something else. At 2019-08-14 16:55:33, "Jialin Qiao" wrote: >Hi, > >I think source or datasource is good, and it's better to use, or at least add the tags and fields, because many TSDBs use these conceptual module. > >Some feasible schema organization ways and "select * from the table" results: > >(1) Each type of datasource is a table, which has a time column, some tag columns and some field columns. > >Table: sourceType >time tag1, field1, field2 >1, device1, 1, 1 >2, device1, 2, 2 >2, device2, 2, 2 > >(2) Each datasource is a table with some tags. Each table has a time column, and some field columns. (Tags of one datasource may be not changed, so just see it as metadata.) > >Table: source1(tag1=device1) >time, field1, field2 >1, 1, 1 >2, 2, 2 > >Table: source2(tag1=device2) >time, field1, field2 >2, 2, 2 > > >Best, >-- >Jialin Qiao >School of Software, Tsinghua University > >乔嘉林 >清华大学 软件学院 > >> -原始邮件- >> 发件人: "Julian Feinauer" >> 发送时间: 2019-08-14 16:10:22 (星期三) >> 收件人: "dev@iotdb.apache.org" >> 抄送: >> 主题: Re: An easier way to create time series. >> >> Hi, >> >> let me stick in hier also. >> One of the things which was at first a bit "unfamiliar" for me was this device focus. >> It’s a bit to "one-dimensional" in my perspective. >> >> Personally, I quite like how Influx does it that you have a name and can attach tags and fields to it. >> And even if we do not do it that way I would prefer to name it a bit differently as "series" or "measurement" or "source". >> Device is a bit specific and just sounds odd, from a users perspective. >> >> I think it was good to keep it that way for 0.8.0. >> But for the next release we are open to break things a bit. >> >> What do others think? >> >> Julian >> >> Am 14.08.19, 04:52 schrieb "Tian Jiang" : >> >> Maybe starting from a sugar, we can add some improvements gradually. Currently, I think making timeseries creation easier should be enough. Please share if you have some fancy ideas that can go with the introduction of "device". >> >> Tian Jiang >> >> >> At 2019-08-14 10:44:14, "Xiangdong Huang" wrote: >> >Hi, >> > >> >Looks fine for me. >> > >> >One question, is it just a language syntax sugar, or we can as well as >> >improve the schema management? Any idea? >> > >> >Best, >> >--- >> >Xiangdong Huang >> >School of Software, Tsinghua University >> > >> > 黄向东 >> >清华大学 软件学院 >> > >> > >> >Tian Jiang 于2019年8月14日周三 上午10:37写道: >> > >> >> Greetings, >> >> >> >> >> >> In the present version, it is a little trouble some to create a set >> >> timeseries that has the same measurements. On the other hand, although we >> >> use the conception "device" in the code, it is not properly abstracted. >> >> >> >> Expected usage: >> >> >> >> Using IoTDB in a more relational way: >> >> >> >> CREATE DEVICE TEMPLATE vehicle (speed DOUBLE PLAIN, direction DOUBLE >> >> PLAIN, temperature DOUB
Re: An easier way to create time series.
Hi, I think source or datasource is good, and it's better to use, or at least add the tags and fields, because many TSDBs use these conceptual module. Some feasible schema organization ways and "select * from the table" results: (1) Each type of datasource is a table, which has a time column, some tag columns and some field columns. Table: sourceType time tag1, field1, field2 1, device1, 1, 1 2, device1, 2, 2 2, device2, 2, 2 (2) Each datasource is a table with some tags. Each table has a time column, and some field columns. (Tags of one datasource may be not changed, so just see it as metadata.) Table: source1(tag1=device1) time, field1, field2 1, 1, 1 2, 2, 2 Table: source2(tag1=device2) time, field1, field2 2, 2, 2 Best, -- Jialin Qiao School of Software, Tsinghua University 乔嘉林 清华大学 软件学院 > -原始邮件- > 发件人: "Julian Feinauer" > 发送时间: 2019-08-14 16:10:22 (星期三) > 收件人: "dev@iotdb.apache.org" > 抄送: > 主题: Re: An easier way to create time series. > > Hi, > > let me stick in hier also. > One of the things which was at first a bit "unfamiliar" for me was this > device focus. > It’s a bit to "one-dimensional" in my perspective. > > Personally, I quite like how Influx does it that you have a name and can > attach tags and fields to it. > And even if we do not do it that way I would prefer to name it a bit > differently as "series" or "measurement" or "source". > Device is a bit specific and just sounds odd, from a users perspective. > > I think it was good to keep it that way for 0.8.0. > But for the next release we are open to break things a bit. > > What do others think? > > Julian > > Am 14.08.19, 04:52 schrieb "Tian Jiang" : > > Maybe starting from a sugar, we can add some improvements gradually. > Currently, I think making timeseries creation easier should be enough. Please > share if you have some fancy ideas that can go with the introduction of > "device". > > Tian Jiang > > > At 2019-08-14 10:44:14, "Xiangdong Huang" wrote: > >Hi, > > > >Looks fine for me. > > > >One question, is it just a language syntax sugar, or we can as well as > >improve the schema management? Any idea? > > > >Best, > >--- > >Xiangdong Huang > >School of Software, Tsinghua University > > > > 黄向东 > >清华大学 软件学院 > > > > > >Tian Jiang 于2019年8月14日周三 上午10:37写道: > > > >> Greetings, > >> > >> > >> In the present version, it is a little trouble some to create a set > >> timeseries that has the same measurements. On the other hand, although > we > >> use the conception "device" in the code, it is not properly abstracted. > >> > >> Expected usage: > >> > >> Using IoTDB in a more relational way: > >> > >> CREATE DEVICE TEMPLATE vehicle (speed DOUBLE PLAIN, direction DOUBLE > >> PLAIN, temperature DOUBLE PLAIN, fuel DOUBLE PLAIN) > >> > >> If all datatypes(or encodings) are the same, you can write the equal > form: > >> > >> CREATE DEVICE TEMPLATE vehicle MEASUREMENTS (speed, direction, > >> temperature, fuel) DATATYPE DOUBLE ENCODING PLAIN > >> > >> Then you will be able to create time series in an easier way: > >> > >> CREATE DEVICE (vehicle) root.sg1.vehicle1 > >> > >> Which equals: > >> > >> CREATE TIMESERIES root.sg1.vehicle1.speed WITH > >> DATATYPE=DOUBLE,ENCODING=PLAIN > >> > >> CREATE TIMESERIES root.sg1.vehicle1.direction WITH > >> DATATYPE=DOUBLE,ENCODING=PLAIN > >> > >> CREATE TIMESERIES root.sg1.vehicle1.fuel WITH > >> DATATYPE=DOUBLE,ENCODING=PLAIN > >> > >> CREATE TIMESERIES root.sg1.vehicle1.temperature WITH > >> DATATYPE=DOUBLE,ENCODING=PLAIN > >> > >> I hope this will narrow the gap between using IoTDB and traditional > >> relation databases. > >> Jira link: > >> > https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-163?filter=allopenissues > >> > >> > >> Tian Jiang > >
Re: An easier way to create time series.
Hi, let me stick in hier also. One of the things which was at first a bit "unfamiliar" for me was this device focus. It’s a bit to "one-dimensional" in my perspective. Personally, I quite like how Influx does it that you have a name and can attach tags and fields to it. And even if we do not do it that way I would prefer to name it a bit differently as "series" or "measurement" or "source". Device is a bit specific and just sounds odd, from a users perspective. I think it was good to keep it that way for 0.8.0. But for the next release we are open to break things a bit. What do others think? Julian Am 14.08.19, 04:52 schrieb "Tian Jiang" : Maybe starting from a sugar, we can add some improvements gradually. Currently, I think making timeseries creation easier should be enough. Please share if you have some fancy ideas that can go with the introduction of "device". Tian Jiang At 2019-08-14 10:44:14, "Xiangdong Huang" wrote: >Hi, > >Looks fine for me. > >One question, is it just a language syntax sugar, or we can as well as >improve the schema management? Any idea? > >Best, >--- >Xiangdong Huang >School of Software, Tsinghua University > > 黄向东 >清华大学 软件学院 > > >Tian Jiang 于2019年8月14日周三 上午10:37写道: > >> Greetings, >> >> >> In the present version, it is a little trouble some to create a set >> timeseries that has the same measurements. On the other hand, although we >> use the conception "device" in the code, it is not properly abstracted. >> >> Expected usage: >> >> Using IoTDB in a more relational way: >> >> CREATE DEVICE TEMPLATE vehicle (speed DOUBLE PLAIN, direction DOUBLE >> PLAIN, temperature DOUBLE PLAIN, fuel DOUBLE PLAIN) >> >> If all datatypes(or encodings) are the same, you can write the equal form: >> >> CREATE DEVICE TEMPLATE vehicle MEASUREMENTS (speed, direction, >> temperature, fuel) DATATYPE DOUBLE ENCODING PLAIN >> >> Then you will be able to create time series in an easier way: >> >> CREATE DEVICE (vehicle) root.sg1.vehicle1 >> >> Which equals: >> >> CREATE TIMESERIES root.sg1.vehicle1.speed WITH >> DATATYPE=DOUBLE,ENCODING=PLAIN >> >> CREATE TIMESERIES root.sg1.vehicle1.direction WITH >> DATATYPE=DOUBLE,ENCODING=PLAIN >> >> CREATE TIMESERIES root.sg1.vehicle1.fuel WITH >> DATATYPE=DOUBLE,ENCODING=PLAIN >> >> CREATE TIMESERIES root.sg1.vehicle1.temperature WITH >> DATATYPE=DOUBLE,ENCODING=PLAIN >> >> I hope this will narrow the gap between using IoTDB and traditional >> relation databases. >> Jira link: >> https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-163?filter=allopenissues >> >> >> Tian Jiang
Re: An easier way to create time series.
Hi, Looks fine for me. One question, is it just a language syntax sugar, or we can as well as improve the schema management? Any idea? Best, --- Xiangdong Huang School of Software, Tsinghua University 黄向东 清华大学 软件学院 Tian Jiang 于2019年8月14日周三 上午10:37写道: > Greetings, > > > In the present version, it is a little trouble some to create a set > timeseries that has the same measurements. On the other hand, although we > use the conception "device" in the code, it is not properly abstracted. > > Expected usage: > > Using IoTDB in a more relational way: > > CREATE DEVICE TEMPLATE vehicle (speed DOUBLE PLAIN, direction DOUBLE > PLAIN, temperature DOUBLE PLAIN, fuel DOUBLE PLAIN) > > If all datatypes(or encodings) are the same, you can write the equal form: > > CREATE DEVICE TEMPLATE vehicle MEASUREMENTS (speed, direction, > temperature, fuel) DATATYPE DOUBLE ENCODING PLAIN > > Then you will be able to create time series in an easier way: > > CREATE DEVICE (vehicle) root.sg1.vehicle1 > > Which equals: > > CREATE TIMESERIES root.sg1.vehicle1.speed WITH > DATATYPE=DOUBLE,ENCODING=PLAIN > > CREATE TIMESERIES root.sg1.vehicle1.direction WITH > DATATYPE=DOUBLE,ENCODING=PLAIN > > CREATE TIMESERIES root.sg1.vehicle1.fuel WITH > DATATYPE=DOUBLE,ENCODING=PLAIN > > CREATE TIMESERIES root.sg1.vehicle1.temperature WITH > DATATYPE=DOUBLE,ENCODING=PLAIN > > I hope this will narrow the gap between using IoTDB and traditional > relation databases. > Jira link: > https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-163?filter=allopenissues > > > Tian Jiang