01 前言
时隔两年再次写作,心态上有了很多变化。在大数据领域探索了几年,确实也到了静下心来,沉淀一下的时候了。接下来的一系列文章也算是将现有理解和学习所得相结合的一些产物,绝对原创。本人文笔拙略,知识点尽量深入浅出,如有不当之处还请各位海涵并指出,同时欢迎技术交流和沟通,期待和大家共同成长。
本文为先导文,分片路由实现、一致性等文章,请关注后续。
02 什么是分片和路由
大数据的相关背景不过多赘述,用两句话简单总结:数据规模爆炸式增长,单机的存储和计算性能受到极大的挑战。
在如此的背景下传统数据库,以Oracle、MySQL等为代表的数据库为了不断前行,在纵向不断深挖,也推出了很多小机、一体机等专用机型,但硬件上推陈出新的速度相比数据增长的速度来说,永远是滞后的,虽然各自也推出以RAC、主从等架构一定程度上进行了横向扩展缓解了单点的压力,但面对庞大的数据依旧显得较为“单薄”。目前主流的Hadoop系存储计算系统基本采用的是横向扩展,即通过增加机器数量来增加水平扩展的能力。
对于存储系统来说,面对海量数据,需要对数据进行分片处理,将数据按照一定的规则分配到各个机器中进行存储,这就叫做数据分片,当数据存储完成后,需要通过一定的手段获得数据的存储位置,这一部分叫做数据路由。
03 Hadoop最具代表的分片、路由模型
在Hadoop系中HDFS作为最基础的存储系统,极具代表性。通过不断增加机器数量来