美文网首页
分片随想

分片随想

作者: 快乐小马哥 | 来源:发表于2018-10-14 22:16 被阅读0次

这几天读的东西越多,却发现更难落笔,因为需要思考的困惑也更多了。

先拣一点写写。

区块链公链碰到的重要挑战之一就是性能,当然如果只是把区块链用于数字货币,把区块直接扩大,可能也就差不多了,但如果考虑智能合约,则还远远不足。

分片技术是提高性能的解决方案之一。

分片技术的来源

分片技术(Sharding)来源于数据库。

Sharding

是把数据库扩展到多个物理节点上的一种有效的方式,其主要目的是为突破单节点数据库服务器的

I/O

能力限制,解决数据库扩展性问题。Shard这个词的意思是“碎片”。如果将一个数据库当作一块大玻璃,将这块玻璃打碎,那么每一小块都称为数据库的碎片(DatabaseShard)。将整个数据库打碎的过程就叫做sharding,可以翻译为分片。

Sharding策略包括垂直切分和水平切分两种。

垂直(纵向)拆分:是指按功能模块拆分,以解决表与表之间的io竞争。比如分为订单库、商品库、用户库...这种方式多个数据库之间的表结构不同。

水平(横向)拆分:将同一个表的数据进行分块保存到不同的数据库中,来解决单表中数据量增长出现的压力。这些数据库中的表结构完全相同。

形式上,Sharding可以简单定义为将大数据库分布到多个物理节点上的一个分区方案。每一个分区包含数据库的某一部分,称为一个shard,分区方式可以是任意的,并不局限于传统的水平分区和垂直分区。

区块链中的分片技术

V神吹得很玄幻。

“你可以把分片看成是,设置一个区块链,在其中有一百个各自不同的宇宙,每一个宇宙都是一个独立的账户空间。所以你可以在某个宇宙中拥有一个账户,也可以在数个宇宙中持有一个合约,当然,你还可以在数个宇宙间发起一笔交易,而这笔交易仅仅会对涉及到的这几个宇宙产生影响。但是,这一百个宇宙不仅仅是割裂分散的区块链,它们在内部相互联系并组成系统,彼此间达成共识。如果要打破其中一个宇宙,你就必须打破这一个整体”。

可现实很骨感,分片中的一部分问题好解决,一部分却不容易。

最主要的问题就是跨片交易,有办法预知哪些交易应该放在同一个碎片中,从而减少跨片交易吗?

一个预设的碎片分类方法很难适配未来不断涌现的新应用。

是按照应用分类吗?那似乎更接近于侧链的思想了。

相关文章

  • 分片随想

    这几天读的东西越多,却发现更难落笔,因为需要思考的困惑也更多了。 先拣一点写写。 区块链公链碰到的重要挑战之一就是...

  • ShardingSphere官网及总结

    中文文档 分片 分片算法 精确分片算法 范围分片算法 复合分片算法 Hint分片算法 分片策略 标准分片策略 复合...

  • 日知录1-数据分片模型和路由算法

    分片模型: 先将数据映射到分片;再将分片映射到机器;都是多对一的关系。 分片策略:哈希分片和范围分片。 哈希分片通...

  • MongoDB 集群

    分片群集 MongoDB分片群集由以下组件组成: 分片:每个分片包含分片数据。每个分片都可以部署为副本集。 mon...

  • number_of_shards的理解

    分片理论知识 分片数量总分片数=主分片数(副分片数+1)"settings": {"number_of_shard...

  • MongoDB分片群集组件

    MongoDB分片群集包含以下组件: 分片:每个分片包含分片数据的子集。从MongoDB 3.6开始,必须将分片部...

  • 第三章 索引、文档与Mapping

    一、核心概念 节点 节点就是一个ES的进程 分片 分片分为主分片与副本分片 主分片负责写入数据 副本分片只负责查询...

  • 【mongoDB】mongoDB分片策略

    chunk切分是根据分片策略进行实施的,分片策略的内容包括分片键和分片算法。 当前,MongoDB支持两种分片算法...

  • 分片集群中的分片集合

    分片集群中的分片集合 MongoDB 中 分片集群有专门推荐的模式,例如 分片集合 它是一种基于分片键的逻辑对文档...

  • Mycat分库--日期分片实践

    概述 本文进行日期分片实验。 配置 分片路由: 分片规则 配置说明: columns :标识将要分片的表字段 al...

网友评论

      本文标题:分片随想

      本文链接:https://www.haomeiwen.com/subject/qsatzftx.html