云计算分布式存储是用ceph还是hadoop
云计算分布式存储是用ceph还是hadoop?
云计算的开发需要多种语言共同参与,HADOOP在云计算产品中只是一个底层框架,适合做云盘、分布式计算等底层业务。很少有一种云产品只用一种开发语言解决所有问题的,语言只是工具,关键是要学会在不同的应用场景下,如何正确选择合适的工具。云产品的框架有很多,比如OpenStack是用Python写的,Hadoop是用Java写的。
Ceph架构简介及其特点
Ceph简介
Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。
Ceph特点
高性能
a. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。
b.考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。
c. 能够支持上千个存储节点的规模,支持TB到PB级的数据。
高可用性
a. 副本数可以灵活控制。
b. 支持故障域分隔,数据强一致性。
c. 多种故障场景自动进行修复自愈。
d. 没有单点故障,自动管理。
高可扩展性
a. 去中心化。
b. 扩展灵活。
c. 随着节点增加而线性增长。
特性丰富
a. 支持三种存储接口:块存储、文件存储、对象存储。
b. 支持自定义接口,支持多种语言驱动。
Hadoop简介及其特点
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
云计算的开发语言多样
hadoop和云计算是两回事,HADOOP开发首选JAVA,次选C/C++或者Python云计算就复杂了,不同的应用又不同额选择。很少有一种云产品只用一种开发语言解决所有问题的语言只是工具,关键是要学会在不同的应用场景下,如何正确选择合适的工具。云产品的框架有很多,比如OpenStack是用Python写的,Hadoop是用Java写的。
HADOOP在云计算产品中只是一个底层框架,适合做云盘、分布式计算等底层业务。中间层和上层用什么语言开发取决产品的特性和技术人员的技术特点。