问题一:在优化存储性能方面,采取了哪些针对存储格式的具体措施?
在优化存储性能方面,采取了哪些针对存储格式的具体措施?
参考回答:
在优化存储性能方面,针对存储格式采取了以下具体措施:一是零拷贝,对于定长类型的数据进行值拷贝,而变长类型则直接转换成PG的datum做指针引用;二是Batch Scan,面向列采用batch scan方式,先扫完一列再扫下一列,以优化CPU cache的使用;三是支持Seek read,方便在过滤命中情况下进行快速跳转。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672259
问题二:DADI相比开源解决方案Alluxio-Fuse在缓存命中场景下的RT(响应时间)有何优势?
DADI相比开源解决方案Alluxio-Fuse在缓存命中场景下的RT(响应时间)有何优势?
参考回答:
DADI相比开源解决方案Alluxio-Fuse在缓存命中场景下的RT(响应时间)有数量级的提升。具体而言,DADI的内存命中RT为6~7微秒,而Alluxio-Fuse则为408微秒。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672260
问题三:DADI在缓存管理方面的核心设计有哪些?
DADI在缓存管理方面的核心设计有哪些?
参考回答:
DADI在缓存管理方面的核心设计包括短路读(直接读共享内存以避免IPC读)、在共享内存中维护缓存是否命中的数据结构(通过reference count和robust mutex保证多线程安全),以及优化磁盘读操作(IPC走shm通信,减少本地socket通信的开销)。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672261
问题四:DADI相比其他方案,在资源使用上有何优势?
DADI相比其他方案,在资源使用上有何优势?
参考回答:
DADI在资源使用上的优势主要体现在内存和CPU两方面。DADI Service使用的内存保持在100~200M之间,这得益于其基于共享内存的IPC实现和精简的编码方式。在CPU使用上,Local DADI Service在磁盘打满时单核CPU使用率仅约20%,且SDK与Local DADI Service的通信较少,进一步降低了CPU负担。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672262
问题五:为了更好发挥DADI在命中内存的优势,与行列混存结合时做了哪些优化?
为了更好发挥DADI在命中内存的优势,与行列混存结合时做了哪些优化?
参考回答:
为了更好发挥DADI在命中内存的优势,与行列混存结合时做了以下优化:支持统计信息高优先级常驻内存,索引信息常驻本地磁盘;大表使用专有缓存区以避免冷数据访问影响热数据;以及根据查询情况异步预取数据文件到本地,以提高后续访问速度。
关于本问题的更多回答可点击原文查看: