分布式数据库设计的要点

        当前key-value的数据库分布式数据库应用非常广泛。在互联网的企业或者大的服务提供商,很多数据都采用key-value的形式存储,包括图片,索引,网页评论,博客等。

       key-value的分布式数据库的特点是访问稳定一致,不会受到随着数据量增大性能严重下降的困扰,传统的关系数据库无法消除这个困扰。key-value的数据库一个key对应一条记录,其指标就是这个数据库能容纳的最大key数量,value的最大值,平均值等。数据存储大小对性能是否有影响等,总的存储量多大,磁盘利用率多大等,访问速度在其次。只要控制在一次访问在10ms以内,就行了。实际上成熟的数据库一般都是有读写cache的。因此,好的数据库的访问性能不是瓶颈。比较数据库的优缺点主要是容量,安全性,容灾性能,分布性能和磁盘利用率。

 

 

分布式数据库的设计要点:

1.路由机制

      既然是分布式,那么数据的存储肯定是分布式在不同的机器,或者不同的机房,甚至不懂的IDC。路由机制的可靠好完善是数据安全性的保证。也是分布第一要解决的问题。路由机制保证容灾、迁移的正常进行。

2.数据库的cache机制

      数据库必须是读写cache的,否则就没有价值可言,一个初期的数据库可能直接用机器来堆出访问量支撑,可能不需要cache。但是随着数据库的大规模使用,如果不做cache成本根本无法承受,就包括腾讯、百度、淘宝这些巨头都无法承受没有cache的数据库的使用。这些巨头的访问量都是上亿级别的。没有那个数据库能在没有cache的情况下支撑那么大的访问量,那得多少机器呀!

      写cache是后台服务器设计中最复杂的内容之一。写cache复杂之处不是其cache算法以及cahche节点的编程,而是在于其容灾和数据恢复,以及写多份数据的相互更新的安全性。设计写cache必须考虑每个可能异常以及最极端的情况下的数据恢复,记住一个要点就是,每个过程都有可能被中断。

3.数据库的磁盘组织,多份数据的校验和相互更新安全性

      磁盘往往会损坏,出现坏道坏磁头等现象,多份数据能在磁盘损坏的情况下保证数据的正常读写,但是多份数据带来了写cache的逻辑复杂性。数据库的容灾一般是靠active和standby模式来进行灾备。多份数据的校验和相互更新也是逻辑层的最复杂逻辑之一。

更多认知,感悟,成长干货,技术分享,请关注我的公众号「成为很厉害的人」。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我很清楚地明白了您的要求。关于分布式数据库中分片的概念和相关内容,我可以给您一个比较详细的介绍。 1. 概念 分片是分布式数据库中一种重要的数据划分和管理方式,它把一个大型的数据库拆分成多个小片段(即分片),每个分片只保存部分数据,不同的分片可以分配到不同的机器上进行管理和存储。而在使用分片的时候,需要通过一定的分片策略来决定将数据划分到哪些分片中,以达到数据分布均衡和负载均衡的目的。 2. 优缺点 分片的优点主要包括: (1)分布式存储:将大型数据拆分成多个小数据段存储在不同的机器上,能够提高数据存储的可靠性和安全性,同时也能增加数据的读写效率。 (2)横向扩展:通过增加机器来扩大数据库的容量和性能,而不是通过更换更高效的硬件设备或者单点增加服务器的硬件性能。 (3)负载均衡:数据的分片能够有效地平衡不同机器上的读写请求,以及减轻服务器的压力,从而使整个数据库系统更加灵活和健壮。 分片的缺点主要包括: (1)数据一致性:因为数据被划分到不同的机器中,可能会出现数据不一致的情况,如何保证数据一致性是分片需要解决的关键问题之一。 (2)系统复杂性:分片需要对多个机器进行协调和管理,增加了系统的复杂性和难度,需要更多的技术和管理人员来进行维护和操作。 3. 策略 常见的分片策略包括: (1)基于哈希的分片策略:通过哈希算法将数据分配到不同的分片中,能够有效地保证数据分布的均匀性和一致性。 (2)基于范围的分片策略:按照数据范围将数据分配到不同的分片中,如按照日期进行划分,例如一个月的数据分配到一个分片中,实现起来比较简单。 (3)基于复制的分片策略:将数据副本保存到多个节点上,这样可以在系统出现故障时,快速切换到备份节点,保证系统的可靠性。 4. 场景用例 分片技术在大型的分布式应用中得到了广泛的应用,例如社交网络、电商网站、物联网等。 (1)社交网络:社交网络通常包含大量的用户资料和社交关系数据,这些数据可以根据用户ID进行分片管理,同时数据一致性和查询性能也可以通过哈希和复制策略进行优化。 (2)电商网站:电商网站通常包含大量的订单和交易数据,这些数据可以按照时间、地域和商品类型进行分片管理,同时为了保证系统的高可用性,可以采用复制策略进行备份和恢复。 (3)物联网:物联网通常包含大量的传感器数据和设备数据,这些数据可以按照设备ID和时间进行分片管理,同时为了保证数据的实时性和准确性,可以采用哈希策略实现近似最优查询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值