1、事务管理
事务是数据管理系统一个非常重要的属性。大部分Hadoop里面的SQL引擎不支持事务。让程序员自己保证事务和数据的一致性是非常困难的事。 OushuDB支持事务的所有ACID属性,支持Snapshot Isolation。事务发生由Master节点协调和控制。采用的是泳道模型。并发插入时每个并发会使用各自的泳道,互不冲突。在事务提交的时候通过记录文件逻辑长度的方式来保证一致性。如果事务失败的时候,需要回滚,删除文件末尾的垃圾数据。起初HDFS是不支持truncate的,现在HDFS刚支持的truncate功能是根据OushuDB的需求做出的。2、资源管理器
OushuDB支持三级资源管理:
全局资源管理:可以集成YARN,和其他系统共享集群资源。
OushuDB内部资源管理:可以支持查询,用户等级别的资源管理。
操作符级别资源管理:可以针对操作符分配和强制资源使用。
现在OushuDB支持多极资源队列。可以通过DDL方便的定义和修改资源队列。下面是OushuDB资源管理器的主要架构图(图5):

图5. 资源管理器
资源管理器中的各个组件作用如下:
请求处理器:接收查询派遣器进程的资源请求。
资源分配器:负责资源的分配。
资源池:保存所有资源的现有状态。
策略存储:保存所有的分配策略,将来会做到策略可定制。
资源代理:负责与全局资源管理器交互。
3、存储模块
OushuDB支持多种优化的存储格式,比如AO, Parquet, ORC, Magma。并提供HDFS,Hive协议外部表。其他各种存储和存储格式通过可插拔扩展框架访问。针对用户专有格式,用户可以自己开发插件。同时支持各种压缩,多级分区等各种功能。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




