smanzheng
发表于 2019-06-03 16:41
回复 60# yangyi
实际业务会很复杂 跨多个数据源的时候就不能简单用存储过程来解决
东风玖哥
发表于 2019-06-04 17:03
1、为了使分布式存储系统获得更高性能,您会采用哪些措施?
硬件升级:服务器、SSD、网络(40GB/s, 25GB/s)、网络交换机、RDMA协议
网络通信框架改进:Luna, RDMA+用户态驱动+私有I/O协议
线程模型改进:用户态驱动,加入co-routine协程,加run to completion模式
数据布局改进:采用追加写,修改元数据模式(元数据记录数据的位置)
更细致的分层和抽象;针对不同的IO属性,提供更定制化的策略模块,满足不同的IO Profile需求
2、分布式存储系统的高并发能力应如何实现?
把不同的业务分拆到不同的服务器上去跑(垂直拆分),相同的业务压力分拆到不同的服务器去跑(水平拆分),并时刻不要忘记备份、扩展、意外处理等问题。
3、使存储系统获得更高网络带宽的方法有哪些?
在同地域100千米范围内,多个数据中心间的延时增加小于1毫秒,带宽可以做到接近于数据中心内部网络的水平,在系统设计时主要考虑在数据分布上,在流量控制和延时上的限制不突出。但是跨地域的容灾将延时增大到几十毫秒,带宽则下降至少一个数量级。为了缓解这样的问题,需要做到数据可以异步进行同步,数据可以按照重要程度来区别对待。
4、怎样在控制总体成本的情况下,合理地为海量数据提供存储空间,并能满足数据量快速增长的需求?
(1)分布均匀,即每台设备上的数据量要尽可能相近;
(2)负载均衡,即每台设备上的请求量要尽可能相近;
(3)扩缩容时产生的数据迁移尽可能少。
5、真正可靠的数据保护往往需要一套复杂的策略,实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
(1)系统中所有数据至少需要有两个以上的副本,并且系统的处理能力要有一定的冗余,需要保证在故障机器不能提供服务时,系统不会过载。
(2)需要考虑物理部署,通过把数据的不同副本分布在不同机架、不同机房、甚至是不同城市,来把系统的容灾能力提升到不同的级别
(3)配置运维中心会监控系统存储层所有节点的状态,存储节点会定时上报心跳,如果配置运维中心在一段时间未收到某个存储节点的心跳,则把该节点的状态标记为故障,并进行故障处理流程。
(4)在容灾切换之后,还需要进行故障节点的恢复,以便系统恢复到正常的状态。
6、海量非结构化场景下,应用类型、数据类型复杂,为获得高效便捷的数据管理功能,需要在哪些方面做好准备?
(1)存储选择时的成本比较,从实际业务入手,对数据扩展性要求高、需求变化快的应用,使用分布式存储方式肯定会节省一定的成本。
(2)在存储设备的选择上是否考虑使用闪存存储,如果是将访问量较大的元数据放入闪存中,就可以快速提高应用对非结构化数据的检索效率,进而提升整个集群存储的效能。
(3)存储高可用设计方面,单点故障在设计初期也要考虑,分布式文件系统的存储方式,除了要关注存储节点还要关注计算节点的高可用。
7、针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?(可选回答)
(1)合理设计过期时间,减少内存占用
(2)数据结构选用方面,考虑需求的同时还需考虑性能因素。
(3)设计实用高效命令。
(4)重点关注存储节点底层磁盘I/O、系统读写cache大小等。
(5)不同的分布式文件系统对客户端的支持是有差别的,要关注文件系统I/O吞吐是否能够对客户端增加有较好的可扩展性。
chenyx
发表于 2019-06-09 11:03
1、为了使分布式存储系统获得更高性能,您会采用哪些措施?
如果资金允许的情况下,采用全闪存架构无疑是提高IO的最直接的办法。但是对于海量的存储要求,全SSD应该是不切实际的一种架构。目前业界普遍的做法是通过SSD来做Cache层,通过大容量的机械硬盘来做数据存储以满足大容量数据的要求。另外,由于是分布式存储,网络交换肯定是要考量的部分,单独的10G以及40G的网络,端口绑定等提高交换性能的措施,肯定要使用。还有最重要的一点,对于非结构化的数据,一般都会很大,为了避免数据切片影响传输速率,交换机支持9K巨型帧是非常有效的加速方法。
2、分布式存储系统的高并发能力应如何实现?
分布式系统提高性能的方法,就是充分利用分布式架构的特点,通过增加节点的方式,横向扩展。通过实践,在性能和容量两个方面找到最优化的那个。
3、使存储系统获得更高网络带宽的方法有哪些?
使用高速的网络,比如10G,40G等等,通过端口绑定来增加实际可用的带宽,购买专用的支持巨型帧的交换机来减少数据切片等等。
4、怎样在控制总体成本的情况下,合理地为海量数据提供存储空间,并能满足数据量快速增长的需求?
分布式存储扩展,只需要向存储集群增加节点,让控制节点可以控制存储节点,就能满足存储增长的需求。
5、真正可靠的数据保护往往需要一套复杂的策略,实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
区别于集中式存储采用的raid方式的容灾,分布式存储在做冗余的时候,一般是采用数据副本存储的方式来满足容灾和冗余。目前主流的副本为2个或者3个。每增加一个副本,数据的可靠性就提高,同时,数据的存储效率也相应降低。
数据副本可以放置在不通的地区,这个是分布式存储的特性,轻松满足两地三中心等的存储需求。
6、海量非结构化场景下,应用类型、数据类型复杂,为获得高效便捷的数据管理功能,需要在哪些方面做好准备?
在数据中心之内,目前SDN网络可以轻松满足存储的需求。
如果有多数据中心双活或者多活的需求,目前的SD-WAN也是非常适合的网络解决方案。
7、针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?(可选回答)
数据中心是自建还是租用,系统运维是采用自己的人员还是外包等等,这些都需要进行考量。
chenyx
发表于 2019-06-09 11:09
dapan 发表于 2019-05-13 15:41
使存储系统获得更高网络带宽的方法有哪些?1.用阵列,组成阵列的存储器,访问带宽成倍上升,代价是要多个存储 ...
目前主流的超融合解决方式,是不推荐用Raid阵列的,采用直通的方式让APP直接接管数据存储的策略等。至于冗余,一般是采用多副本的方式。
SSD肯定是会有,但是SSD一般用途是做Cache,一些热数据会存储在SSD中,冷数据会在适当的时候,分布式的存储在集群中的机械硬盘中。
chenyx
发表于 2019-06-09 11:14
yanengineers 发表于 2019-05-15 22:04
使存储系统获得更高网络带宽的方法有哪些?这难道不是减少服务器和存储系统的中间介质,能用一米光纤不用10 ...
光纤长度应该不是主要考量的方面,一般提高带宽的方式是通过提高端口速率,还有就是通过端口绑定来提供更高的带宽。
chenyx
发表于 2019-06-09 11:21
存储策略,除了数据区分冷热之外,冷数据的去重压缩存储也是一个提高存储容量的好办法,通过去重和压缩,可以做到1/5甚至是1/20的数据存储比例,这已经是非常可观了。去重代来的节约,可以抵消用于容灾和冗余采用的多副本带来的数据存储效率低下的后果。
R-B
发表于 2019-06-19 15:12
好久没来了,分布式存储要火了
王江玉
发表于 2019-06-21 14:22
80G容量要1750元左右,不便宜啊,太贵了点