《NOSQL数据库技术》课件第11章-其他类型的NoSQL数据库.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《NOSQL数据库技术》课件第11章-其他类型的NoSQL数据库.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NOSQL数据库技术 NOSQL 数据库技术 课件 11 其他 类型 数据库
- 资源描述:
-
1、目录目录概述概述1InfluxDBInfluxDB时序数据库简介时序数据库简介2Apache Apache Jena-TDBJena-TDB简介简介3ElasticsearchElasticsearch4小结小结5111.1 概述概述 NoSQLNoSQL数据库是适应大数据存储与管理应用需求而诞生的技数据库是适应大数据存储与管理应用需求而诞生的技术。多样性是大数据的一个典型特征,术。多样性是大数据的一个典型特征,NoSQLNoSQL数据库也具有数据库也具有多样性。多样性。211.1.1 时序时序数据库数据库 时序数据库(时序数据库(Time Series DatabaseTime Series
2、 Database)是用于存储和)是用于存储和管理时间序列数据的专业化数据库管理时间序列数据的专业化数据库。特使适合应用特使适合应用于环境感知与监测、物流、电力、化于环境感知与监测、物流、电力、化工等领域实时监测、检查与分析设备所采集、产生工等领域实时监测、检查与分析设备所采集、产生的时间序列数据的时间序列数据的存储的存储。时序数据典型特点时序数据典型特点 产生产生频率频率快快 数据数据存储量存储量大大 数据处理数据处理实时性要求高实时性要求高。物物联网联网技术、工业互联网的技术、工业互联网的高速高速发展带动发展带动时序数据时序数据库更加广泛库更加广泛的应用的应用。3411.1.1 时序数据库
3、时序数据库 时序数据库的一些基本概念时序数据库的一些基本概念时间戳(时间戳(TimestampTimestamp)、度量)、度量(metricmetric)、标签()、标签(tagtag)、域)、域(fieldfield)、度量值()、度量值(valuevalue)、数据点)、数据点 (Data Point(Data Point)、时间序列、时间序列(Time SeriesTime Series)示例:对温度的时间序列监测值示例:对温度的时间序列监测值11.1.1 时序时序数据库数据库 DB-Engines DB-Engines RankingRanking发布的发布的20202020年年5
4、5月月的时序数据库(的时序数据库(Time Time Series DBMSSeries DBMS)排名结果如)排名结果如图所图所示,其中示,其中InfluxDBInfluxDB位居第位居第1 1。https:/db- 时序时序数据库数据库 发展发展趋势图趋势图611.1.1 时序时序数据库数据库 相比传统工业领域实时数据库,时序数据库具有高相比传统工业领域实时数据库,时序数据库具有高可扩展性、底成本,能保障时序大数据的高性能存可扩展性、底成本,能保障时序大数据的高性能存储与访问操作。储与访问操作。InfluxDBInfluxDB是用是用GoGo语言编写的一种开源分布式时序、语言编写的一种开源
5、分布式时序、事件和指标数据库,无须外部依赖事件和指标数据库,无须外部依赖。InfluxDBInfluxDB在在监控领域、物联网采集设备的时序数据监控领域、物联网采集设备的时序数据存储领域中有广泛的应用存储领域中有广泛的应用。OpenTSDBOpenTSDB其实不能说是数据库,它本身无法存储其实不能说是数据库,它本身无法存储任何数据,更准确地说,它只是建立在任何数据,更准确地说,它只是建立在HBaseHBase上的上的一层数据读写服务一层数据读写服务。本章本章主要以主要以InfluxDBInfluxDB为例介绍时序为例介绍时序数据库相关数据库相关知识。知识。711.1.2 RDF数据存储数据存储
6、 RDFRDF:Resource Resource Description Description FrameworkFramework 资源描述框架资源描述框架 RDFRDF最初用于描述元数据。最初用于描述元数据。所谓所谓元数据,即元数据,即“描述数据的数据描述数据的数据”。RDFRDF早期应用在苹果公司管理图片、音频等各种各早期应用在苹果公司管理图片、音频等各种各样数据的元数据表示样数据的元数据表示方面。方面。后来后来人们发现人们发现RDFRDF这种形式非常适合用于在万维网这种形式非常适合用于在万维网上上对资源、知识等的对资源、知识等的结构化表示,于是结构化表示,于是19991999年,年
7、,RDFRDF被被W3CW3C推为推为行业标准行业标准。811.1.2 RDF数据数据存储存储 DB-Engines Ranking of RDF Stores排名排名https:/db- RDF数据数据数据数据存储存储 RDFRDF使用简单的使用简单的三元组方式三元组方式来描述事物和关系,表来描述事物和关系,表示事物之间的语义关系示事物之间的语义关系。三元组三元组是知识图谱中知识表示的基本单位,简称是知识图谱中知识表示的基本单位,简称SPOSPO。三元组三元组类似自然语言中的主语、谓语与宾语类似自然语言中的主语、谓语与宾语。从从内容上看三元组的结构为内容上看三元组的结构为“资源资源-属性属性
8、-属性值属性值”资源资源实体由统一资源标识符(实体由统一资源标识符(URIURI)表示,表示,由于由于RDFRDF规定规定资源的命名必须使用资源的命名必须使用URIURI,所以也直接解决了命名空间,所以也直接解决了命名空间的问题。的问题。属性属性值可以是另一个资源实体的值可以是另一个资源实体的URIURI,也可以是某种数,也可以是某种数据类型的值,也称为字面量(据类型的值,也称为字面量(LiteralsLiterals)本章主要本章主要以以Apache Jena TDBApache Jena TDB为为例例介绍介绍RDFRDF存储相关存储相关知识。知识。1011.1.3 搜索引擎搜索引擎 数据
9、分类数据分类 结构化数据、半结构化数据、非结构化数据结构化数据、半结构化数据、非结构化数据 非结构化数据也非结构化数据也即全文即全文数据的搜索主要有两种数据的搜索主要有两种方法方法 顺序扫描顺序扫描 创建索引创建索引 随着各个应用领域企业,特别是互联网企业内部数据量越来随着各个应用领域企业,特别是互联网企业内部数据量越来越大,高效搜索相关半越大,高效搜索相关半/非结构化文档数据的需求越来越迫非结构化文档数据的需求越来越迫切,高效搜索引擎被引入企业级应用系统架构中。切,高效搜索引擎被引入企业级应用系统架构中。搜索引擎特点:搜索引擎特点:内部提供索引创建、维护等机制内部提供索引创建、维护等机制11
10、 将将非结构化数据中的一部分信息提取出来,重新组织,使非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据(索引)进其变得有一定结构,然后对此有一定结构的数据(索引)进行搜索,从而达到提高搜索性能的目的行搜索,从而达到提高搜索性能的目的11.1.3 搜索引擎搜索引擎 DB-Engines Ranking of Search DB-Engines Ranking of Search EnginesEngines排名排名 https:/db- 搜索引擎搜索引擎 全文检索全文检索(Full-text Search)(Full-text Search):先建立索引
11、,再对索引进行搜索:先建立索引,再对索引进行搜索的过程。的过程。Apache Apache LuceneLucene简介简介:是开源、高性能是开源、高性能搜索引擎,支持搜索引擎,支持全文全文搜搜索,提供跨索,提供跨平台的平台的java APIjava API库。库。特性特性 可扩展、高性能可扩展、高性能索引索引 强大、精确、高效的搜索强大、精确、高效的搜索算法,如:算法,如:支持权重查询,首先将最优结果支持权重查询,首先将最优结果返回;返回;支持多种查询类型,句子查询、通配符查询、临近查支持多种查询类型,句子查询、通配符查询、临近查询、范围查询询、范围查询等等;等等;支持字段搜索,例如文章的标
12、题、作者、内容等等支持字段搜索,例如文章的标题、作者、内容等等 支持任一字段支持任一字段排序;排序;跨跨平台解决平台解决方案:方案:JavaJava编写编写1311.1.3 搜索引擎搜索引擎 ElasticsearchElasticsearch位居第一,它是一个基于位居第一,它是一个基于Apache Apache LuceneLucene 的开源、分布式并且支持的开源、分布式并且支持RESTfulRESTful接口的现代搜索与接口的现代搜索与分析引擎,采用分析引擎,采用JavaJava语言开发语言开发。SolrSolr也是一也是一个采用个采用JavaJava开发并基于开发并基于LuceneLu
13、cene的高性能全的高性能全文搜索引擎。文搜索引擎。SolrSolr提供了比提供了比LuceneLucene更为丰富的查询语更为丰富的查询语言言,也是,也是一一款优秀款优秀的全文搜索引擎的全文搜索引擎。搜索引擎重点了解以下内容搜索引擎重点了解以下内容 数据索引结构的存储模式数据索引结构的存储模式 索引数据的创建与维护方法索引数据的创建与维护方法 索引数据的应用访问方法索引数据的应用访问方法 本章主要以本章主要以ElasticsearchElasticsearch为例介绍为例介绍搜索引擎基础知识。搜索引擎基础知识。14目录目录概述概述1InfluxDBInfluxDB时序数据库简介时序数据库简介
14、2Apache Apache Jena-TDBJena-TDB简介简介3ElasticsearchElasticsearch4小结小结51511.2 InfluxDB时序数据库简介时序数据库简介 时序数据就是带有明显的时间序列特征的时序数据就是带有明显的时间序列特征的数据,数据,如:如:金融领域金融领域:随着:随着时间不断变化的股票价格时间不断变化的股票价格数据、实时变数据、实时变化的国际黄金交易价格;化的国际黄金交易价格;气象气象领域领域:不用地域温度:不用地域温度变化变化数据、空气质量状态数据;数据、空气质量状态数据;物流领域物流领域:车辆:车辆及货物流转状态数据及货物流转状态数据等;等;
15、快递领域快递领域:不同企业、不用地域实时变化的揽件、派件:不同企业、不用地域实时变化的揽件、派件快递业务量数据;快递业务量数据;通信领域通信领域:不同时刻的业务上行、下行业务量数据等;:不同时刻的业务上行、下行业务量数据等;云平台云平台:资源占用状态监控数据等;:资源占用状态监控数据等;时序时序数据库中每条时序数据都和某个时间点相关联,数据库中每条时序数据都和某个时间点相关联,记录着该时刻业务领域的数据状态记录着该时刻业务领域的数据状态。1611.2 InfluxDB时序数据库简介时序数据库简介 InfluxDBInfluxDB时序数据库主要特色时序数据库主要特色功能功能 1 1)基于时间序列
16、)基于时间序列,提供了丰富的与,提供了丰富的与时间有关的时间有关的相关相关数据处理函数数据处理函数,如最大如最大、最小、求和、最小、求和等等。等等。2 2)可度量性:可以实时对时序大数据进行计算。)可度量性:可以实时对时序大数据进行计算。3 3)基于事件:支持任意的事件数据。)基于事件:支持任意的事件数据。InfluxDBInfluxDB数据可从链接:数据可从链接:https:/ InfluxDB时序数据库简介时序数据库简介InfluxDBInfluxDB时序数据库中的建模时序数据库中的建模术语:术语:1 1)databasedatabase:数据库。:数据库。2 2)measurementm
17、easurement:对应数据库中的表:对应数据库中的表,不需单独创,不需单独创建表,直接新增一条数据时,如果该建表,直接新增一条数据时,如果该measurementmeasurement不不存在,将会创建并插入一条数据。存在,将会创建并插入一条数据。3 3)pointpoint:对应表中的一行数据:对应表中的一行数据,pointpoint由时间戳由时间戳(timetime)、数据()、数据(fieldfield)、标签()、标签(tagstags)组成)组成;时间时间戳以戳以nsns为单位,每个记录都必然有这个属性,没有为单位,每个记录都必然有这个属性,没有显示添加时,默认会给一个值。显示添
18、加时,默认会给一个值。4 4)tagtag:对应:对应measurementmeasurement的索引列,也可以没有。的索引列,也可以没有。类型要求是字符串类型;属于键值对结构。类型要求是字符串类型;属于键值对结构。1811.2 InfluxDB时序数据库简介时序数据库简介 5 5)fieldfield:对应数据列:对应数据列,fieldfield无索引,属于键值对结无索引,属于键值对结构,类型可以是构,类型可以是longlong、stringstring、booleanboolean、floatfloat、intint等。等。6 6)retention policyretention po
19、licy:时序数据库特有的概念,定义时:时序数据库特有的概念,定义时序数据保留策略序数据保留策略,如,如1 1分钟、分钟、5 5分钟策略,即决定数分钟策略,即决定数据保存多久后就可以删除数据。保留策略中还可以据保存多久后就可以删除数据。保留策略中还可以设定集群中的副本个数、设定集群中的副本个数、shardGroupDurationshardGroupDuration等参数。等参数。shardGroupshardGroup是是InfluxDBInfluxDB存储时序数据的一个基本存储存储时序数据的一个基本存储结构。结构。7 7)seriesseries:一个:一个measurementmeasu
20、rement中的存在多个序列中的存在多个序列,索,索引引tagtag集合的键值对与保留策略能够确定一个时间序集合的键值对与保留策略能够确定一个时间序列。列。1911.2 InfluxDB时序数据库简介时序数据库简介 field keyfield key和和field valuefield value对组成的集合称之为对组成的集合称之为field field setset;tag keytag key和和tag valuetag value对组成了对组成了tag tag setset;tagtag和和fieldfield依据依据具体存储需求具体存储需求来来定定;measurementmeasur
21、ement是是fieldsfields,tagstags以及以及timetime列的列的容器;容器;retention policyretention policy为默认的为默认的autogenautogen。它表示数据一直保。它表示数据一直保留永不过期,副本数量为留永不过期,副本数量为1 1。一个数据库可以有多个一个数据库可以有多个measurementmeasurement,retention retention policypolicy。InfluxdbInfluxdb是一是一个模式个模式自由自由的的数据库,可以很容易的数据库,可以很容易的添加新的添加新的measurementmeasu
22、rement,tagstags,fieldsfields等等。2011.2 InfluxDB时序数据库简介时序数据库简介 假设有假设有一张表一张表weatherweather用于记录:多个地区用于记录:多个地区在在不同不同海海拔下一天拔下一天的温度变化,所以表中有以下字段的温度变化,所以表中有以下字段:时间时间 timetime 温度温度 temperaturetemperature 湿度湿度 humidityhumidity 地区地区 areaarea 海拔海拔 altitudealtitude 行数据行数据21Point属性传统数据库中的概念time每个数据记录时间,是数据库中的主索引(会
23、自动生成)fields各种记录值(没有索引的属性)也就是记录的值:温度,湿度tags各种有索引的属性:地区,海拔11.2 InfluxDB时序数据库简介时序数据库简介 SeriesSeries:时序数据可以在图表上画成的线条数,可以:时序数据可以在图表上画成的线条数,可以通过通过tagstags排列组合算出来。排列组合算出来。例如:数据库例如:数据库中有一个表叫中有一个表叫temperaturetemperature 有有两个保留策略,分别表示两个保留策略,分别表示5 5分钟和分钟和1010分钟分钟 tagtag有有locationlocation、roomroom。locationlocat
24、ion有有1010个不同的个不同的值值 roomroom有有100100个不同的值,那么这个个不同的值,那么这个temperaturetemperature有有10 10 x100 x 2 x100 x 2 共共20002000个序列个序列。seriesseries的数量对于的数量对于InfluxDBInfluxDB的性能有很大的影响,的性能有很大的影响,seriesseries数量越数量越多对多对CPUCPU、内存资源的要求越大、内存资源的要求越大。时序时序数据存储时,需根据业务需求注意数据存储时,需根据业务需求注意 fieldfield和和tagtag的设计。的设计。2211.2 Infl
25、uxDB时序数据库简介时序数据库简介 目前稳定版本目前稳定版本1.81.8 打开命令窗口后,打开命令窗口后,cdcd到主目录运行如下到主目录运行如下命令,启动服务:命令,启动服务:influxd.exe-influxd.exe-configconfig influxdb.confinfluxdb.conf 在另一窗口执行以下命令,进入在另一窗口执行以下命令,进入shellshell环境环境 influx.exeinflux.exe2311.2 InfluxDB时序数据库简介时序数据库简介 在在提示符后输入以下命令,可以看到系统默认包含提示符后输入以下命令,可以看到系统默认包含的数据库列表信息。
展开阅读全文