Heim > Datenbank > MySQL-Tutorial > 分布式数据库设计的要点

分布式数据库设计的要点

WBOY
Freigeben: 2016-06-07 15:47:51
Original
1272 Leute haben es durchsucht

当前key-value的数据库分布式数据库应用非常广泛。在互联网的企业或者大的服务提供商,很多数据都采用key-value的形式存储,包括图片,索引,网页评论,博客等。 key-value的分布式数据库的特点是访问稳定一致,不会受到随着数据量增大性能严重下降的困扰,

        当前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模式来进行灾备。多份数据的校验和相互更新也是逻辑层的最复杂逻辑之一。

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage