6月15日,第五届“地理信息开发者大会”(World Geospatial Developers Conference,WGDC)在北京国家会议中心隆重开幕。大会由空间信息产业创新创业服务平台泰伯主办,秉承不断引领和促进空间信息技术创新与变革的宗旨,WGDC已走过五个年头,如今成为全球最具前瞻性的跨界创新风向标。
在本届大会主会场上,苏州超擎图形软件科技发展有限公司总经理董福田作了题为“时空大数据,极速云引擎”的演讲,以下是演讲实录(尚未经本人核实)。
董福田:大家好!超擎成立于2002年,我们15年专注做一件事,解决数据量对信息系统性能的制约。比如矢量GIS中,我们遇到一个图层几百个GB,不做切片预处理,可以达到什么效果?既可以达到切片的性能,又可以实现专业GIS的功能,这是我们15年一直追求的目标。系统性能不受数量的制约有没有理念的支撑,在理论上有没有支撑?
在任意任何两个要素之间只有两种关系:
一种是线性关系。比如说数量增加一倍,传输增加一倍,显示的时间增加一倍。
另外一种非线性的,分两种,非线性A和非线性B,现有的系统是基于线性和非线性A,非线性A具有什么特点?数量增加一倍,性能可能降低N倍。举个例子,比如说注记的智能检测与避让。非线性B,数量增加的时候,它运算时间、传播数据量不是按照比例增加或者指数级增加,而是有一个最大值,这是它的一个理论上的支撑。比如说超擎15年的时间把信息化系统,无论是数据查询、读取、传输、显示、分析都变成非线性B,这是理论上来说做一个解决方案。
假如有一个路网的图层一个GB,传统方式把一个GB数据取过来,然后在前端来绘制,最终在屏幕上能看到数据多少?比如说400K,其实从显示的角度只有这400K你可能看到。如果说我们只传这400K,前端只绘制400K,那也就是说它的性能一定比你绘制一个GB性能快得多,因为像素是有限的,无论是手机还是电脑屏幕,最大所需数据量是把每个像素都绘制满,这是从绘制角度所耗的最大时间。如果只把400K传输过来没有压力,如果只读取这400K也没有压力,如果只查询这400K也没有压力,关键是怎么查到这400K,这是里面最关键的问题,空间索引。怎么通过空间索引查到对你需要的有效的数据,很多的时候系统性能实际上因为无效的数据把整个系统性能降低下来了。
超擎为什么能够解决这个问题?这源于什么?我们在2002年在做这个系统的时候,采取的思路是不一样的,2002年我们做超擎的时候对Super engine有一个定义,其中有一个是建立在以空间位置为主线,这里面含义是什么?超擎的索引是用空间位置来建立,而所有传统索引是用图元的外包矩形来建立,这里面有本质的区别。我们按空间位置建索引的区别在哪里?我们往下看,比如说前面的问题如果成立,我们举一个更加贴近实际的例子,比如说太湖有一千万个坐标点组成,如何显示的很小,可能只需一百个坐标点就可以显示太湖了,沿着太湖有条马路,同时化简如何保持空间关系不变,是一个行业难题。超擎索引是通过空间位置建立,进行聚合处理,化简时通过它能分析所有空间位置到底变了没有,如何进行处理。即解决了现有索引微观不够微观,现有索引是通过矢量数据的外包矩形来构建,超擎索引是通过空间位置建立的。
前面我讲的大家很容易理解,这样的一个系统性能在显示上效率是最高的,实际上来说超擎最有优势的部分不是可视化部分,而是空间关系计算。因为支撑显示做到空间关系不变这样的化简,基础就是空间关系计算,计算上有天然的优势。现在里面有很耗时的计算,非常复杂的计算规则,我们跟现有的平台相比优势的话,就是压力测试,上亿倍很轻松的,关键是在于数量有多大,为什么?因为算法的原理和数据量不是永远都成正比关系,有一个最大值,到达一定程度以后就不变了,测试都是第三方做的严格检测。
还有解决什么?解决索引数据量大,效率低的问题。我一开始说超擎索引用的空间位置,空间位置的数据量很大。超擎用了15年做突破,用空间位置做索引,索引数据量不足传统索引数据量的千分之一。我们做一个比较,有一个20G的美国路网,利用传统索引大概一个G,超擎索引180K,实现用空间位置建的索引只有180K,而且索引可以分布式传输。这为我们解决一个什么问题?效率问题。在数据导入、数据入库的时候效率更高,而且可以做到云端协同运算,因为索引到一定量的情况下,这个索引也是不随着数据量无限制增长。比如说前端一开始可以把索引先传过来,索引进行分析,因为我们在和瓦片地图做比较,比如说矢量地图性能效率跟它做比较,瓦片地图前端就知道需要哪些数据,不需要后端的运算,我们索引特别小,同样可以把索引传到前端,同样前端就知道你所需要的数据,直接调用这些数据,索引在前端查询而不是后端查询,这只是从数据查询的角度。索引的关键在于什么?关键在于它的运算。比如说做空间关系运算,判断一个点在不在区域里面,通过索引前端就可以做运算,绝对具有这种关系,绝对不具有这种关系,可能具有这种关系,可能的时候再到后台运算,已经不足传统模式数据量的5%了。这时候解决已经不是说你运算快慢的问题,而是95%的数据不用去查询,不用去读取,IO有时候对性能的压力更大。而剩下的运算,比如说点和面的关系,超清运算它和数据量也是没有关系,你是五千万个点还是一千万个点,做在不在区域里面的运算,基本上和包括10个点运算效率基本上一样。
我们和一个合作伙伴做电子围栏的压力测试,数量大的时候可以比传统算法快1176倍,这其实只是一个点选。和传统意义上空间关系计算相比,可以看到和传统相比它的效率不是一般意义上的几倍的关系,关键看数据量的多少,它这里面大量运算通过索引在前端完成,很少量运算在服务端进行的。再一个热力图,热力图我们可以做到什么程度?任意海量的数据,比如上亿的热点,位置数据,任意空间任意时间做热力分析,秒级,不做任何提前运算直接运算,任意时间、空间做热力分析,秒级,而且对服务器基本没有计算压力,仍然是云和端协同完成的。
再一个解决什么问题?传统索引宏观不够宏观的问题,空间关系不止表现在同一个图层,所以超擎能索引能够把所有地图上的图形进行融合计算。比如说传统索引按照数据集、图层来建的,而超擎索引是任意图层,它们分别建的索引,但是能够协同、融合、运算,这里面解决一个什么问题?解决了索引和数据分离的问题。因为现在有一些行业数据它不愿意拿出来做服务,这样我们可以建立一个云,索引云,然后行业把它数据放在自己服务器上,把索引因为数量小放在索引云里面,前端先读索引,解决行业问题,性能问题,各种压力,这个为了什么?为了支撑行业间的合作,行业间的融合。
马云以前说过现在进入了DT时代,但是我们认为DT仍然有IT,这个IT就是什么?就是索引技术。索引不止是一个数据的检索的问题,一个查询的问题。因为现在大数据情况下各种数据其实都有时间空间的属性,索引不止是大数据的内容,更是可以作为一个数据中心和连通各行业之间的一个神经网络。因为这种索引它可以解决行业之间的融合,还有数据和索引的分离,然后云和端能够协同运算。其实我们想做得是什么?朵朵白云,把数据之间、行业之间能够融合起来,共同提供服务。
超擎的产品,超擎做了十多年的GIS平台,在2002年我们做超擎主要是做GIS平台,那时候我们实际上把实时监控融为一体了。所以当时超擎为什么那么追求效率,因为它是实时监控平台,要秒级响应。现在超擎产品不做GIS平台了,最主要两个产品,一个是数据管理,特别是时空数据。再有一个是网络图形图像引擎。时空大数据引擎,基本上跟各位没有竞争关系,这两个产品国内也没有人在做。外面有超擎时空、超擎地图、超擎快图,不作为超擎产品提供的。这是超擎两个产品数和图。这个基础上有一个超擎加速器,主要针对现有空间信息系统进行加速,解决现在存在性能的一些环节,我们合作伙伴也很多,包括跟国信司南等都有合作。
再有就是超擎地图,从Server到Web,这个性能不止是效率问题,即达到公众地图的性能,又达到专业GIS的功能,还有并发量的问题,海量并发,秒级响应。这个平台是源码提供个合作伙伴的,支持合作伙伴开发行业平台,它跟现有平台联合起来。
还有超擎快图,主要针对影像数据,不是超擎重点产品,原因是影像产品通过切片也可以解决问题,矢量有一些切片没有办法解决,特别是行业数据和行为数据上。到了时空数据到时空位置你更不能做切片,所以说我们重点在矢量上面。
再有一个超擎时空,时空数据的话它的变化一个是在索引上增加了时间维,第二个数据海量,比如说三大运营商时空位置数据每天达到PB,数量越大超擎优势越明显,因为它跟数据量不是无限的关系。
超擎定位,只是针对全新的市场,在“数”和“读”。第一没有做平台,第二没有做项目,主要是数据管理和图形显示,还有互联网的服务,比如说跟现在地理信息没有竞争,我们是跳出地信,服务于地信。最主要把传统两种体系架构融为一个,一个是针对互联网切片的,一个是针对行业的,这两个可以成为一个信息架构,这样各种应用就可以打通了。
超擎的价值在哪里?这样一个产品除了我们自己数和读两个产品,在这之上,我们源码提供平台有什么价值?第一个解决你蛋糕营养价值多高,同样一千万能赚多少钱;第二个解决市场问题,性能指标还有能耗;再有一个处理时间,这是决定你切多大蛋糕的问题。再往上,行业问题,有大量存量市场,红海变蓝海。然后产业链问题,因为我们提供全套平台源码,把核心技术工作加上行业的积累变成行业平台,支撑这个行业发展,形成品牌,品牌就会得到意想不到的机会,是别人送蛋糕过来。这是超擎的情况,我们现在从2015年正式推出这样的产品,2015年之前我们做平台,2014年重新做的定位,现在进入很多行业,包括测绘、航天、电网、公安、农业、国土,现在很多行业都已经开始合作,数据量也已经到了几百G,矢量数据几百个G。谢谢各位。