为了应对流量并发瓶颈,以及方便数据迁移与扩容,数据分片方式是常用的解决方式。Kafka的分区(partition)、RocketMQ的队列(Queue)、Elasticsearch的主分片/副本(shard)、数据库的分库分表等,均采用数据分片思想应对高并发流量。
可见我们在使用MySQL8.0前需要根据自己的使用场景评估是否要开启忽略大小写,如果需要开启忽略大小写,初始化前需要把lower-case-table-names=1写入到my.cnf配置文件中,这样才不会影响后续的使用。
对于DBA来说,也会有一定的SQL语句监控的需求,也都会掌握一些SQL语句监控与分析的技巧。对于Oracle数据库的DBA来说,我们已经十分习惯于通过AWR报告的TOP SQL相关内容来分析SQL的运行情况,发现存在问题的SQL。不过这种分析只能算SQL优化,而无法称之为SQL监控。
MySQL 提供了标准SQL模式匹配以及一种基于扩展正则表达式的模式匹配,类似于 Unix 实用程序(如 vi、grep和 sed )使用的那些。
自主创新、自主研发是一条艰难却必须走的发展道路。近年来,在国家创新驱动发展战略指引下,自主信息技术发展取得较大进展,与此同时我们也应认识到,我国整体自主创新能力、研发能力与发达国家相比仍存在一定差距,核心关键技术的创新能力不足,自主创新依旧任重道远。
目前自诩为开发分布式数据库产品的国内厂商已有上百家,但以互联网大厂为主的一线厂商却屈指可数。随着我国电子商务的迅猛发展,当面临Oracle难以解决大数据量的场景和高昂的商业许可费用时,一线大厂开始以“开源数据库+分库分表”的方式对大数据量进行“分而治之”。
本文着重介绍了我们公司如何应对基础架构扩展方面的诸多挑战之一:使用Spring和 Spring Data对Postgres数据库实现可扩展写入。