《CDP企业数据云平台从入门到实践》——CDP之操作型数据库(2)

简介: 《CDP企业数据云平台从入门到实践》——CDP之操作型数据库(2)

《CDP企业数据云平台从入门到实践》——CDP之数据储存(1) https://developer.aliyun.com/article/1226442?groupCode=ClouderaCDP


4. OPDB 如何适应用户环境


如图所示,操作型数据库中的数据来源于不同的途径,有实时采集数据、离线批量转换数据等。因此,操作型数据库中的数据大致会包含两类:实时处理后的数据和批量处理后的数据。整理好的数据可以支持三类场景:


• 企业内部应用:CRUD、状态持久性、事务、操作报告等。

• 数据仓库:针对分析工作负载提取到 DW 做进一步的分析使用操作。

• 机器学习:构建特征仓库和模型服务等。


在企业内部应用和机器学习中更新的数据也会返回到操作型数据库中。


image.png


5. OPDB 数据摄取


下图了最的将数据载到 OPDB 工具

image.png


二、 通过 OPDB 构建应用


1. NoSQL 的含义


NoSQL = Not Only SQL,运用原生稀疏矩阵模型,以多种方式最优地表示数据。NoSQL 的类型包括:


• 时间序列:排序键和列访问允许高效存储和检索时间序列数据。

• 图:可以用多种方式表示,最常见的是使用一个表来表示顶点,另一个表示边。

• 关系:关系表、行和列可以通过 Phoenix 直接映射到它们的 OPDB 等价物。

• 文档:可以存储多媒体文件等二进制文件,也可以使用列来分解文档来表示属

性。


2. OPDB SQL 特性


1) 基于 SQL 的接口

用户可以使用符合 ANSI 的 SQL 简化数据访问。


下图列举了相同任务(Task)使用 HBase Java API 和使用 SQL 操作的代码,可以看到使用 SQL 的代码更简便:


image.png

2) Schema 演变


Schema 的演变实现更少的数据建模,更多的模型数据。

下面列举了实例中的三个操作进行讲解:


操作一:

CreateatableCREATETABLEusers (idINTEGERPRIMARYKEY, usernameVARCHAR);
UPSERTINTOusers (id, username) VALUES (1, 'admin ');
SELECT*FROMusers;

image.png



操作二:

Addanewcolumn(withoutredefiningthetable)UPSERTINTOusers (id, username, stateVARCHAR) VALUES (2, 'KM ',  
'CA ');
SELECT*FROMusers;

image.png


操作三:

QuerythenewcolumnSELECT*FROMusers (stateVARCHAR);
--orCREATEVIEWv1ASSELECT*FROMusers (stateVARCHAR);
SELECT*fromv1;


image.png


通过以上方式进行数据 Schema 的演变,可以有效的减少 Schema 的维护以及数据迁移操作。


3) 多行事务


Phonix 的 SQL 代码与 MySQL 的代码相同:通过这种方式可以支持数据作为事务提交。


4) 二级索引


二级索引是非主键谓词的点查找和扫描。


OPDB 存储按主键顺序索引的数据,使用主键谓词的点查找和范围扫描速度很快。使用二级索引可以避免由于没有主键谓词的查询而导致的全表扫描,从而提高查询速度。


创建二级索引:


CREATETABLEuser (idBIGINTPRIMARYKEY, emailVARCHAR, pwVARBINARY, fnVARCHAR, lnVARCHAR);
CREATEINDEXidxONuser (email);
IncludefrequentlyaccessedcolumnswithcoveringindexesCREATEINDEXidxONuser (email) INCLUDE (pw);
SELECTemail, pwFROMuserWHEREemail='user@phoenix.apache.org  ';
UsearbitraryexpressionswithfunctionalindexesCREATEINDEXidxONuser (UPPER(ln||' '||fn)) INCLUDE (email) ;
SELECTemailFROMuserWHEREUPPER(ln||' '||fn) ='ALICE BOB ' ;


5) 时间旅行查询


时间旅行查询是查询过去状态的数据。


时间旅行对过去任何时间戳发出的相同查询将忽略自指定时间戳以来的任何更新,比如指定时间戳是去年一月,查询将忽略一月以后的数据更新,因此每次都会产生相同的结果。


常见的时间旅行用例:


• 调查:某些活动(例如欺诈调查)受益于能够检查特定时间点的记录状态。


• 机器学习:模型训练需要可重现。 时间旅行查询消除了提取和持久化训练数据的需要,大大简化了流程。


通过将 CurrentSCN 会话属性设置为过去的时间戳来发出时间旅行查询:


LongoneHourAgo=System.currentTimeMillis() -60*60*1000 ;
props.setProperty("CurrentSCN", oneHourAgo);
Connectionconn=DriverManager.connect(myUrl, props);
conn.createStatement().execute("SELECT * FROM users WHERE email =  'users@phoenix.apache.org '");


《CDP企业数据云平台从入门到实践》——CDP之数据储存(3) https://developer.aliyun.com/article/1226404?groupCode=ClouderaCDP




目录
相关文章
|
1天前
|
关系型数据库 MySQL 数据库
关系型数据库mysql数据增量恢复
【7月更文挑战第3天】
10 2
|
1天前
|
关系型数据库 MySQL Shell
关系型数据库mysql数据完全恢复
【7月更文挑战第3天】
10 2
|
1天前
|
数据处理 数据库 索引
数据库索引策略如何影响数据的读取效率?
【7月更文挑战第3天】数据库索引策略如何影响数据的读取效率?
7 2
|
1天前
|
前端开发 数据库
文本----富文本数据如何存入到数据库当中,解决方法,看其他大佬写的文章
文本----富文本数据如何存入到数据库当中,解决方法,看其他大佬写的文章
文本----富文本数据如何存入到数据库当中,解决方法,看其他大佬写的文章
|
2天前
|
存储 关系型数据库 MySQL
|
3天前
|
SQL 关系型数据库 MySQL
MySQL数据库—DQL查询语句(一篇教会你快速找到想要的数据)
MySQL数据库—DQL查询语句(一篇教会你快速找到想要的数据)
|
7天前
|
文字识别 负载均衡 算法
视觉智能开放平台产品使用合集之人脸数据库已创建超过1000个人脸数据,怎么开通更多人脸数据库
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
6天前
|
SQL 关系型数据库 数据管理
数据管理DMS产品使用合集之归档数据至其它MySQL数据库时,如何指定目的库
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
20 1
|
6天前
|
Java Devops API
阿里云云效操作报错合集之云效页面提示数据库保存不进去,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
1天前
|
SQL 安全 关系型数据库
Kingbase(人大金仓数据库)(总结全网精华,虚拟机:从安装到操作数据库一条龙)
KingbaseES 是一款由中国人大金仓信息技术股份有限公司自主研发的通用关系型数据库管理系统(RDBMS),专为中国市场设计,广泛应用于政府、金融、能源、电信等多个关键行业。它是国产数据库的代表之一,以其高安全性、高可用性和高性能著称,符合中国信息技术领域的自主可控要求。以下是关于KingbaseES的一些关键特点和功能: