上QQ阅读APP看书,第一时间看更新
第8章 分片技术
8.1 数据分片的概念
传统概念里的分片技术是将数据库分割成多个碎片并放置在不同的服务器上。在现代的云服务中,数据常常被托管在不同站点并进行分区。这一做法的原因包括使多台计算机之间的负载平衡,进而提高可扩展性;通过多站点存储数据,来提高可用性等。
而区块链分片技术则是基于数据库分片概念的一种扩容技术。
无论在区块链领域,还是数据库领域,分片时要进行的第一步工作都是提取数据的关键特征值,并将关键特征值按照一定的规则来划分给不同的碎片进行处理。关键特征值的选择非常重要,它关系着数据的唯一性保障以及分片的效果。关于特征值的选取方法,一个言简意赅的标准:“以你所认为的基本数据模式为标准”。因此在区块链项目中经常可以看到分片的依据是用户的私钥/账户地址等,因为这些值是唯一的且不随时间改变的,分片时逻辑比较清晰。