1700509590
1700509592
13.7.2 软冗余
1700509593
1700509594
除了RAID这种在单机上做冗余的方案以外,现在业界使用比较多且性价比比较高的存储介质是HDFS或者Ceph。这两种方案都是基于网络的分布式存储方案,而且兼有读写分散和冗余的功能。
1700509595
1700509596
HDFS默认在配置文件hdfs-site.xml中有dfs.replication配置项,默认值是3,也就是将一个HDFS数据块在整个网络节点中保存3份。这个选项也可以修改,通常以单台主机的有效性Phost来计算,在NameNode充分高可用的情况下,数据的可靠性就是1-(1-Phost)3。这种设置一般被认为是在生产环境中性价比比较高的方案。如果每台主机的磁盘都已经做过RAID10,也可以适当降低dfs.replication配置项的值。
1700509597
1700509598
1700509599
HDFS的写入速度也是比较快的。由于和数据库相比,HDFS单纯面向数据文件进行读写操作,所以其中没有锁存在。而且在大量的写操作中,NameNode会将数据写分散到每台DateNode中去。理论上,在由单台读写速度为V的主机组成的n个节点3冗余环境中,写速度能够达到;读速通常就无法提升了,因为这涉及Client端的瓶颈问题。
1700509600
1700509601
1700509602
1700509603
1700509605
数据科学家养成手册 13.8 本章小结
1700509606
1700509607
这一章主要讨论了数据存储时需要注意的可靠性和性能问题,以及存储介质是否便于未来统计工作的开展。这些讨论对业务中的存储选型会有一定的提示作用。
1700509608
1700509609
Oracle数据库被认为是计算机商用发展过程中存储技术的集大成者。对Oracle数据库产品存储特性的研究,对做好存储架构设计有着非常重要的指导作用,即使是在对事务不敏感的场景中也有极高的借鉴价值。除此之外,互联网公司在面对大型的数据存储需求时,通常会考虑使用HDFS with LZO压缩的方案。因为在存储环境中,大多数时候CPU是比较空闲的,而磁盘上存储的信息中大部分是文本信息,所以压缩率(6)很高,在一些情况下几乎可以达到20%。这种方案还能带来一个好处,就是节省宝贵的磁盘I/O资源。这种用富余的CPU资源换取存储空间的方案是不错的选择。
1700509610
1700509611
无独有偶,这种思路在一些提供云服务的公司还有其他玩法。在很多社交软件中都有这样的用例:先将用户上传的高清照片裁剪成512×512像素的正方形大尺寸头像,再调整(Resize)成128×128、64×64、32×32等尺寸。为了充分利用CPU资源,节省存储空间,服务器上只存储512×512像素的大尺寸头像,每次请求头像时调用这个服务商提供的URL,参数为大尺寸头像的ID和请求尺寸,实时进行Resize操作,延迟很低。
1700509612
1700509613
本章涉及的所有查找性能指标都是近似理论值,在实际的生产环境或测试环境中很难观察到这样的测量数据。由于在实际环境中的CPU指令流和I/O吞吐的随机性很高,因此在数据存储环节的各种性能观测都混杂着一定的未知干扰。除此之外,不同的系统软件(尤其是那些非开源的软件)及其不同版本对这些存储和查找的算法实现也有不同程度的优化。这样一来,观测值就与理论值有了差异。在真实环境中进行测试时,还是建议用真实场景中的读写特性作为测试样例进行测试,以逼近实际生产环境的性能。
1700509614
1700509615
(1) Oracle自动存储管理(Automatic Storage Management)。
1700509616
1700509617
(2) NoSQL是指非关系型数据库。
1700509618
1700509619
(3) 基于笛卡尔乘积(Cartesian Product)的查询与过滤。
1700509620
1700509621
(4) 包括插入(Insert)、更新(Update)和删除(Delete)。
1700509622
1700509623
(5) Skew(Skewness)。
1700509624
1700509625
(6) 压缩率(Compresson Ratio)由压缩后占用空间大小除以压缩前占用空间大小得出。
1700509626
1700509627
1700509628
1700509629
1700509631
数据科学家养成手册 第14章 数据统计
1700509632
1700509633
将数据收集到数据库或者数据仓库中以后,就可以进行统计和分析了。
1700509634
1700509635
统计的目的就是将大量离散的数据经过统计计算,形成集中性的指标或者粗粒度单位。统计是在海量数据分析之前必须要做的一步工作。从本身的目的来说,统计将大量复杂的数据个体宏观特征化,简化了数据解读者对认知对象的了解过程。换句话说,数据统计的意义主要在于数据画像,节约阅读时间。
1700509636
1700509637
1700509638
1700509639
[
上一页 ]
[ :1.70050959e+09 ]
[
下一页 ]