23 | 数据库查询串讲:重难点回顾+思考题答疑+知识全景图
王磊
该思维导图由 AI 生成,仅供参考
你好,我是王磊。
这一讲是我们课程的第三个答疑篇,我会和你一起回顾第 16 讲到 22 讲的主要内容,这部分内容是围绕着数据库的“查询”展开的。同时,我也会集中解答留给大家思考题,并回复一些大家关注的热点内容。
第 16 讲:慎用存储过程
第 16 讲,我首先分享了自己职业生涯中的一个小故事,说的是如何用 Oracle 的存储过程将程序执行速度提升了 60 倍。这是个值得骄傲的事情,但后来我也发现了存储过程的局限性,就是难以移植、难以调试。所以,我个人的建议是不使用或者少使用存储过程。
然后,我们对分布式数据库的支持现状做了介绍,只有 OceanBase 2.0 版本支持 Oracle 存储过程,但官方并不建议在生产环境中使用。Google 的 F1 中通过引入独立的 UDF Server 来支持存储过程,可以使用 Java 等多种高级语言进行开发,这样调试和迁移会更加方便,但是普通企业的网络带宽能否支撑这种架构还不好说。
最后,我们重点介绍了 VoltDB。它是一款内存分布式数据库,大量使用内存、单线程、主要使用存储过程封装 SQL 是它的三个特点。VoltDB 的存储过程也支持 Java 开发,更加开放。
这一讲的是思考题是“VoltDB 的设计思路很特别,在数据的复制上的设计也是别出心裁,既不是 NewSQL 的 Paxos 协议也不是 PGXC 的主从复制,你能想到是如何设计的吗?”
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了数据库查询相关的技术内容,包括存储过程的使用建议、自增主键与随机主键的比较、HTAP与Kappa架构的讨论等。王磊老师分享了自己的职业经历和对数据库查询的见解,同时解答了一些思考题,并回复了读者的留言。在讨论存储过程时,他提到了Oracle的存储过程局限性和VoltDB的特点,以及对存储过程的使用建议。在自增主键与随机主键的比较中,他介绍了两种主键可能引发的问题,并给出了解决方法。此外,他还对HTAP与Kappa架构进行了比较,并讨论了TiFlash的优化问题。另外,文章还涵盖了计算下推、关联查询算法与分布式实现、查询执行引擎的三个模型等内容。总体来说,本文内容丰富,涵盖了数据库查询的多个方面,对读者了解数据库查询有很大帮助。文章内容涉及存储引擎的优化选择,B+ Tree与LSM的区别,RocksDB、TiDB和CockroachDB的存储引擎选择,以及Bloom Filter在Scan操作中的应用等。这些内容对于对数据库查询有兴趣的读者来说,提供了深入的技术探讨和实用建议,有助于加深对数据库查询技术的理解和应用。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式数据库 30 讲》,新⼈⾸单¥59
《分布式数据库 30 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- Geek_2e6a7e百亿级的查询复杂查询为啥不用ES,而是自研Pharos?
作者回复: 因为更快呀:)
2020-09-3022
收起评论