精选文库
的切分方式,达到充分利用整个集群的计算性能。
同时,SequoiaDB除了提供水平切分方式外,还专门为历史数据的使用场景做了“时间序”的功能,用户可以按照不同的时间段,对海量的数据切分成小段小段,并且每个时间段的数据均可以指定存储位置。用户通过“时间序”功能,可以很好的规划数据存储方式,将热点数据存储在性能较好的硬件上,将查询比较少的冷数据放在低端的磁盘上。
并且“时间序”功能除了方便用户按照时间段区分数据存储位置,还能方便的管理数据的生命周期,对于已经不需要的数据,支持快速删除指定时间段数据分区。
-- 16
精选文库
3) 结构化与非结构化数据存储
SequoiaDB有着录活的数据类型,支持结构化与非结构化数据的存储。SequoiaDB采用文档类型数据模型(对象存储),将程序中的对象以原生的方式保存在数据库中,并且可以对其中而已属性或子对象进行检索匹配,可以大幅度弱化复杂的关系模型,加快应用的开发速度,并减少系统的运维成本。
灵活的数据类型
过去,企业构建一个内容管理系统,基本是一个关系型数据库+存储这样的组合。这种构建方法,在过去数据量不大,并发数不高的情况下,系统还能运行
--
17
精选文库
得比较平稳。但是随着时间的推移,需要接入该系统的业务会越来越多,需要管理的文件和信息量都开始开始激增,并且随着查询的并发量增加,这时候,按照传统方法构建的系统,性能、扩容能力都无法满足需求。
SequoiaDB是一款以BSON数据类型作为底层存储格式的文档型数据库。 BSON格式本身是一种弱Schema的数据类型,一条BSON记录里面,可以包含各种类型的数据,如整型、字符型、浮点型和二进制类型的数据。用户可以利用BSON这种特性,将像图片,音频这种小文件以二进制类型放到一个BSON记录里面,同时将对文件的描述信息也存储在同一个BSON记录上,形成一条完整的信息存储在SequoiaDB中。
结构化数据与非结构化数据存储在同一条记录上
这种利用BSON特性的存储方法,可以有效避免由于数据需要存储在两个地方(数据库+存储),中间需要处理复杂的事务逻辑,并且从根本上避免了信息孤岛产生的可能。
1.1.7 数据处理
1) 分布式计算框架MapReduce
MapReduce作为一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念\(映射)\和\(归约)\,和它们的主要思想,都是从函数式编
-- 18
精选文库
程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
MapReduce通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性;每个节点会周期性的返回它所完成的工作和最新的状态。如果一个节点保持沉默超过一个预设的时间间隔,主节点(类同Google File System中的主服务器)记录下这个节点状态为死亡,并把分配给这个节点的数据发到别的节点。每个操作使用命名文件的原子操作以确保不会发生并行线程间的冲突;当文件被改名的时候,系统可能会把他们复制到任务名以外的另一个名字上去。
落入分布式数据库之后,可以使用MapRedue并行计算框架,从SequoiaDB分布式数据库中进行数据的清洗、去重、整合等数据操作。如此可以快速提高数据的处理性能。
2) 采用分布式计算框架对数据处理
SequoiaDB不仅支持分布式存储,也支持与分布式计算框架Hadoop(MapReduce)和Spark的集成。当用户需要对存储在SequoiaDB中的数据进行数据整合、清洗或者去重等工作时,可以利用分布式计算框架的大规模并发处理的优势对数据进行相应的处理。由于SequoiaDB与Hadoop、Hive、Spark和Spark SQL都有深度的技术整合,程序可以直接将SequoiaDB中的数据提交到分布式计算框架上直接进行数据整合、去重,提高程序对数据处理的性能。
像Hive 和Spark SQL这些控件,支持标准的SQL语言,用户可以直接使用SQL语句进行数据整合和清洗任务,对于初次使用大数据技术的开发人员,能够快速学习、掌握开发技巧。
在过去,由于数据库都是在一台机器上存储、计算的,导致当数据量变大后,真个数据库的检索性能都跟着下降。
SequoiaDB在处理海量数据时,解决思路就不同于以往的关系型数据库,海量数据不再是存储在一台机器上,而是分布在整个机器集群中,当用户需要从海量数据中按照某些条件检索数据时,能直接将查询命令发到每台机器的各个节点
--
19
精选文库
上,查询性能从一台机器变成了整个集群。
SequoiaDB在海量数据检索上,除了有效利用分布式存储、分布式计算的特性外,还为支持给数据添加索引。
数据库对全量数据建立索引后,等于给全量数据做了一个数据目录,当用户根据某些条件来查询数据时,可以直接从索引文件中将对应的查找出来,大大提高了数据的检索性能。
1.1.8 数据分析(有没有一些通用的总结,什么情况下,用什
么数据分析工具、什么分析方法?)
数据分析平台,提供数据分析的支撑环境
针对典型的几种业务分析需求,说明使用什么数据分析工具解决问题。 ?
? ? ?
服务窗口的资源合理配置方案和比较
分析业务流程中的时间耗费,提出优化的方案 用户的行为规律 面向用户的精准服务
SequoiaDB作为新一代的分布式数据库,其支持与当今比较流行的两种开源分布式计算框架Hadoop和Spark进行集成。通过与Hadoop和Spark的对接,用户可以便捷、快速、高效的对存入SequoiaDB数据库的数据进行数据分析等操作。与Hadoop的对接中,SequoiaDB允许Hadoop的数据仓库工具Hive使用HiverSQL这种类SQL语言对SDB中的数据进行查询。对Hive的支持极大的扩展了SDB数据库的使用范围,以前使用SQL的数据库管理员可以平滑的切换到SDB数据库
-- 20
大数据平台架构-巨衫
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)