关系型数据库是企事业单位、政府机构信息系统的核心资源,对于一些关键行业(例如银行、非银行金融机构、电信等),由于自身业务的特点,决定了其信息系统在可靠性、可用性、可扩展性以及强一致性等方面有着极高的要求。因此,现有这些企业的信息系统在设计与实现时大部分采用了数据集中式的架构,软硬件产品选型也以IBM、Oracle、EMC等大型商业公司提供的商用产品为主。比如使用小型机和SAN存储来保证数据库的可用性、可靠性;在扩展性方面,主要通过增加CPU、内存、磁盘等纵向扩展方式(scale up)提高处理能力。
近些年,随着互联网、移动互联网、云计算、大数据和人工智能技术的飞速发展并结合新的商业模式创新,给各行业带来了深刻的影响和变革。个人和企业、企业和企业、企业和政府之间需要大量的交互,与以往相比会产生更大的访问量和数据量。这对支持企业运营和管理的信息系统,特别是核心资源的关系型数据库系统带来了巨大的挑战:
- 数据量巨大
联机单表记录数几亿 ~ 几百亿
联机数据库数据量几TB ~ 几百TB
- 访问量巨大
几万TPS ~ 几十万TPS
几十万QPS ~ 几百万QPS
“互联网+”带来的巨大流量使得企业、机构面临外部访问负载以及数据量的大幅提升,很多企业信息系统目前所采用的这种集中式架构,越来越不适应海量数据以及高并发环境下对数据处理能力的要求,在应对此类场景时数据库逐渐成为整体系统的瓶颈,而提升系统性能只能靠替换式的硬件升级,成本昂贵。
为了解决关系型数据库扩展能力的瓶颈,互联网企业最先进行了尝试和探索。目前他们普遍采用分库、分