数据库批量审计服务与自动完成系统设计
1. 预防过多并发查询
为避免过多并发查询对系统造成压力,需要采取一系列措施。首先,要尽早对编写查询的用户进行约束指导,让他们适应这些限制。同时,提供良好的用户体验(UX)和有指导意义的文档,帮助用户遵循这些约束。并且,这些约束最好在数据库批量审计服务的早期版本中定义和设置,而不是在首次发布数月后才添加,否则用户可能会抵制这些约束。
此外,还需要对批量 ETL 服务可执行的并发查询数量进行配置限制。每次用户提交作业配置时,后端会检查同一数据库上计划同时执行的查询数量,若接近估计容量,就会向服务开发者发出警报。同时,监测每个查询执行前的等待时间,若超过 30 分钟或其他设定的基准值,触发低紧急度警报。还可以研究设计负载测试方案来估计系统容量。
下面是修订后的高级架构图示意:
graph LR
User --> Backend
Backend --> UI
Backend --> Spark
Backend --> Presto
Backend --> Hive
Backend --> QueryService
Backend --> LoggingService
Backend --> SQL
Backend --> MonitoringService
Backend --> AlertingService
Backend --> BatchETLService
在这个架构
超级会员免费看
订阅专栏 解锁全文
2040

被折叠的 条评论
为什么被折叠?



