随着计算机技术和互联网的发展,各类应用,比如图片,音视频,社交,电子商务等,涉及的数据量越来越大,单机存储技术和分布式存储系统也随之不断发展,但其中的海量小文件问题(通常数量在千万以上级别,1MB以内文件),成了业界的难题。许多公司根据自身的业务场景,对此提出了相应的存储解决方案。本文将分析海量小文件的问题所在,并结合业界已有的解决方案,探讨一些通用的可能解决点:硬件设施,元数据管理优化等。
系统性能分析注意点
发表于
|
分类于
misc
一个系统的性能是由多方面共同作用的结果,当我们分析系统性能时,需要知晓主要的性能瓶颈点。本文从CPU调度,内存管理,文件系统,IO,网络等方面介绍了性能分析的注意点,并提供了一些工程上的建议。文中提到的Brendan Gregg是这方面的专家,建议阅读其相关文章。
NUMA架构使用中的问题
发表于
|
分类于
misc
本文从NUMA的介绍引出常见的NUMA使用中的陷阱,继而讨论对于NUMA系统的优化方法和一些值得关注的方向。
分布式存储系统设计的几个问题和考虑点
发表于
|
分类于
storage
数据的可靠性是任何一个存储系统的第一要务,之后才是根据实际业务场景提供相应的接口和服务。单机系统上,数据的可靠性主要依赖于底层硬件设施,除了存储设备本身的可靠性,通常还搭配RAID技术作为冗余方案。分布式系统面临的问题则要复杂得多。借鉴至RAID技术,有副本,纠删码等冗余方案,可以保证数据的可靠性,但同时也引入了新的问题:系统可用性和数据一致性。CAP理论(有一定的适用场景)指出,一致性(C),可用性(A)和分区问题(P),三者无法同时保证,而一般认为,P是不可避免的,这就意味着一致性和可用性这两个目标是互相冲突的。可以看到,分布式系统的复杂主要就在于检测和处理各种故障问题,还需要权衡系统的可用性和数据的一致性。在此基础上才考虑扩容,服务等级,安全等问题。
数据交换 - XML, JSON, ProtoBuf
发表于
|
分类于
misc
本文将罗列几种常见的数据交换方式,数据交换常用于平台或语言无关化的接口调用,配置文件,数据存储等场景。数据交换的方式主要包括XML,JSON,YAML,Protobuf等。