云计算 频道

DTCC:分布式数据库的架构与分片设计

  【IT168 评论】国内最受关注的数据库技术盛会——2017第八届中国数据库技术大会(DTCC2017)于2017年5月11-13日如约而至。本届大会以“数据驱动?价值发现”为主题,汇集来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域的120多位技术专家,共同探讨Oracle、MySQL、NoSQL、云端数据库、智能数据平台、区块链、数据可视化、深度学习等领域的前瞻性热点话题与技术。

  (更多大会精彩:http://tech.it168.com/topic/2017/5-10/DTCC2017/)

  在大会的分会场上,来自热璞科技的CTO金官丁带来了《分布式数据库的架构与分片设计》的精彩分享。

  当下,国内传统行业的企业信息化几乎都被甲骨文Oracle数据库、IBM小型机和存储设备、EMC存储设备垄断,几乎很难摆脱对这三家公司的依赖,成本、风险居高不下。IBM小型机和存储设备、Oracle数据库、EMC存储设备构成了业界经典的IOE集中式数据库架构。

  然而,传统企业因要适应社会变革和生产经营转型升级,为此企业信息化的数据系统需要面临海量数据、海量用户、高可靠、高性能、高并发和可水平扩展的挑战,热璞科技分布式数据库HotDB正是为此应运而生的技术产品。

  “从最早的MySQL-Proxy到DaaS都存在一个通病,我们设计这类产品的时候只为解决某一个或一类问题,也即数据读负载均衡到如何解决数据分片,通过数据架构设计技巧和应用编程技巧规避数据分片后的问题,同时也存在维护的技术门槛等问题”。金官丁谈到。

  在谈到分布式数据库核心定位时,金官丁表示,专注MySQL数据库服务的高可靠高吞吐量的分布式数据库产品,要求能在分布式数据库环境下为应用提供集中式数据库的操作体验,为海量数据、海量用户、高并发、高性能和高可用的业务系统提供强有力的支撑,同时具备强分布式透明、易扩展、无学习成本等特点。

  在分布式数据库的数据分片规则上,MySQL Cluster的NDB存储引擎分布式数据库默认是按主键进行数据分片,这样设计可降低技术复杂度,但非主键的数据处理的成本较高。分布式数据库的数据架构设计非常好的实践经验,需让每张表做到自由选择一个特有的分片字段和分片算法组成表对象的数据分片规则,可让数据结构设计更简洁和技术门槛更低,也更有利于降低数据访问的复杂度,同时能提升优化数据访问的性能。

  金官丁在经历多款分布式数据库产品设计与研发,及实施数十个私有云数据库项目后,总结发现分布式数据库产品需提供五种数据分片算法:路由表、约定范围、哈希约定、自动哈希和E-R关系,前四种分片算法是核心,第五种算法主要是为解决常见的某一类特殊数据分片关系,让分布式数据库HotDB优化器的性能更佳。

  分布式数据库的数据分片算法

  谈到具体细节时,金官丁分享到,路由表须配置每一个分片因子的值与数据节点的对照关系,不要求数据均匀分布的模型。分片因子的值域范围可控的业务场景;范围约定配置分片因子的每个值域段与数据节点的对照关系,不要求数据均匀分布的模型;哈希约定作为分母取模计算哈希值,约定哈希值段对应不同的数据节点,不要求数据均匀分布的模型;自动哈希按数据分片的数据节点数量作为分母取模,计算哈希值分片,适用于数据均匀分布的模型,追求做到每个数据节点的数据量一致。

  热璞技术团队耕耘数据库行业十年以上,一直探索与实践追求更优的数据库解决方案,吸收分布式数据库关系理论和并行数据库关系理论的技术算法优势,同时结合单机版开源数据库MySQL的算法特征和技术优势,研发出支持海量数据的存储与服务能力的分布式数据库产品HotDB。目前,已在互联网、快递物流、广电传媒、金融等行业成功实施应用。

0
相关文章