互联网如何海量存储数据?
目前存储海量数据的技术主要包括NoSQL、分布式文件系统、和传统关系型数据库 。随着互联网行业不断的发展,产生的数据量越来越多,并且这些数据的特点是半结构化和非结构化,数据很可能是不精确的,易变的 。这样传统关系型数据库就无法发挥它的优势 。因此,目前互联网行业偏向于使用NoSQL和分布式文件系统来存储海量数据 。
下面介绍下常用的NoSQL和分布式文件系统 。NoSQL互联网行业常用的NoSQL有:HBase、MongoDB、Couchbase、LevelDB 。HBase是Apache Hadoop的子项目,理论依据为Google论文 Bigtable: A Distributed Storage System for Structured Data开发的 。
HBase适合存储半结构化或非结构化的数据 。HBase的数据模型是稀疏的、分布式的、持久稳固的多维map 。HBase也有行和列的概念,这是与RDBMS相同的地方,但却又不同 。HBase底层采用HDFS作为文件系统,具有高可靠性、高性能 。MongoDB是一种支持高性能数据存储的开源文档型数据库 。支持嵌入式数据模型以减少对数据库系统的I/O、利用索引实现快速查询,并且嵌入式文档和集合也支持索引,它复制能力被称作复制集(replica set),提供了自动的故障迁移和数据冗余 。
MongoDB的分片策略将数据分布在服务器集群上 。Couchbase这种NoSQL有三个重要的组件:Couchbase服务器、Couchbase Gateway、Couchbase Lite 。Couchbase服务器,支持横向扩展,面向文档的数据库,支持键值操作,类似于SQL查询和内置的全文搜索;Couchbase Gateway提供了用于RESTful和流式访问数据的应用层API 。
【支持WebP等多种图片格式免费处理服务,海量存储】Couchbase Lite是一款面向移动设备和“边缘”系统的嵌入式数据库 。Couchbase支持千万级海量数据存储分布式文件系统如果针对单个大文件,譬如超过100MB的文件,使用NoSQL存储就不适当了 。使用分布式文件系统的优势在于,分布式文件系统隔离底层数据存储和分布的细节,展示给用户的是一个统一的逻辑视图 。
推荐阅读
- 真的么,反正我支持罗胖子
- 2016二级建造师,一级建造师和二级建造师哪个等级大
- 2021数学全国一卷,哪个帮找下2006年普通高等学校招生全国统一考试全国卷二数学
- 神仙道升级什么装备好,我在《神仙道》等你来
- 坚果1代支持NFC手机公交卡不?
- 广东中专升大专,徐州地区公办中等专业学校可以升大专本科的有那几所
- 家电节是什么时候,可购买家用电器等家电产品
- 等得我都要疯了!
- 猫咪无聊怎么办,别让猫咪等太久
- 解锁后唯品会总有一个