数据库发展
一、历程
数据库发展至今已经有3代:
1、SQL:传统关系型数据库。例如 Mysql,Oracle,SqlServer等;
2、noSQL : not only Sql。例如 MongoDB,Redis等;
3、NewSQL:
二、问题
【SQL】
问题:伴随互联网应用的用户规模,数据量都越来越大,且要求7x24小时在线。
解决办法:
1、升级服务器硬件。虽然提升了性能,但是总有天花板。
2、数据分片,使用分布式集群结构。可扩展性更好,但是,以前在一个库里的数据,现在跨多个库,应用系统不能自己去多个库总操作,需要使用数据库分片中间件。
分片中间件做的简单的数据操作时还好,一旦涉及到跨库join,跨库事务就头疼。很多IT宁愿在自己的业务层处理,复杂度很高。
【noSQL】
后来noSQL出现,摒弃传统SQL的强事务保证和关系模型,重点放在数据库高可用性和可扩展性。
优点:
1、高可用性、可扩展性、自动分区
2、不保证强一致性,性能大幅提升
3、没有关系模型的限制,极其灵活
缺点:
1、noSQL不保证强一致性,普通应用没啥问题。但是类似金融行业一样的企业级应用有强一致性的需求。
2、noSQL不支持sql语句,兼容性是个大问题,不同的noSQL数据库都有自己的api操作数据,比较复杂。
【newSQL】
newSQL提供了与noSQL相同的可扩展性,而且仍基于关系模型,还保留了极其成熟的SQL作为查询语句,保证了ACID事务特性。
简单的来说,newSQL就是传统关系型数据库上集成了noSQL的强大可扩展性。
传统SQL架构设计基因中是没有分布式的,newSQL生于云时代,天生就是分布式架构。
主要特性:
1、支持SQL,支持复杂查询和大数据分析
2、支持ACID,支持隔离级别
3、弹性伸缩,扩容缩容对于业务层完全透明
4、高可用,自动容灾
三、对比
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南