粉丝171获赞701

大家好,我是陶瓷数据创始人陶建辉,我今天想给大家分享一下我们开发的 tdn 境的一个 创新啊,这是我们替天经理一个相当重要的创新,那就数据模型的创新,这个数据模型是一个数据采集点一张表,或者在有些场景下是一个设备一张表, 那为什么要用一个数据采集点一张表呢?那呃,我跟大家分析一下,正常啊,别说我们有很多智能电表,大家在设计这个数据库的时候,很自然的想到是把所有智能电表的设备 啊的数据啊往一张表里写,这个表里面呢,比如说有设备 id, 有时间搓,有电流,有电压等等啊,一些采集量。那但是呢,由于每个 电表采集的数据啊,到达服务期的时间是不可控的,对吧?而且每个电表的数据特征是不一致的,因此他到达的顺序是乱的,虽然每台电表采集的是顺序是相对固定的,但是呢,他到达服务器这样玩具是乱的啊,而且数据特征不一致, 那如果我们把它变成一个设备一张表之后,大家可以看得到他,首先呢,每个电表采集的数据啊,在一个表内顺序是相对固定的,也就说他自然是有序的好。 之后呢,还有一个重要的特征就是他每个智能电表采集数据是完全不关联的,不藕合的,相当独立的,比如说车与车之间的数据是毫不藕合的,那因此呢,那整个一张表他的数据是唯一的,那他的操作就变成一个数据,最佳操作不一定是 有序,而且是个追加操作。那么所有做计算机的人都知道,一旦是这个数据写运操作变成一个数据追加操作的时候,那一定是特别的快。因此我们这个一个数据采集的一张表的方式啊,它能让写运速度极其之快, 那除此之外,他们也让查询很快,那为什么能让查询很快呢?至于我们把一个设备的数据或者一张表的数据啊,他是一块一块的连续乘除,别说我一块是重出一百条记录或者一千条记录。 哦,那我们每一次 iphone 操作,一读就是读到几百的,甚至几千条。那互联网数据有一个特征,他就是他往往关注的不是单独一条的记录,而是关心的是一个时间段的数据,那因此他一个时间段往往有几十条,甚至几百条。那因此我一 一次哎呦操作,就把你一个时间段的范围全部读出来,那因此我的查询速度一定快,对吧?好。第三个呢,还有一个好处,它因为每个智能电表,它的数据,或者每一台汽车任何一个传感器,它采集的数据啊,它不是图片,它是渐变的, 他在数据特征相当于一致,那数据特征相当一致的时候,那我们的压缩就相当好处。 如果你把所有的智能电表数据混在一起,或者把所有的汽车的数据混在一起,每一部车是本地跑,有的车是在北京跑,有的车是在上上海跑,他的 gps 位置完全不一样,速度也完全不一样,那这个时候就很不好压缩。 如果我把一台车给数据放在一起,它的数据特征相当一致,压缩力就大幅提高,算是同样的压缩算法, 因此呢,总结来讲,我们如果采取一个啊数据采集点一张表的方式,能够大幅提高数据写入速度,能够大幅提高 一个时间段数据查询速度,也能大幅提高他的压缩力。因此这个方法让我们 tdn 机相对于吉他实序数据库,特别是相对于吉他通用数据会而言,我们的性能极其之高,谢谢大家。

大家好,我是陶瓷数据创始人陶建辉,我今天想跟大家分享一下我们 tdnt 的另外一个很重要的技术创新,那就是超级表。 大家知道啊,我们姑娘,我们天天有一个创新,就叫一个数据采集的一张表,但是呢,这个数据采集点在真实世界上是特别多的,比如说智能电表,他就一千万个,那叫创新。千万张表,那这一千万张表, 我那表的数量就积极之多,那他的管理就极其复杂。而且我们经常的操作,不禁之前查一个智能电表,或者查一台汽车的数据 心脏,还做聚合的操作,说我就想查整个北京市的用电总量,或者我想查整个北京、望京的用电总量,那他就要去做聚合操作,对吧?一旦做聚合操作,那我将每张表 那第一个人来讲,在最后再求一个和,那就很复杂。因此呢,为了解决这个问题啊,我为了解决高效聚合,解决表多的问题,我们就提出来了一个方案,叫超级表。那到底什么是超级表呢?我们在我们眼里就是我们任何一种类型 的设备,我们可以定位一个超级表,别说智能电表这个类型,我们定位一个超级表,特斯拉汽车这个类型,我们定位一个超级表, 超级表他本质上就是个模板,他说这这一种设备,这一种类型的设备,他能采集哪些数据量?举个例子,别说智能电表,他采集了电流、电压、向位, 同时每个智能电表他还有静态属性,比如说位置、类型这些属性。因此我在创建钞币超级表,实际上是创建了一个模板,说他 的是什么,他的标签类型是什么?就是这样,那这唱进完超级表之后呢,我们再用超级表做模板,创建具体的指表。我在做聚合操作的时候呢,我再用超级表来做聚合操作。我给大家举个例子, 假设我们为智能电表这个数据类型建了一个超级表,叫 smitter 啊,它采集量有电流,电压和向位。标签呢,有位置和类型。 create a table, smitter time stamp。 呃,电流电压好,标签,有 location, 有太阳啊, 那呢我后面呢,我就用 s 密特做模板,为六个智能电表创建六张表,地理位置呢为北京朝阳、海淀,上海浦东等等。好,大家看,你看这六张表就创建。那如果我要查询北京朝阳区所有智能电表的电压平均车和电流最大值的时候怎么办呢? 我就不成单个的啊,表明的查了,鹅鹅鹅,是我从超界我要查带上标签的固定条件,你说他的标签固定条件是 lok 性,等于北京点朝阳啊。啊,那因此呢,我所有的聚合操作 都是查超级表,而不是查纸表,不是查具体的某个智能电表啊,那因此我们所有的操作啊,就 查询就变得简单,聚合操作也变得激进之简单。我再举个例子,比如说我们要查询北京内心唯一的智能电表的电压平均值,那也很简单,你看,那我就把标签类型说太不等于一 location like 北京, 那北京包含,比如说北京朝阳,包含北京海淀很多区啊,那你看,这个社会语句就特别的简单。因此啊,我总结一下,我们的超级表呢,就像 普通表一样,但是你查询的是带上标签的顾虑条件,他就把符合顾虑条件的这些表啊,或者数据查一啊,数据啊聚合在一起,让你得到一个查询结果,因此很方便啊。另外一方面呢,我们的标签啊是可以增加删除修改的,而且是事后可以增加删除修改的, 而这样的话呢,让你很方便。别说我本来忘记打一个标签,打上一个设备型号的标签,那你可以事后加上,对吧?只有动某一个类型的设备进行分析,举个例子啊,比如说我某个风机啊,是金风生产的风机还是哪生产的风机,我要对这个风机进行分析,你打算这个型号就可以了, 而且我们的这个标签呢,可以达到一百二十八个,那数量积极之多,标签越多呢,就是维度可以很多啊。再一个呢,我们的标签可以是个数状结构, 举个例子,就像我刚才写的北京朝阳好望京一季一季的更小,这样的话呢,便于你搜索,减小搜索的范围。因此我们的整个这个超级表的设计啊,就是来往里帮你做高效聚合查询的,让你很方便,谢谢大家。