1,java 怎样存储大数据2,hadoop是怎么存储大数据的3,大数据和传统数据存储的区别4,大数据时代数据应该如何存储5,为什么mongodb适合大数据的存储1,java 怎样存储大数据
bigdicimal: http://wenku.baidu.com/view/26299d4569eae009581bec22.html因为基本数据类型都有固定的大小,只能储存一定范围的数据
所以,对于较大的数据,只能通过数据类的方式实现:
java.math.bigdecimal
java.math.biginteger由于8字节 64位 1符号 11科学记数位数还有52位数储存数字能精确16-17位 最好写个加法方法 可用字符串从后往前加先判断谁位数多 每位加10进一返回字符串 这样就精确了
2,hadoop是怎么存储大数据的
hadoop本身是分布式框架,如果在hadoop框架下,需要配合hbase,hive等工具来进行大数据计算。如果具体深入还要了解hdfs,map/reduce,任务机制等等。如果要分析还要考虑其他分析展现工具。大数据还有分析才有价值用于分析大数据的工具主要有开源与商用两个生态圈。开源大数据生态圈:1、hadoop hdfs、hadoopmapreduce, hbase、hive 渐次诞生,早期hadoop生态圈逐步形成。2、. hypertable是另类。它存在于hadoop生态圈之外,但也曾经有一些用户。3、nosql,membase、mongodb商用大数据生态圈:1、一体机数据库/数据仓库:ibm puredata(netezza), oracleexadata, sap hana等等。2、数据仓库:teradataasterdata, emc greenplum, hpvertica 等等。3、数据集市:qlikview、 tableau 、 以及国内的yonghong data mart 。存放到hdfs 一般都是要分析的数据。分析完成的数据直接存储到mysql 或者oracle 中。这种处理方式是离线处理。如日志文件存储到hdfs 分析出网站的流量 uv pv 等等。一般都是用pig hive 和mr 等进行分析的。 存放到hbase 一般都是数据拿过来直接用的。而且他是实时的。也就是说数据就是成型的而且不需要进行分析就能得到结果的数据。 大致就是这么个意思。有点啰嗦了。
3,大数据和传统数据存储的区别
没什么关联性 大数据是海量数据、是一种现状、一种解决问题的手段 传统数据存储是存储的问题主要区别在于,现在的大数据包括非结构化数据,并且可以从各种数据中提取有用的信息,比如邮件、日志文件、社交多媒体、商业交易及其他数据。比如,保存在数据库里的一家连锁零售商店的某商品的销售图表数据。对这些数据的获取就不是大数据范畴的问题。大数据应用的一个主要特点是实时性或者近实时性。大数据比传统数据存储更需要非常高性能、高吞吐率、大容量的基础设备。传统数据和大数据的区别 第一、计算机科学在大数据出现之前,非常依赖模型以及算法。人们如果想要得到精准的结论,需要建立模型来描述问题,同时,需要理顺逻辑,理解因果,设计精妙的算法来得出接近现实的结论。因此,一个问题,能否得到最好的解决,取决于建模是否合理,各种算法的比拼成为决定成败的关键。然而,大数据的出现彻底改变了人们对于建模和算法的依赖。举例来说,假设解决某一问题有算法a 和算法b。在小量数据中运行时,算法a的结果明显优于算法b。也就是说,就算法本身而言,算法a能够带来更好的结果;然而,人们发现,当数据量不断增大时,算法b在大量数据中运行的结果优于算法a在小量数据中运行的结果。这一发现给计算机学科及计算机衍生学科都带来了里程碑式的启示:当数据越来越大时,数据本身(而不是研究数据所使用的算法和模型)保证了数据分析结果的有效性。即便缺乏精准的算法,只要拥有足够多的数据,也能得到接近事实的结论。数据因此而被誉为新的生产力。 第二、当数据足够多的时候,不需要了解具体的因果关系就能够得出结论。 例如,google 在帮助用户翻译时,并不是设定各种语法和翻译规则。而是利用google数据库中收集的所有用户的用词习惯进行比较推荐。google检查所有用户的写作习惯,将最常用、出现频率最高的翻译方式推荐给用户。在这一过程中,计算机可以并不了解问题的逻辑,但是当用户行为的记录数据越来越多时,计算机就可以在不了解问题逻辑的情况之下,提供最为可靠的结果。可见,海量数据和处理这些数据的分析工具,为理解世界提供了一条完整的新途径。 第三、由于能够处理多种数据结构,大数据能够在最大程度上利用互联网上记录的人类行为数据进行分析。大数据出现之前,计算机所能够处理的数据都需要前期进行结构化处理,并记录在相应的数据库中。但大数据技术对于数据的结构的要求大大降低,互联网上人们留下的社交信息、地理位置信息、行为习惯信息、偏好信息等各种维度的信息都可以实时处理,立体完整地勾勒出每一个个体的各种特征。在大数据领域发展较早也做的比较好的算是八爪鱼采集器了。
4,大数据时代数据应该如何存储
pb或多pb级基础设施与传统大规模数据集之间的差别简直就像白天和黑夜的差别,就像在笔记本电脑上处理数据和在raid阵列上处理数据之间的差别。当day在2009年加入shutterfly时,存储已经成为该公司最大的开支,并且以飞快的速度增长。每n个pb的额外存储意味着我们需要另一个存储管理员来支持物理和逻辑基础设施,day表示,面对大规模数据存储,系统会更频繁地出问题,任何管理超大存储的人经常都要处理硬件故障。大家都在试图解决的根本问题是:当你知道存储的一部分将在一段时间内出现问题,你应该如何确保数据可用性,同时确保不会降低性能?raid问题解决故障的标准答案是复制,通常以raid阵列的形式。但day表示,面对庞大规模的数据时,raid解决问题的同时可能会制造更多问题。在传统raid数据存储方案中,每个数据的副本都被镜像和存储在阵列的不同磁盘中,以确保完整性和可用性。但这意味着每个被镜像和存储的数据将需要其本身五倍以上的存储空间。随着raid阵列中使用的磁盘越来越大(从密度和功耗的角度来看,3tb磁盘非常具有吸引力),更换故障驱动器的时间也将变得越来越长。实际上,我们使用raid并不存在任何操作问题,day表示,我们看到的是,随着磁盘变得越来越大,当任何组件发生故障时,我们回到一个完全冗余的系统的时间增加。生成校验是与数据集的大小成正比的。当我们开始使用1tb和2tb的磁盘时,回到完全冗余系统的时间变得很长。可以说,这种趋势并没有朝着正确的方向发展。对于shutterfly而言,可靠性和可用性是非常关键的因素,这也是企业级存储的要求。day表示,其快速膨胀的存储成本使商品系统变得更具吸引力。当day及其团队在研究潜在技术解决方案以帮助控制存储成本时,他们对于一项叫做纠删码(erasure code)的技术非常感兴趣。采用擦除代码技术的下一代存储里德-所罗门纠删码最初作为前向纠错码(forward error correction, fec)用于不可靠通道的数据传输,例如外层空间探测的数据传输。这项技术还被用于cd和dvd来处理光盘上的故障,例如灰尘和划痕。一些存储供应商已经开始将纠删码纳入他们的解决方案中。使用纠删码,数据可以被分解成几块,单块分解数据是无用的,然后它们被分散到不同磁盘驱动器或者服务器。在任何使用,这些数据都可以完全重组,即使有些数据块因为磁盘故障已经丢失。换句话说,你不需要创建多个数据副本,单个数据就可以确保数据的完整性和可用性。基于纠删码的解决方案的早期供应商之一是cleversafe公司,他们添加了位置信息来创建其所谓的分散编码,让用户可以在不同位置(例如多个数据中心)存储数据块或者说数据片。每个数据块就其自身而言是无用的,这样能够确保隐私性和安全性。因为信息分散技术使用单一数据来确保数据完整性和可用性,而不是像raid一样使用多个副本,公司可以节省多达90%的存储成本。当你将试图重组数据时,你并不一定需要提供所有数据块,cleversafe公司产品策略、市场营销和客户解决方案副总裁russ kennedy表示,你生成的数据块的数量,我们称之为宽度,我们将重组数据需要的最低数量称之为门槛。你生成的数据块的数量和重组需要的数量之间的差异决定了其可靠性。同时,即使你丢失节点和驱动器,你仍然能够得到原来形式的数据。
5,为什么mongodb适合大数据的存储
mongo是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。mongo使用c++开发,提供了以下功能:◆面向集合的存储:适合存储对象及json形式的数据。◆动态查询:mongo支持丰富的查询表达式。查询指令使用json形式的标记,可轻易查询文档中内嵌的对象及数组。◆完整的索引支持:包括文档内嵌对象及数组。mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。◆查询监视:mongo包含一个监视工具用于分析数据库操作的性能。◆复制及自动故障转移:mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。◆高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。◆自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。mongodb的主要目标是