Engineering Database Hardware and Software Together,是Juan Loaiza在2015 VLDB大会上的Keynotes。虽然是10年前的文章,但其中一些要点一直延续至今,并未改变。
本文将讲解Keynotes摘要和演讲中的要点。
摘要
其中的一些观点:
In data management, system performance is defined as acceptable response time and throughput on critical-path operations, ideally with scalability guarantees.
在数据管理中,系统性能被定义为关键路径操作的可接受响应时间和吞吐量,理想情况下还应保证可扩展性。
(Performance) is contingent on seamless collaboration between the database software and hardware and storage devices.
(性能)取决于数据库软件、硬件和存储设备之间的无缝协作。
Nowadays performance is synonymous to scalability; and scalability, in turn, translates into sustainable and predictable use of hardware resources in the face of embarrassing parallelism and deep storage hierarchies while minimizing energy needs — a multidimensionally challenging goal.
如今,性能是可扩展性的代名词;而可扩展性则意味着在面临令人尴尬的并行性和深度存储层次时,可持续且可预测地使用硬件资源,同时最大限度地降低能源需求(我觉得也包括磁盘访问需求)——这是一个具有多维度挑战性的目标。
上面这些观点是VLDB主页中的,余下的来自ACM Digital Library中的摘要。
Exadata optimize the full hardware and soft-ware stack for database workloads. … based on a scale-out architecture … optimizes both OLTP and Analytic workloads … using database speci c protocols … bypass limitations imposed by conventional network and storage layers.
Exadata 针对数据库工作负载优化了整个硬件和软件堆栈。…基于横向扩展架构…优化 OLTP 和分析工作负载…使用数据库特定的协议…绕过传统网络和存储层施加的限制。
以上涉及到HTAP和Offload两个重要概念。
Keynotes部分
除了Exadata,还重点讲了Database In-Memory(DBIM)。此时据DBIM的发布还不到1年。
这张片子中的要点:
- 对于数仓,SQL Offload通过减少I/O,实现了不断增长的Flash带宽和有限网络之间的平衡
- 对于OLTP性能,闪存和RDMA(后来Exadata有了RoCE协议)是关键。
- 对于存储性能,关键是Flash Cache
这张片子讲的是HTAP,后来又延展为融合数据库的概念。其中要点为:
- Exadata部署数仓和OLTP的比例是一半一半,当然有些是共同部署在Exadata上的
- 关键在于专门的算法,而不是专门的产品(例如RDBMS+MongoDB+Redis+Neo4j+Milvus)
- 通用数据库的好处包括更少的数据移动(集成),更好的安全,可用性,管理,备份,扩展… 总之就是简单(学习/操作/补丁/安全加固)。
- 对于数据库,解压比压缩更重要。Exadata支持解压(而非压缩)和解密(而非加密)的Offload。此外,芯片一级也支持SIMD算法。
- 这其中提高到的Bit pattern是一类算法,DBIM用的是其中的RLE。
这其中红色的部分都是和DBIM相关的:
- OZIP和RLE都是在字典压缩后可能叠加的压缩算法。
- Bloom Filter,Predicate Evaluation,Filter Rows by Bit Vector 和12.1就具备的In-Memory aggregation,Scan & Filter on compressed data功能有关