java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2692|回复: 0

《大规模分布式存储系统》第11章 质量保证、运维及实践【11.3】

[复制链接]
  • TA的每日心情
    开心
    2021-5-25 00:00
  • 签到天数: 1917 天

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66345

    宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2017-3-15 18:24:51 | 显示全部楼层 |阅读模式
    11.3 应用
    # n& v6 l$ a$ o' Z6 kOceanBase上线两年左右的时间已经接入了30多个业务,线上服务器数量超过
    8 [% n+ I2 V# s300台。虽然OceanBase同时支持OLTP以及OLAP应用,但是OceanBase具有一定的适6 ]& R2 }6 q8 l5 h0 i8 R
    用场景。如果应用总数据量小于200TB,每天更新的数据量小于1TB,且读写压力较
    8 q' W. w+ N+ _9 d0 |# G  w大,单台关系数据库无法支撑,那么,适合采用OceanBase。对于这种应用,
    ; v. Y2 v! k, e" j1 e; ?9 ^OceanBase具有如下优势:
    3 y! }9 t& P0 y+ Y2 u" ]! y●无须分库分表。OceanBase系统内部自动按照数据范围划分子表,支持子表合
    6 ], _/ I( P5 E! y  [7 |2 @! W并、分裂、复制、迁移,无须应用考虑分库分表以及扩容问题。. f& @6 |9 ]. O( T
    ●易于使用。OceanBase的使用方式和关系数据库基本一致,且保证强一致性,
    7 h) F% d4 q$ h& }- ^3 T9 S从而简化应用。
    % l( ]2 v' @) d  A●更低的成本。OceanBase采用C++语言实现,并针对多核、SSD、大内存等现代
    * J) A/ C$ f& M+ W  p. B服务器硬件特点做了专门的优化,能够最大程度地发挥单台服务器的性能。
    # Y0 V# K! p# f- n  T* n" _2 P9 x; _如果应用需要使用OceanBase专有的功能,例如10.4和10.5节提到的并发查询、1 Z$ t' X( d: Z/ W
    大表左连接、数据过期,那么,OceanBase的优势会更加明显。0 u- h6 X9 `( c( p5 ^# V6 t
    当然,OceanBase并不是万能的。例如,OceanBase不适合存储图片、视频等非
    % J  m% W6 Z- @; t# K5 |结构化数据,也不适合存储业务原始日志。这些信息更适合存储在专门的分布式文
    - e# i3 S9 s0 k. {" v$ l7 L  _. D  d件系统,比如Taobao File System、HDFS中。
    8 O- y% f4 `- b6 _: _本节选取收藏夹、天猫评价、直通车报表这几个典型业务说明OceanBase的使用4 `% O5 K0 j( a# E# \  Y: ^7 q
    情况。
    : D) E; S, @2 X2 C4 z11.3.1 收藏夹
    " I8 C  c7 [1 a" f图11-6展示了淘宝某用户的收藏夹。
    , F6 x9 I% s: S+ W, I/ K' b0 ?图 11-6 淘宝某用户收藏夹, T$ u. a" N( t
    收藏夹属于典型的OLTP业务,主要功能如下:! Q) ~+ c: g; I7 p, K1 }* i2 a
    ●收藏列表功能(范围查询):按照某种过滤条件,例如标题、标签等查询某个2 n# H3 q1 \* x7 H" y2 Y
    用户的所有收藏;可能需要按照某种特定条件排序,例如商品价格、收藏时间等;4 E- K7 T" o. v; o( r- c/ \
    支持对结果的分页;支持在结果集上执行聚合操作,例如Count计数。
    9 g# S- T! G" J" d! t+ G●修改操作:将商品或者店铺添加到收藏夹,删除收藏,对收藏条目打标签。  m# q1 T% t; P; I% n
    10.5.1节中提到的大表左连接功能是收藏夹的难点,OceanBase高效地实现了这
    7 }! |' W* W3 g1 H0 W: g: g个需求。截至2012年11月11日,收藏夹集群规模接近60台服务器,单表数据量超过' S3 G4 p" K, u7 D6 {/ M
    100亿条,整体数据量超过200亿条。2012年11月11日当天读取次数超过15亿,且大
    ( x0 h0 I. _, O' l* M部分查询为范围查询,读取总条目数超过900亿条,读取平均延时在10~20毫秒。
    + m2 t, Q0 E8 `3 d- `4 Z  r0 J11.3.2 天猫评价
    / P' V* w+ u0 O" v图11-7展示了天猫某商品在线评价。0 a6 x* A, Y% O. |, Y
    图 11-7 天猫某商品评价
    0 d3 S# d) ]9 G, r% V( N9 u天猫评价也属于典型的OLTP应用,主要功能如下:, K# N# N! j& q+ v: z2 d* a8 M% v
    ●评价展示(范围查询):按照某种过滤条件,例如标签,查询某个商品的所有# R; ^" z) g, }* T3 `5 }( `% N
    评价;可能需要按照某种特定条件排序,例如时间、信用;支持对结果的分页;支& T7 ^( }5 R/ V. C8 `3 z/ V# G
    持在结果集上执行聚合操作,例如Count计数。
    * [  ~1 E/ i, z3 z9 Q●修改操作:新增一条评价,修改评价,例如将好评修改为差评。% g) W4 D2 r8 K( R3 a
    天猫评价的难点在于部分商品评价数很多,达到数十万条,极少数商品的评价, W) _4 s5 `6 a" i  x- @: c
    数甚至超过一百万条,采用传统数据库方案很容易出现超时的情况。OceanBase的优1 G+ u7 q% ]8 j6 c1 S+ a6 _5 W$ }+ [
    势主要体现在两个方面:
    $ U1 b; `- h5 U; l; a3 s●相比传统数据库,OceanBase的数据在物理上连续存放,因此,顺序扫描性能  k2 D+ r' y0 h
    更好,适合大查询使用场景。  e4 }, W+ g& J% |0 u
    ●如果一个商品的评价数过多,OceanBase系统内部会自动将该商品的数据拆分
    / R8 z/ N6 P1 c' w成多个子表,从而发挥OceanBase的并发查询优势。2 h7 R4 V; l& x& j/ B5 K8 n
    天猫评价总体数据量超过7亿条,大部分查询能够在20毫秒之内返回,大查询的
    3 k, J  c7 j5 p" s: t延时约为200ms,满足了应用的需求。当然,大查询延时还有较大的优化空间。8 j3 C& }0 c3 ~5 }/ L% G1 N2 z
    11.3.3 直通车报表5 _( o$ A2 P# _# B7 \
    直通车报表是典型的OLAP报表需求如图11-8所示,包含如下几个方面:5 Q: y6 `& y1 u) u. v
    图 11-8 直通车报表查询页面7 G% [  G2 {* H" B. o# \! {$ D! H) ]
    ●数据定期导入:每天凌晨将Hadoop分析结果导入OceanBase。
    ; }: `' n& _0 A! S●报表查询:按照用户、推广计划、宝贝、关键词等多种维度分组,统计展现* u( z. ]& F5 b0 c# y5 s
    量、财务花费等数据,响应前端的实时查询需求。
    2 I2 \& X6 m0 _! @3 H! W  W( z每天导入OceanBase的数据中,每个关键词会有一条数据,包含了这个关键词当* Y4 M& B" i3 E5 c8 d7 G9 p
    天的展现量、点击量、财务花费等统计数值。用户允许查看最近三天、最近一周、; i' U2 I4 a; }8 R
    最近一个月或者其他任意时间范围的统计数据,统计值包含这个时间范围内展现量
    0 p/ Z* T0 H/ v- T总和、财务花费总和等,还包括一些计算值,例如点击率(Click Through
    " a% e- O- Z# l4 m2 K) s7 tRate,CTR)、每次点击花费(Cost Per Click,CPC)等值,按照用户、推广计划、宝+ v1 s1 P* F* V( d( S; G9 U( V, z
    贝、关键词等维度分组,并且可以按照任意列对这些分组的统计数据进行排序,排0 _/ v% W* [+ L4 g6 a$ x% u7 o/ \
    序后分页展示。. \$ w* A+ v+ F4 j6 V4 Z) n
    直通车报表的难点在于多维度组合查询,每次查询最多需要分析上千万条记
    2 F4 m& H# f" U录,且要求响应时间在秒级。由于多个维度可以任意组合,传统数据库二级索引的4 C, S6 g4 I3 ?
    方式不再适用。OceanBase支持并行计算,自动将大请求拆分为多个小请求同时发给
    # Z& A$ O6 z) G多台ChunkServer并发执行,从而将延时降低一到两个数量级。另外,由于直通车报
    9 j, S1 E- x9 F表大部分字段为整数类型,OceanBase内部会自动将整数编码以后压缩存储,从而节
    & U& |+ ~2 E* C9 r& M( d  e/ c省存储资源。
    ! A0 L$ |" n+ e; W  P' Y: J/ V基于容灾考虑,直通车报表部署了主备两个集群,每个集群12台服务器,整体
    - a1 |4 x3 }0 K% l" u- ]% V数据量超过1500亿条。每天导入数据量大约为100GB,导入时间在1到2个小时。线
    2 W" y. h7 j8 r% `8 [2 J5 w上平均查询延时小于100毫秒,涉及千万条以内记录的大查询延时在3秒以内。9 B; l$ S0 S- W, Z3 ]
    ) J  Z* n. V7 S& H2 a1 d
    4 A$ J- M& D- b- R$ x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Java自学网

    GMT+8, 2024-11-21 20:41 , Processed in 0.210858 second(s), 33 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

    快速回复 返回顶部 返回列表