文档章节

YDB基础

开心延年
 开心延年
发布于 2017/02/20 12:37
字数 1231
阅读 48
收藏 0

第二章 YDB基础

一、YDB是什么?

      YDB全称延云YDB,是一个基于Hadoop分布式架构下的实时的、多维的、交互式的查询、统计、分析引擎,具有万亿数据规模下的秒级性能表现,并具备企业级的稳定可靠表现。

      YDB是一个细粒度的索引,精确粒度的索引。数据即时导入,索引即时生成,通过索引高效定位到相关数据。YDB与Spark深度集成,Spark对YDB检索结果集直接分析计算,同样场景让Spark性能加快百倍。

 

 

 

二、为探索性分析与即席分析而设计

 

YDB的即席分析(Ad Hoc)概念的解释

1:当场,就是当场去查询,现场 随意、即兴 查询。

2:响应时间要求为几秒才能称为即席。

即席分析与普通分析的区别

1.普通的应用分析是定制开发的,大多是预先计算好的。

2.即席分析是用户在使用时临时生产的分析,查询条件事先未知,系统无法预先优化这些查询,在现场没法预先准备,所以即席查询的性能也是评估数据仓库的一个重要指标。

三、YDB适合的行业

 

 

四、企业级特性:稳定,可靠,易用

 

 

五、哪些用户适合使用YDB?

1.传统关系型数据,已经无法容纳更多的数据,查询效率严重受到影响的用户。

2.目前在使用SOLR、ES做全文检索,觉得solr与ES提供的分析功能太少,无法完成复杂的业务逻辑,或者数据量变多后SOLR与ES变得不稳定,在掉片与均衡中不断恶性循环,不能自动恢复服务,运维人员需经常半夜起来重启集群的情况。

3.基于对海量数据的分析,但是苦于现有的离线计算平台的速度和响应时间无满足业务要求的用户。

4.需要对用户画像行为类数据做多维定向分析的用户。

5.需要对大量的UGC(User Generate Content)数据进行检索的用户。

6.当你需要在大数据集上面进行快速的,交互式的查询时。

7.当你需要进行数据分析,而不只是简单的键值对存储时。

8.当你想要分析实时产生的数据时。

六、什么情况下不需要用YDB?

1.当数据量可以在MySQL中很轻松的处理时

2.当批量数据集成对你来说已经足够好的情况下

3.当你只需要执行固定的查询时

 

 

七、在公安系统的-典型的场景

 

 

 

 

八、现有大数据技术痛点分析

 

九、主要功能概述

功能

概述

检索过滤

等值匹配,支持 in操作,>,<,>=,<=

and与or的嵌套组合

统计分析

单/多列group by,max,min,sum,avg,count,distinct

复杂SQL

自定义udf,udaf,udtf,SQL多层嵌套,union,join

模糊查询

全文检索,临近搜索,相似文本(文章)搜索, like。

数据类型

string,int,long,float,double

支持一列多值适合一条记录多个标签的存储与检索

中文分词

内嵌二元分词,号码分词,IK词库分词,以及YDB的多元分词。

也可自定义或拓展第三方分词。

十、卓越的性能

1.稽查布控场景性能

 

2.卓越的检索与分析性能

与Spark txt性能对比(提升倍数)

 

 

与ORACLE性能对比

 

 

 

3.卓越的排序性能

      按照时间逆序排序可以说是很多日志系统的硬指标。在延云YDB系统中,我们改变了传统的暴力排序方式,通过索引技术,可以超快对数据进行单列排序,不需要全表暴力扫描,这个技术我们称之为BlockSort,目前支持tlong、tdouble、tint、tfloat四种数据类型。

      由于BlockSort是借助搜索的索引来实现的,所以采用BlockSort的排序,不需要暴力扫描,性能有大幅度的提升。

      BlockSort的排序,并非是预计算的方式,可以进行全表进行排序,也可以基于任意的过滤筛选条件进行过滤排序。

      详细测试地址:http://blog.csdn.net/qq_33160722/article/details/54447022

      300亿条数据的排序 演示视频  http://blog.csdn.net/qq_33160722/article/details/54834896

 

测试结果(时间单位为秒)

amtint列筛选

筛选后条数

排序方式

YDBBlockSort

Spark

无筛选

100亿

降序

3.3

1118

升序

3.6

1085

100 TO 900

80亿

降序

1.5

1093

升序

1.3

1070

100 TO 600

50亿

降序

1.53

1104

升序

1.38

867

100 TO 200

10亿

降序

7.00

1115

升序

1.11

1131

100 TO 110

1亿

降序

2.1

1160

升序

3.44

1114

100 TO 101

0.1亿

降序

10.67

1089

升序

7.0

1110

 

 


 

© 著作权归作者所有

开心延年

开心延年

粉丝 16
博文 17
码字总数 67948
作品 1
东城
程序员
私信 提问
记一次kafka数据丢失问题的排查

数据丢失为大事,针对数据丢失的问题我们排查结果如下。 第一:是否存在数据丢失的问题? 存在,且已重现。 第二:是在什么地方丢失的数据,是否是YDB的问题? 数据丢失是在导入阶段,数据并...

徐学良
2018/02/03
974
0
php 调试工具--ydb

ydb 是像gdb一样的php调试工具,用扩展实现,可以在运行过程中查看变量值,也可以进行性能测试,而不用对源代码进行任何更改,就像xdebug和xhprof 中提供的功能,但使用更方便 ydb也可以称为...

micweaver
2014/01/06
1K
0
MongoDB基本管理命令

MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由一...

beibugulf
2016/11/28
8
0
MongoDB日常运维操作命令小结

总所周知,MongoDB是一个NoSQL非数据库系统,即一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,...

拎壶冲冲冲
2018/08/15
0
0
前后端接口规范

前后端接口目前这样定: 1.workbench对后端请求: [TCP报文] 2.响应数据集 [TCP报文] 它是一个json字典,至少有两个键ok和result。 当ok=1,result是一个二维数组,里面元素只能是字符串或数...

alex0000
2015/07/01
15
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
4
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
6
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
4
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
999
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部