存储发展与线上业务发展类似,都是依据业务发展而不断发展,需要不断演进,不可能一蹴而就,应用程序由单体到集群到大规模分布式,存储也类似演进路径。
最开始访问量比较小,直接单体存储就可以解决问题,比如单机 MySQL 、单机Oracle,再到读写分离把读写分开来解决问题,再到Oracle集群承载更大存储量以及并发量,后来并发量再大通过分库分表来扩大存储以及承载更大并发量。
单机数据库事务性方面做的非常好,明显特点是ACID,即原子性、一致性、隔离性、持久性,并且单机数据库事物也分成很多级别,可以根据性能以及我们业务想要达到效果来选择相应级别,核心是通过共享锁、排它锁等不同锁级别设定来实现相应事务级别,从而避免幻影读、脏读、不可重复读等问题。单机数据库实际也是多线程以及锁级别来实现各种各样事务。
线上高并发、高性能应用程序,存储是很重要一个基础设施,分布式 redis 能处理很高并发量,并且能有很高性能,缺点是内存价格高以及不能持久化,大规模存储的话redis规模上T已经很大,但互联网应用还不够。
分布式存储主要分几类,分布式kv存储、分布式表格存储、分布式数据库,分布式kv是其中最简单的 分布式redis是nosql,分布式表格存储bigtable、hbase是其中代表,分布式数据库比前两者要复杂,特点是带有分布式事务,例如Google Spanner和阿里OceanBase。
分布式存储运维是分布式存储一块重要内容,以及怎样无障碍升级。并且升级时不影响整个分布式集群使用,这是分布式存储在线上应用很重要一个点。不能达到这点,后续发现bug进行升级或者增加新特性,怎么样在不影响线上业务情况下使用,是一件很重要事情。
节点出问题后的数据迁移,迁移时不影响线上业务,能够正常支持线上业务应用,这一点很重要。应用架构基石存储这篇对于应用相关问题做了相关探讨。
最近一直在调研分布式存储,主要要解决redis规模不够大问题,开源存储有很多,Facebook 开源mysql引擎Rocksdb,这个存储比redis好地方不会将所有数据都加载到内存,而是很多数据存储在磁盘而不会把全部数据加载到内存,从而节省内存,缺点是主要单机方案,分布式方案资料不多。
百度开源Tera类似于HBase由C++开发性能高,配合开源BFS类似与HDFS可以很好应用,性能比HBase应该会高很多,并且这个项目中英文文档都很全,部署相关信息也很全,比较小一点遗憾是缺少管理整个分布式集群相关系统,对于整个系统监控、管理方面需要使用者去补全。并且整个集群部署也是比较复杂的,需要对整个系统有比较深认知,才能将整个系统应用起来。
通过这段时间调研,了解到分布式存储是一个研发与运维并重软件,光有系统不够,还要整个系统包含齐全的运维,例如扩容、缩容以及机器故障时对于线上业务无感迁移,监控能够方便对节点以及分布式集群整体进行监控,管理对于集群能够通过平台便捷进行相关管理配置以及相关操作。分布式系统从研发到应用到线上不是一件简单事情。
你在实际业务研发中应用过哪些单机数据库或者分布式数据库,遇到过哪些问题,欢迎留言分享。
以上所述就是小编给大家介绍的《存储由单机到分布式演进》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 一文总结:分布式一致性技术是如何演进的?
- 一文总结:分布式一致性技术是如何演进的?
- 模拟淘宝的服务端高并发分布式架构演进之路
- 分享 | 滴滴分布式NoSQL数据库Fusion的演进之路
- 滴滴自研分布式 NoSQL 数据库 Fusion 的演进之路
- 新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
人工智能+:AI与IA如何重塑未来
[美]韩德尔·琼斯(Handel Jones) [中]张臣雄 / 机械工业出版社 / 2018-10 / 55.00
当深度学习模型引发了全世界对人工智能的再次关注时,人工智能迎来第三次高速增长,人工智能(AI)、增强现实(AR)和虚拟现实(VR)正把人类带向新的“智能增强时代”(IA),我们将在不知不觉中接纳机器智能。 针对人类社会长期存在的众多复杂的动态的难题,人机融合智能将会提供全新的解决方案,谷歌、Facebook、微软、亚马逊、腾讯、阿里巴巴、百度等平台巨头纷纷斥千亿巨资布局人工智能的尖端技术;智......一起来看看 《人工智能+:AI与IA如何重塑未来》 这本书的介绍吧!