TPS:系统吞吐量,每秒钟request/事务 数量
搜索离线:将各种来源数据转换处理后送入搜索引擎等“在线”服务的系统统称为“离线”系统。
其他的我是真的看不懂
★ 基于Hbase的存储架构
搜索离线大约在2012年即引入了Hbase作为数据的存储引擎,有力的支持了搜索业务从淘宝主搜到离线平台的整个发展历程,历经多次双11考验,稳定性和性能都得到明确的验证。从功能层面,搜索离线引入Hbase的原因主要是以下几点:
-
通过Scan/Get可以批量/单条的获取数据,通过bulkload/put可以批量/单条的导入数据,这与搜索的全量/增量模型完全吻合,天然适合支持搜索离线业务。
-
底层存储基于HDFS,LSM-Tree的的架构能够确保数据安全性,计算存储分离的架构保证了集群规模水平可扩展,易于提高整体的吞吐。通过单机性能优化(Async、BucketCache、Handler分层、Offheap)和集群的扩容,确保了业务大幅增长时,存储从来没有成为系统的瓶颈。
-
Free Schema的特性能够很好的应对业务数据频繁变化的情况,也能够方便支持一些特殊业务场景的数据逻辑。
通过引入Hbase做为离线系统的内部数据存储,我们成功解决了每天全量时对上游Mysql造成很大压力的问题,大幅度的提升了整体系统的吞吐。数据存储到Hbase也是全量任务向流式处理流程转型(MR->Stream)的基础,而这一点为后来Blink流引擎在搜索离线的孕育和发展也埋下了伏笔。
当然Hbase也不是毫无缺点,JVM内存管理的痼疾、单机Handler打满导致雪崩、缺乏容器化部署能力等也带来了不少烦恼,很快我们就会替换Hbase为阿里内部发展的另外一套存储引擎,期望能够部分的解决这些问题。