爱游戏最新版本> 产品技术 > Vernox融合数据库

Vernox融合数据库

大数据时代迅猛发展爱游戏最新版本,传统的关系型数据库已经无法满足用户需求爱游戏最新版本,半结构化数据爱游戏最新版本、非结构化数据占比日益增加爱游戏最新版本,高吞吐爱游戏最新版本,海量的数据压力以及移动互联网时代,高并发的访问都需要新型数据库来支撑。内存数据库、文档数据库、列存储数据库爱游戏最新版本爱游戏最新版本、图数据库等新技术层出不穷爱游戏最新版本爱游戏最新版本。这样的技术发展趋势对数据库的使用者和维护者来说爱游戏最新版本,带来了更高的学习成本和技术更新压力。

企业在云计算的大环境下开始转型升级,以需求驱动转型成数据驱动爱游戏最新版本,支撑大数据分析计算的底层数据库就显得尤为重要爱游戏最新版本爱游戏最新版本。目前爱游戏最新版本,当需要操作和存储异构数据时,企业大多采用各类型数据库多管齐下的策略爱游戏最新版本爱游戏最新版本,这样导致了操作的不流畅和联合检索的复杂爱游戏最新版本,因此爱游戏最新版本,融合数据库是必然的趋势爱游戏最新版本爱游戏最新版本。

Vernox融合了事务爱游戏最新版本爱游戏最新版本、Json爱游戏最新版本爱游戏最新版本、图表三个功能于一体爱游戏最新版本,不基于任何开源代码爱游戏最新版本,完全自主研发爱游戏最新版本,并且创新性的将B+树索引与后缀排序算法相结合,形成了独具竞争力优势的字符串后缀索引,在中文检索速度上超越传统大型关系型数据库近十倍爱游戏最新版本,融合、高效、原创爱游戏最新版本爱游戏最新版本,是Vernox立足的根本爱游戏最新版本爱游戏最新版本,未来的竞争是数据竞争,掌握了底层数据库技术,即是掌握了核心竞争力爱游戏最新版本。
展开
1爱游戏最新版本爱游戏最新版本、融合关系爱游戏最新版本爱游戏最新版本、图爱游戏最新版本爱游戏最新版本、文档(json)于一身

Vernox原生支持图数据以节点和关系的形态存储爱游戏最新版本,并建立网状图索引爱游戏最新版本爱游戏最新版本。图索引为图表的基础索引爱游戏最新版本,不能单独创建爱游戏最新版本爱游戏最新版本。检索方式按照广度优先方式或深度优先方式进行遍历爱游戏最新版本爱游戏最新版本,对社交关系等网状数据的存储和操作具有天然优势。同时爱游戏最新版本,Vernox还原生支持json文本格式,极大方便了对多样性文本数据的存储和操作爱游戏最新版本爱游戏最新版本,不用再担心新增数据是否能对应表结构中的字段爱游戏最新版本,真正实现了大数据的实时存储,也方便了上层大数据分析引擎的应用爱游戏最新版本。Vernox采用json列的方式存储json格式的数据爱游戏最新版本爱游戏最新版本爱游戏最新版本,即每张表有一个名为“$”的字段,该字段用于存储json格式数据。

Vernox不仅提供了结构化数据爱游戏最新版本,文档型数据和图数据的存储能力爱游戏最新版本爱游戏最新版本爱游戏最新版本爱游戏最新版本,更大的亮点是Vernox在内核数据操作上,实现了不同类型数据的Join操作,并以标准SQL语法对上层应用提供服务能力,大大提升了应用成同时操作多种类型数据的便利性和实时性。一句Join SQL语句即可完成传统模式下爱游戏最新版本爱游戏最新版本,不同数据库查询爱游戏最新版本,应用程序内存拼装爱游戏最新版本,应用处理一致性的低效率爱游戏最新版本,高复杂的开发过程爱游戏最新版本爱游戏最新版本爱游戏最新版本。

目前市场上有针对图关系数据的图数据库爱游戏最新版本爱游戏最新版本爱游戏最新版本,也有针对多样性文本数据的文档数据库,但是爱游戏最新版本爱游戏最新版本,他们都是各自独立应用爱游戏最新版本,如果业务中有需求用到多种数据库,那么同时操控多个库将是一个庞大而复杂的工程。因此Vernox决定将多种功能融于一身爱游戏最新版本,集合关系爱游戏最新版本、图数据库爱游戏最新版本爱游戏最新版本、文档数据库的优势爱游戏最新版本爱游戏最新版本,打造出国内鲜有的融合数据库爱游戏最新版本爱游戏最新版本爱游戏最新版本。
 
