OceanBase设计规范与数据架构指南版本0
1文档修订历史版本号作者备注修订日期V0
1泓影初稿2017-06-29V0
2泓影修正细节2017-07-131OceanBase1
0简介自从E
Codd于1970年首次提出关系数据库模型后,关系数据库便以其易于使用的接口、完善的功能和生态而成为了IT领域必需的基础设施,广泛应用在各行各业,包括金融、电信、房地产、农林牧渔、制造业等等
关系数据库经过了40多年的发展,涌现了Oracle、SQLServer、DB2等优秀的商业数据库产品,开源领域也不乏MySQL、PostgreSQL这样的精品
但是,随着互联网行业和大数据的兴起,数据量和并发访问量呈现指数级的增长,囿于关系数据库的架构,原先运行良好的关系数据库遭遇了严峻的挑战:极度高昂的总体拥有成本、捉襟见肘的扩展能力、荏弱无力的大数据处理性能等等
于是NoSQL应运而生,Hbase、Cassandra等系统如雨后春笋般冒出,这些系统多采取分布式架构,易于扩展及容灾,结合大数据处理系统如Hadoop等,可以很容易处理量级非常大的数据,这一时让NoSQL风光无两,大有取代SQL之势,让人看不清NoSQL系统的边界
很多公司尝试将核心系统迁移到新兴的NoSQL系统上,比如Facebook就尝试将部份核心系统迁移到Cassandra
在迁移过程中,人们发现NoSQL所获得针对SQL的优势其实是以牺牲一些非常重要的功能来获取的,如NoSQL一般不支持事务或只支持非常有限的事务,这极大的增加了业务系统的复杂度,在传统的OLTP领域采取NoSQL系统基本上是不可以接受的
阿里巴巴/蚂蚁金服的关系数据库使用场景极其严苛,有着全球最大的并发量需求,在可靠性方面需要做到单机、机架、机房甚至是地区级别的容灾恢复能力
早期使用共享存储、小型机等高端硬件也只能部分满足我们在性能和可靠性上的需求