开发者关心的十个数据库技术问题

作者 | 雷海林 责编 | 田玮靖
出 品 | 《新程序员》
如今 , 数据库越来越受到业界的广泛关注 , 许多高校毕业生及资深技术人也逐渐投身于数据库产业 。 《新程序员002》经过用户、专家调研 , 收集汇总了十个开发者关心的数据库技术问题 , 并邀请腾讯云TDSQL技术负责人、首席架构师雷海林作出解答 , 希望为越来越多投身数据库的技术人才提供参考 。
数据技术应用与创新
1. 数据库产品在面向企业时(涉及负载均衡、数据传输、运营平台、故障发现分析和治愈、发布系统、冷备系统等等) , 核心服务有哪些?
2. 数据库迁移怎么做?
3. 如何在低配服务器中 , 实现数据库高性能、高可用运行?
当然 , 也有一些场景 , 需要将数据库部署在配置很低的服务器上(如低规格的虚拟机) , 这个时候对数据库的稳定运行确实是一个考验 。 所以我们在设计时要注意尽量控制配套的辅助模块 , 降低对资源(如CPU、IO等)的利用率 , 让资源真正为业务所用 。 低配服务器 , 当SQL请求增加时 , 更容易触发资源阈值告警 , 这时DBA人员需要根据情况考虑是否扩容 。 另一种方式 , 是从DB设计侧支持自动限流 , 通过对请求进行流控 , 以保证整体的高可用 。
4. 大数据量的并行处理如何应对?
大数据量的并行处理意味着数据库计算框架要具备并行化处理能力 , 比如能够把SQL拆解成一个并行的执行计划 , 采用多线程的方式去执行 , 需要时能够将这些子查询计划推到对应的数据节点上并行执行 。 而在并行处理中 , 也有很多问题要解决 , 比如当海量流量涌入 , 我们需要针对用户或者某类SQL控制总的资源消耗度(如并行的连接数 , 线程数 , 总的资源利用率等) , 另外也需要对在线SQL和离线分析SQL进行区分 , 在资源不够的时候要优先保障在线SQL的执行 , 这都是设计数据库时需要考虑的问题 。
数据技术融合发展洞见
5. 实时计算大行其道 , 数据库如何应对?
随着技术的发展 , 物联网、大数据和互联网监控等拥有海量时序数据、需要实时数据作决策的场景越来越广泛 , 这些新兴的场景都是云计算、“产业互联网+”深化发展的必然结果 , 也是数据库等基础数据技术需要提前应对布局的技术场景 。 针对实时计算场景提出的要求(比如大量数据输入、秒级别计算响应) , 数据库技术需要具备高性能服务、低成本存储、超强聚合分析能力等基本特性 。 而这些要求 , 时序数据库产品能够很好地满足 。 随着未来场景特征的融合 , 实时计算的需求也将可能出现在各行各业的实际场景中 。 因此作为底层技术 , 数据库也将走向满足多种计算能力要求的多引擎融合发展 , 用强大的底层能力支撑通用场景应用 。 这也是我们应该探索的方向 。
6. 数据库与大数据是什么关系?
从宏观层面来看 , 数据库是一个非常宽泛的概念 , 大数据应该也属于数据库的一种形态 。 当然从更细粒度的角度来看 , 数据库主要用来处理联机交易和中等规模的数据分析 , 强调高性能低延时的数据存取 。 而大数据一般面向海量数据以及基于这些数据从产生、收集、存储到计算的分布式计算框架 , 如Hadoop、Spark生态下的各种软件和框架 。
7. 数据库基础研究创新有哪些值得考虑的方向?
基础研究创新的方向要从未来行业对数据库的需求角度来分析 。
第一 , 数据库的主流方向是分布式架构 , 同时在数据规模不断增长、对数据价值分析效率要求不断提升的背景下 , 满足HTAP场景是一个重要的发展方向 。 而数据库需要很好支持HTAP的能力 , 系统需要真正实现计算层高扩容能力 , 以及支持不同的计算和存储引擎 , 还要做到资源良好地隔离等等 。 目前从整个行业来看 , 这一方面的能力还有待完善和探索 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。