Your SlideShare is downloading. ×
Anthill: A Distributed DBMS Based On MapReduce
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Anthill: A Distributed DBMS Based On MapReduce

2,102
views

Published on

Published in: Technology

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,102
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Anthill 一种基于 MapReduce 的分布式 DBMS 作者 : 周敏 [email_address] 本文档归暨南大学计算机系 open talk 组版权所有 遵循 Creative Commons Attribution 2.5 协议
  • 2.
    • MPP 架构 DBMS
      • 简单易用
      • 性能高效
      • 运行于同质环境
    • MapReduce
      • 灵活性好
      • 容错能力好
      • 伸缩性强
      • 适应异构环境
      • 高可用
    分析型数据库相关背景 “ As a data processing paradigm, MapReduce represents a giant step backwards. ” From David J. Dewitt
  • 3. Hadoop 架构 JobTracker TaskTracker MapTask ReduceTask TaskTracker MapTask ReduceTask TaskTracker MapTask ReduceTask Hadoop 客户端
  • 4.
    • 没有实用性
    • 缺少查询执行引擎
    • 缺少高可用性
    • 手工分区
    • 行存储导致效率偏低
    HadoopDB 的缺陷
  • 5.
    • 实现基于 MapReduce 计算模型的分布式数据库系统 Anthill
    • 计算能力更强, 集群伸缩性更好
    • 比 MPP 架构的 DBMS 拥有更强的容错性
    • 针对 TB 级以上数据的离线分析应用
    • 目标系统应弥补 MapReduce 没有索引的缺陷
    • 适应数据的多样性,根据数据的特点产生最优的查询分析计划
    • 有效地减少各节点之间的通信 I/O
    研究目标
  • 6. Anthill 背后的理论分析
    • 模式
    • 索引
    • 计算模型
    • 数据分布
    • 性能
    • 灵活性
    • 容错
    “ MapReduce advantages over parallel databases include storage-system independence and fine-grain fault tolerance for large jobs.” From Jeffery Dean
  • 7. Anthill 架构设计 Hadoop 集群 JobTracker TaskTracker MonetDB 实例 MapTask ReduceTask TaskTracker MonetDB 实例 MapTask ReduceTask TaskTracker MonetDB 实例 MapTask ReduceTask 提交 MapReduce 作业 Anthill 服务器 元数据库 分析器 优化器 规划器 执行器 Anthill 客户端 网络
  • 8. Anthill 服务器
    • 元数据库
    • 分析器
    • 优化器
    • 规划器
    • 执行器
    TOK_TAB_COL SELECT TOK_FROM TOK_TAB pokes TOK_INSERT TOK_DEST TOK_SELECT TOK_SELEXPR TOK_FUNC count 1 TOK_TMP TOK_SELEXPR TOK_GROUPBY foo TOK_TAB_COL foo TOK_WHERE = TOK_TAB_COL bar ‘ hello’ SELECT foo, count(1) FROM pokes WHERE bar=’hello’ GROUP BY foo;
  • 9. Anthill 对 Hadoop 的 扩展
    • MonetDB 集群
    • 存储层扩展
    • 数据加载器
    <<Interface>> InputFormat MonetDBInputFormat FileInputFormat TextInputFormat DBInputFormat SequenceFileInputFormat HiveInputFormat <<Interface>> OutputFormat MonetDBOutputFormat FileOutputFormat TextOutputFormat DBOutputFormat SequenceFileOutputFormat NullOutputFormat
  • 10. 两类表存储
    • 副本表
      • CREATE TABLE nation (
      • n_nationkey INTEGER NOT NULL,
      • n_name CHAR(25) NOT NULL,
      • n_regionkey INTEGER NOT NULL,
      • o_comment VARCHAR(152) NOT NULL
      • ) REPLICATED
    • 分区表
      • CREATE TABLE orders (
      • o_orderkey INTEGER NOT NULL,
      • o_custkey INTEGER NOT NULL,
      • o_orderstatus CHAR(1) NOT NULL,
      • o_totalprice DECIMAL(15,2) NOT NULL,
      • o_orderdate DATE NOT NULL,
      • o_orderpriority CHAR(15) NOT NULL,
      • o_clerk CHAR(15) NOT NULL,
      • o_shippriority INTEGER NOT NULL,
      • o_comment VARCHAR(79) NOT NULL
      • ) PARTITIONED BY o_orderkey USING   HASH
  • 11. 分布策略
    • 哈希分布
    • Round-Robin 分布
    “ Put the computation near the data.” From Jim Gray
  • 12. 分布式连接策略
    • SELECT
      • l_orderkey,
      • SUM(l_extendedprice * (1 - l_discount)) as revenue,
      • o_orderdate,
      • o_shippriority
    • FROM
    • orders INNER JOIN lineitem ON l_orderkey = o_orderkey
    • WHERE
    • l_shipdate > '2010-03-08'
    • GROUP BY
      • l_orderkey,
      • o_orderdate,
      • o_shippriority
    • ORDER BY
      • revenue desc,
      • o_orderdate;
  • 13. Anthill 的其它相关设计
    • 冗余及高可用
    • 用户权限
  • 14. 实验结果与分析
    • 硬件配置
    • 软件配置
    • 五项分析任务
      • 数据加载
      • Grep 任务
      • 选择任务
      • 聚合任务
      • 连接任务
  • 15. 未来展望
    • MapReduce Online
    • 负载均衡
    • 数据倾斜
    • 改善监控
    • 主节点单点故障
    • ODBC/JDBC 接口
    HDFS “ 推” ( 最终结果 ) Reduce Map 本地内存 ( 文件系统 ) 同步“拉” “ 推” HDFS MapReduce 数据流 同步“拉” 同步“拉” MonetDB 集群 “ 推” ( 最终结果 ) Reduce Map 本地内存 ( 缓存 + 文件系统 ) “ 推” MonetDB 集群 Anthill 数据流 同步“拉” 同步“拉” “ 推” 同步“拉” “ 推”
  • 16.
    • 谢谢 !