1.HBase 介绍以及典型场景分析
(1)基本介绍
为大数据而生:海量存储、非结构化数据、高扩展、灵活数据模型,在线与离线计算结合。
PB级别海量数据存储,百万列
底层基于hdfs
压缩比10:1
无模式,仅定义列簇即可
基于rowkey检索
高读写、低延迟
HBase运维比较麻烦
传统DB:亿行1T,100K TPS
HBase:万亿行10PB,1000M TPS
(2)基本架构
Spark的 OLAP/流/批 mlib
SQL KV Graph 时空 时序
HBase+solr:rowkey索引+全文索引/二级索引
SSD HDD OSS
(3)企业特性
数据备份恢复:源仅支持全量备份,阿里支持全量+增量备份。
实时数据同步:MySQL、prosgre等异步实时同步到HBase里,利用spark进行分析。延迟200ms以内。
冷热分离:存储计算分离,热数据存在高效云盘(7毛/月),冷数据在OSS中(2毛/月,压缩比10:1)。读写API相同,写入QPS>20W,读取时冷数据低。
主备多活异地容灾:两个集群主备,人工去做切换,延迟200ms以内,数据最终一致性。
延迟
类型 开源:停顿时间(不工作了) 开源:频率 阿里:停顿时间 阿里频率
YGC 100ms+ 5s 10ms 5s
Cms 100-500ms 5Min 100ms 5h
FGC 20s-180s 7-60days
诊断系统
Hbase组件多,常见问题或错误(hbase zk hdfs)
(4)hbase生态
Phoenix –sql on hbase SQL引擎、简单查询,无法做复杂查询。
Spark:sql streaming,复杂查询,支持多源(hbase与oss的join)
openTSDB:时序,满足物联网、传感器、监控、金融k线等时序应用场景。主要用途,就是做监控系统;譬如收集大规模集群(包括网络设备、操作系统、应用程序)的监控数据并进行存储,查询。
Solr:基于Lucene全文索引,冗余非rowkey列,提供模糊查询、范围查找。
GeoMesa:提供时空能力,轨迹查询
HGraphDB:图,风控场景把套现相关人关联起来。
(5)典型案例
广告买流分析平台
实时广告-兑吧
今日头条
小对象实时存取(10M内),如图片人脸。稀疏矩阵场景
车联网案例(海量数据存储图)
2.阿里云Apsara数据库
国产数据库首次入选Gartner数据库魔力象限。阿里云自研关系型云原生数据库Polardb。
(1)数据库演化
线下产品license(传统数据库)===> 线上自助服务(云数据库)===> 到分布式serverless(云原生数据库)。
(2) 云服务高可用、可扩展、可靠性进化
基于虚拟机的单数据库服务—便宜,应用广泛
Active-Standby的高可用云数据库—主备数据库,提供高可用(资源浪费、数据同步)(主机复制到备机完成前,主机挂掉,切不切换,切可保业务响应难保数据一致性)
读写分离(读请求比写多)(写时,主机数据同步多个读节点,压力山大)
分布式共享存储active的高可用读写分离的severless云数据库服务
(3)Apsara数据库
计算存储分离,多活高可用读写分离,存储serverless的四维弹性(节点横向扩展、节点纵向扩展、存储自动伸缩,业务快速复制)。
100%兼容MySQL,强弹性伸缩。
(4)题外话
拥抱新技术,最早技术红利套现。
github被微软收购。
3.阿里云Redis技术架构
(1)redis简介
key-value存储系统
易用性:丰富数据结构支持,Module(自定义数据结构)
高性能:高效数据结构设计,全内存操作(单机性能10w+qps)
可靠性:主备同步,持久化
(2)阿里redis产品体系
单节点-单机主备-集群-读写分离-同城容灾-异地多活
更大容量、更高性能、更高可用性
(3)6大管控系统
HA控制系统、日志收藏系统、监控系统、在线迁移系统、备份系统
a. 标准双副本架构,一主一从:纯缓存、数据持久化。性能8-10w qps ,数据量不大GB级
b. 集群双副本:数据量TB级,数据量大,性能100w qps
c. 读写分离:读多写少,超大key,不要强一致性。
d. 同城容灾:主备型多一个主备切换。数据可用性要求高,TO 大B用户。单机房故障无缝。
e. 异地容灾多活:TO 大B可用,多点读写,就近读写。容忍N-1机房故障,最终一致性。
4.MongoDB Best Practice
Nosql
MongoDB是一个基于分布式文件存储的数据库。
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统。
5.去IOE
(1)什么是去IOE
I:IBM小型机、O:Oracle数据库、E:EMC中高端SAN存储
去IOE:集中式架构==>分布式架构(云计算)
(2)为什么去IOE
原因:扩展能有限、处理海量数据性能不足
Oracle RAC共享存储架构(Shared-disk),非常好的高可用特性,扩展能力有限。
共享存储的IO能力和可用性决定了整个集群的可以提供的能力。节点数的不断增加,节点间通信的成本也会随之增加,会有上限。
(3)实际操作
阿里:部分海量数据应用,采用数据切分(sharding)策略,从集中式oracle切换到分布式MySQL集群,从纵向扩展到水平扩展,解决数据库扩展性问题。
阿里去O的工具平台:ADAM(数据库和应用迁移服务)
6.Fintech(金融科技)
Fintech(金融科技)是 Financial + Technology 的合成词,即:金融和科技。
以科技作为整体核心驱动力,将技术应用到金融中,从而提高公司的效率和收益。
京东为了预防诈骗,通过大数据建立了属于自己的大数据和风控体系,在应用了一系列人工智能技术后,成功实现了京东白条的无人工审核和放款,对三亿用户的信用风险进行评估,从而让自身的金融不良率低于 1%,在节省人力的同时,大大提高了企业的服务效率。
参考文档: