开源的SaaS解决方案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sharding1
Result Merge
Partition1
Sharding2 分片 读写 分 片 读 Partition1 写
Partition2
Sharding3
Sharding 3 (分片集合) Sharding 4 (分片集合)
Sharding4
Partition1
Partition1
Partition2
NDB
可用于负载均衡场合; 可用于高可靠性场合; 高伸缩性; 真正的数据库冗余; 容易维护。 高可靠性 某种程度的冗余 按照高可靠性进行伸缩
几乎 比典型的单独服务 随着数据库的变大,对RAM的 器(无千兆以太网,无 需求变得更大,因此成本很 SCI卡,存储引擎相关的 高 限制少)慢10倍。 没有负 载均衡 没有保证的冗余 无法对写操作进行伸缩
Part 4: Q&A
IT系统部署视图演化-1
东软绝密/秘密/内部公开
N轮视图演化后架构
东软绝密/秘密/内部公开
东软绝密/秘密/内部公开
演化面对的挑战
• • • • 计算资源快速的供给 应用快速部署 资源按需分配 自动化管理的能力 • • • • • • • 应用服务器可水平扩展 数据库水平可扩展 异步消息队列 缓存机制 应用负载均衡 流程可定制 功能可配置
东软绝密/秘密/内部公开
Case 2 –hadoop HBase& Hive
东软绝密/秘密/内部公开
Case 2 - hadoop & Hive
交易响应时间(单位:秒) Minimu Average Maximu 交易名称 m m 0.001 0.012 1.076 Insert空表 0.012 0.059 Insert ( 3.06 0.001 亿) 交易名称 Query 交易响应时间(单位:秒) Minimu Average Maximu m m 0.014 0.145 4.238 交易响应时间(单位:秒) 4节点 6节点 140.007 140.061 522.351 285.998 90 Percent 0.035 0.039 Average TPS 95.863 95.758
2.Amoeba
Amoeba项目是分布式数据库 proxy 开发框架。座落与Client、DB Server(s) 之间。对客户 端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到 目标数据库、可并发请 求多台数据库合并结果。 主要解决: * 降低 数据切分带来的复杂多数据库结构 * 提供切分规则并降低 数据切分规则 给应用带来的影响 * 降低db 与客户端的连接数 * 读写分离
ID <100
App
DAL
ID<200
ID<300
ID<400
东软绝密/秘密/内部公开
NoSQL数据库扩展
phr
App
DAL phr
phr
冗余,高可靠 性, 负载均衡
MySQL / GFS-GNBD/ HA (Active/Passive) MySQL / DRBD / HA (Active/Passive) MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
Partition
可跨越表空间,不同的物理 属性 不能跨DB存储 集中式
存储方式
分布式
扩展性
可用性
Scale Out(横向扩展)
无单点,需要处理跨数据事务
Scale Up(升级设备)
存在单点(DB数据本身)
应用场景
web 2.0
多数传统应用
东软绝密/秘密/内部公开
数据切分-SQL
实现方式 优点 缺点 扩展能力有限 强耦合的应用不容易垂直切分
SaaS关键技术 ----开源解决方案
解决方案技术中心
Copyright Corporation Copyright © © 2009 2010Neusoft Neusoft Corporation
Part 1:IT部署视图演化及挑战 Part 2:动态基础设施 Part 3:SaaS架构关注技术
90 Percent 0.19
Average TPS 627.47
一个月数据 一年数据
8节点 147.029 292.867
东软绝密/秘密/内部公开
SQL 与NoSQL整合方案- hadoop & Hive
1.DBMS保存全部数据,主要完成交易类数 据的读写 2.通过同步技术把DBMS的数据同步到 NoSQL数据库中 3.NoSQL负责完成历史数据的查询统计分 析等工作
• 完全共享模式(共享数据 库、共享数据结构模式)
• 高并发的数据读写 访问 • 海量数据的高效读 写访问及管理 • 高扩展及高可用性
SaaS数据存储模式
东软绝密/秘密/内部公开
传统解决方案VS 新兴解决方案
SQL
• • • • • • • 采用集群方式分担系统压力 Partition方式 Sharding方式 (垂直,水平) 读写分离 预留字段 值对/行专列 Xml扩展
基础设施可扩展
应用架构可扩展
东软绝密/秘密/内部公开
Part 1:IT部署视图演化及挑战 Part 2:动态基础设施
Part 3:SaaS架构关注技术
Part 4: Q & A
云计算关键特性
计算服务化 资源 虚拟 化 管理智能化
自服 务化
东软绝密/秘密/内部公开
基础设施供应生命周期
东软绝密/秘密/内部公开
Partition2
Partition2
Partition3
Partition3
Partition3
Partition3
Partition4
Partition4
Partition4
Partition4
东软绝密/秘密/内部公开
Caseห้องสมุดไป่ตู้1
• 数据生成分布规则: • 按照20会员每天采集一次监控,每次采集10个指标(都为数
资源池动态伸缩
D
D
D
Cloud
D
D
D Cloud
D
D
D
东软绝密/秘密/内部公开
Part 1:IT部署视图演化及挑战 Part 2:动态基础设施 Part 3:SaaS关注技术
Part 4:Q&A
SaaS关键特性
高可用 性 高性能 高伸缩 性
高伸缩:多租户,功能可配置,流程可配置
东软绝密/秘密/内部公开
对读操作支持得较好
需要高可靠性的、 读操作密集型的应 用
高可靠性; 没有负载均衡 一定程度的冗余; 没有保证的冗余 以 高可靠性名义来看是可伸缩的 在写负载方面没有伸缩性 读操作的高可靠性; 无写操作的高可靠性; 读操作的负载均衡; 无写操作的负载均衡; 在读 操作负载均衡方面是可伸缩 在写操作方面无伸缩性 的
从MySQL读写
DBMS
同步 部分数据读 NoSQL
NoSQL
东软绝密/秘密/内部公开
NoSQL数据库--MongoDB
LAN MongosServer Internet Client ApplicationServer
Sharding1
Sharding N
东软绝密/秘密/内部公开
…
MongoDB 与MySQL混搭
80~90
82123
90 Percent 0.04
Transact Minimu ion Name m query 0.001
m
东软绝密/秘密/内部公开
Sql 数据扩展问题
东软绝密/秘密/内部公开
Case 2 –hadoop HBase& Hive
2003年Google三篇论文 :GFS,MapReduce,Bigtable • Hbase是一个分布式开源数据库,基于Hadoop分 布式文件系统,模仿并提供了基于Google文件系 统的Bigtable数据库的所有功能。 其目标是处理 非常庞大的表,可以用普通的计算机处理超过10亿 行数据,并且有数百万列元素组成的数据表。
phr_user2
Row Key: 行键,Table的主键,Table中的记录按照Row Key排序 Timestamp: 时间戳,每次数据操作对应的时间戳,可以看作是数据的 version number Column Family:列簇,Table在水平方向有一个或者多个Column Family组 成,一个Column Family中可以由任意多个Column组成,即Column Family 支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进 制格式存储,用户需要自行进行类型转换。
Client
DAL
不适用: 高度事务性的系统 传统的商业智能应用
Backup
Mysql Master
MongoDB Master
MongoDB Master
Mysql Slave
Mysql Slave
MongoDB Slave
MongoDB Slave
东软绝密/秘密/内部公开
SQL数据库扩展的问题
垂直切分
实现简单
读写分离
可有效分担读的压力 主要在数据库层扩展,应用修改小
对读写均衡的应用扩展能有限 依赖于数据库本身的同步能力
水平切分
SaaS普遍使用 扩展性强
实施复杂
东软绝密/秘密/内部公开
垂直sharding
user
App
DAL
phr
东软绝密/秘密/内部公开
水平sharding
Phr 33%
App
DAL
Phr 33%
Phr 34%
东软绝密/秘密/内部公开
读写分离
phr
App
DAL
phr
东软绝密/秘密/内部公开
SQL数据访问区域(DAL)
1.mysql proxy
实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理 事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致 的变更同步到集群中的从数据库。
SaaS 架构关注内容
1.数据存储区域 2.数据访问区域
3.缓存区域
4.应用服务服务区域 5.Web服务器区域 6.分布式文件区域 7.MQ消息队列区域 8. 负载均衡区域 9. 其它技术
东软绝密/秘密/内部公开
数据存储的挑战
• 完全独立模式(独立数据 库模式)
成长的烦恼
• 部分独立模式(共享数据 库、独立数据结构模式)
NoSQL
• 内置集群支持很容易水平扩展 • 强大数据备份功能 • 支持Mapreduce功能 • • • • 不足: 不支持SQL 目前都是开业的没有商业产品 不支持或是局部支持事务
• 不足: • 扩展性不好 • 成本高
东软绝密/秘密/内部公开
SQL集群技术-MySQL
集群方案
有点 缺点 速度 适用场合
采用MySQL与mongoDB混搭的模式,利用NoSQL数据 的列可以动态扩展的优势来避免在关系数据库为了 扩展所采用行转列导致的数据爆炸性增长的问题 1.面向集合的存储:适合存储对象及JSON形式的数据。 2.动态查询:Mongo支持丰富的查询表达式。 3.完整的索引支持:包括文档内嵌对象及数组。 Mongo的查询优化 器会分析查询表达式 4.复制及自动故障转移。
在读写方面相当于单独服 需要高可靠性、读 务器 操作密集型的应用
读操作密集型的、 同单独服务器;在读操作 需要高可靠性和负 方面支持得较好 载均衡的应用
Google MySQL MMM技术
东软绝密/秘密/内部公开
Sharding vs Partition
Sharding
存储依赖 可跨越DB 可跨越物理机器
3.Websphere II
东软绝密/秘密/内部公开
Case 1
LoadBalance/Router Tier Database Server Tier
Amoeba
Amoeba
Sharding 1 (分片集合) SQL Router
Amoeba
SQL Request
片 分 读写 分片
读
写
Sharding 2 (分片集合)
值型)计算,按照20万会员2010年全年的数据量,共计生成 7.3 亿条记录。分布在4个节点中,每台设备1.825亿条。共 计50GB。
血压标签 统计地区 执行时间
test0
np_0
34539 ms
Average 0.034
120~1 90~12 50 0 157321 231408 Maximu 3.82 Std. Deviation 0.156
• MapReduce是分布式计算软件构架,它可以支持
大数据量的分布式并行处理。
东软绝密/秘密/内部公开
Hadoop 软件栈
东软绝密/秘密/内部公开
Table & Column Family
Row Key Timestamp t3 phr_user1 t2 t1 t5 t4 Column Family 血压(高压) 120 130 140 145 血压(低压) 80 90 70 85