Re: Re: An easier way to create time series.

2019-08-14 Thread Xiangdong Huang
m 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.

2019-08-14 Thread Julian Feinauer
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
>>> 
>>&g

Re: An easier way to create time series.

2019-08-14 Thread Julian Feinauer
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.

2019-08-14 Thread Jialin Qiao
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.

2019-08-14 Thread Julian Feinauer
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.

2019-08-13 Thread Xiangdong Huang
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