2爱游戏最新版本、Vernox核心优势-字符串索引

在关系型数据库中,对于字符串类型的字段建立B+树索引的方式都是将完整的字符串存入B+树索引的节点中。在节点内部按照整个字符串的字典序排列爱游戏最新版本。这样的B+树索引方式存在的问题是爱游戏最新版本,对带有前百分号的字符串模糊匹配支持并不是友好爱游戏最新版本。具体而言爱游戏最新版本,对于like‘%X%’或者like‘%X’形式的查询条件只能使用覆盖索引遍历或者全表遍历,只有like‘X%’形式的条件可以很好的使用B+树索引爱游戏最新版本。而在目前在许多应用中会大量使用like‘%X%’形式的查询爱游戏最新版本,传统关系型数据库在该情况下所使用的全表遍历策略效率十分缓慢。

针对这样的情况爱游戏最新版本爱游戏最新版本,Vernox在已有的B+树索引的基础上爱游戏最新版本爱游戏最新版本,引入了后缀数组爱游戏最新版本爱游戏最新版本。自主研发出高效精准的字符串索引,用于汉字模糊匹配爱游戏最新版本爱游戏最新版本。具体原理如下:   
字符串的后缀是指字符串某位置与字符串结尾之间的子串爱游戏最新版本,而后缀数组(Suffix Array)则是一个存放该字符串所有后缀的一维数组爱游戏最新版本,这些子串按照字典序由小到大依次排列爱游戏最新版本。


从上面对后缀数组的描述中不难发现爱游戏最新版本爱游戏最新版本,在后缀数组中所有后缀按照其字典序排列,所以可以通过二分法快速的找到符合条件的后缀爱游戏最新版本,这与B+树的查询规则相同爱游戏最新版本。所以我们将B+树索引与后缀数组这两种已有技术相结合爱游戏最新版本爱游戏最新版本,提出了一种基于后缀数组的字符串B+树索引,从而使B+树索引可以支持带有前百分号的字符串模糊匹配爱游戏最新版本爱游戏最新版本。
 
3爱游戏最新版本、Vernox核心优势-基于成本的智能优化

大部分的关系型数据库爱游戏最新版本爱游戏最新版本爱游戏最新版本,sql解析一共分为4步:
1、 语法检查:此步骤检查sql语句的拼写是否符合标准语法爱游戏最新版本;
2、语义检查:此步骤检查sql语句中对象及字段是否真实存在,以及该用户是否具备相应操作权限;
3、语句解析:关系型数据库在这一步时根据统计信息生成基于成本的执行计划爱游戏最新版本爱游戏最新版本爱游戏最新版本,执行计划将一直缓存于内存中爱游戏最新版本爱游戏最新版本爱游戏最新版本,以备将来复用爱游戏最新版本爱游戏最新版本爱游戏最新版本。
   
Sql解析主要分为2类:硬解析(hard parse)和软解析(soft parse)爱游戏最新版本爱游戏最新版本,硬解析即每次执行语句时都根据当前条件成本产生执行计划爱游戏最新版本爱游戏最新版本;软解析在sql解析这一步爱游戏最新版本爱游戏最新版本,一旦在执行计划中找到相似模板爱游戏最新版本,即调用对应模板的执行计划进行解析爱游戏最新版本爱游戏最新版本爱游戏最新版本,软解析省去了评估条件成本所耗费的大量系统资源。
·
执行sql爱游戏最新版本爱游戏最新版本,返回结果

Vernox全程采用硬解析爱游戏最新版本。软解析虽然能节省系统资源爱游戏最新版本爱游戏最新版本,但存在一个问题爱游戏最新版本爱游戏最新版本爱游戏最新版本,完全根据缓存中的执行计划模板进行匹配解析爱游戏最新版本,有可能会造成索引先走成本较高条件,再走成本较低条件,这样虽然节省了系统资源,但sql解析本身的成本依然很高爱游戏最新版本。

对于传统关系型数据库来说爱游戏最新版本,他们的架构本身是基于磁盘,如果每次sql解析都采用硬解析爱游戏最新版本,频繁的磁盘I/O会耗费大量CPU资源爱游戏最新版本爱游戏最新版本,而Vernox对索引缓存结构进行改进爱游戏最新版本,保证了所有sql解析都在内存进行,极大降低了系统资源消耗,因此我们决定全程使用sql硬解析爱游戏最新版本爱游戏最新版本,实现了真正基于成本的智能查询爱游戏最新版本。

内存索引的成本评估精确到每个条件命中的条数,磁盘索引的成本评估也可以做到每个条件命中的叶子数据块数。

爱游戏最新版本