云计算与NoSQL

4,359 views

Published on

Published in: Technology
2 Comments
5 Likes
Statistics
Notes
No Downloads
Views
Total views
4,359
On SlideShare
0
From Embeds
0
Number of Embeds
1,276
Actions
Shares
0
Downloads
125
Comments
2
Likes
5
Embeds 0
No embeds

No notes for slide

云计算与NoSQL

  1. 1. 吴朱华 [email_address] PeopleYun.com
  2. 2. 自我介绍 吴朱华 CSDN 、 IT168 和 TechTarget 特邀云计算专家。 曾在 IBM 中国研究院参与过多款云计算产品的开发工作,包括著名的 IBM WebSphere CloudBurst 。 现正专注于 YunTable 和 YunEngine 这两个新一代云计算产品的开发工作,并即将发表《剖析云计算》一书,预计年后在张江筹备公司。
  3. 3. 云计算
  4. 4. 什么是云计算 云计算就是在后端庞大的云计算中心的支撑下能为用户提供更方便的体验和更低廉的成本的新一代 IT 模式 。
  5. 5. 云计算的发展 思想方面 技术方面
  6. 6. 云计算的使用场景 <ul><li>IDC 云 </li></ul><ul><li>企业云 </li></ul><ul><li>云存储系统 </li></ul><ul><li>虚拟桌面云 </li></ul><ul><li>开发测试云 </li></ul>
  7. 7. 云计算的架构
  8. 8. Salesforce CRM 的架构示例
  9. 9. 公有云与公有云 <ul><li>公有云 是现在最主流,也就是最受欢迎的云计算模式,它是一种对公众开放的云服务,运行在公有的云计算中心内,能支持数目庞大的请求,而且因为规模的优势,使其成本偏低。 </li></ul><ul><li>私有云 主要指的是企业内部提供的云服务,不对公众开放,在企业的防火墙内,并能对其数据、安全性和服务质量进行有效地控制。 </li></ul>
  10. 10. NoSQL
  11. 11. 云计算时代的需求 <ul><li>低延迟的读写速度 :应用快速地反应能极大地提升用户的满意度; </li></ul><ul><li>支撑海量的数据和流量 :对于搜索这样大型应用而言,需要利用 PB 级别的数据和能应对百万级的流量; </li></ul><ul><li>大规模集群的管理 :系统管理员希望分布式应用能更简单的部署和管理; </li></ul><ul><li>庞大运营成本的考量 : IT 经理和 CFO 们都希望在硬件成本、软件成本和人力成本上面能够有大幅度地降低; </li></ul>
  12. 12. 关系型数据库的限制 <ul><li>扩展困难 :由于存在类似 Join 这样多表查询机制,使得数据库在扩展方面很艰难; </li></ul><ul><li>读写慢: 这种情况主要发生在数据量达到一定规模时由于关系型数据库的内部逻辑非常复杂,使得其很容易发生死锁等的并发问题,而这将导致其读写速度下滑严重; </li></ul><ul><li>成本高 :企业级数据库的 License 价格很惊人,并且随着系统的规模,而不断上升; </li></ul><ul><li>有限的支撑容量 :现有关系型解决方案还无法支撑 Google 这样海量的数据存储; </li></ul>
  13. 13. NoSQL 数据库 <ul><li>业界为了解决前面提到的几个需求,推出了多款新类型的数据库,并且由于它们在设计上和传统的 SQL 数据库相比有很大的不同,所以被统称为“ NoSQL” 。 </li></ul><ul><li>在设计上, NoSQL 非常关注对数据高并发地读写和对海量数据的存储等。在我看来,它与关系型数据库相比,在架构和数据模型方面做了“减法”,而在扩展和并发等方面做了“加法”。 </li></ul><ul><li>主要产品有: BigTable 、 HBase 、 Redis 、 Cassandra 和 MongoDB 等。 </li></ul>
  14. 14. NoSQL 数据库的优势 <ul><li>简单的扩展 :典型例子是 Cassandra ,由于其架构是类似于经典的 P2P ,能轻松地添加新的节点来扩展这个集群; </li></ul><ul><li>并发的读写 :主要例子有 Redis ,由于其逻辑简单,而且纯内存操作,使得其性能非常出色; </li></ul><ul><li>低廉的成本 :这是大多数分布式数据库共有的特点,因为主要是开源软件,没有昂贵的 License 成本。 </li></ul>
  15. 15. NoSQL 数据库的不足之处 <ul><li>不提供对 SQL 的支持 :如果不支持 SQL 这样的工业标准,将会对用户产生一定的学习和应用迁移成本; </li></ul><ul><li>支持的特性不够丰富 :现有产品所提供的功能都比较有限,大多数 NoSQL 数据库都不支持事务,也不像 MS SQL Server 那样能提供各种强大的附加功能; </li></ul><ul><li>现有产品的不够成熟 :大多数产品都还处于初创期,和关系型数据库几十年的完善不可同日而语; </li></ul>
  16. 16. 主要的 NoSQL 数据库 <ul><li>BigTable/HBase :在数据模型上面属于 Column-Family ,采用了 Single Master 的分布式架构,主要为了存储海量的数据,不强调低延迟,比较适合 OLAP 应用。 </li></ul><ul><li>Cassandra :在数据模型方面继承 BigTable ,也是 Column-Family ,采用 Dynamo 的机制,其分布式架构类似 P2P 。 </li></ul><ul><li>Redis :是 Key-Value 的,对 List 和 Set 这些操作有原生的支持,由于数据集都是放置于内存中,所以读写速度非常快,但是对分布式支持非常有限,比较适合 BBS 应用。 </li></ul><ul><li>MongoDB :是 Document DB ,提供功能相对而言,比较完善,在分布式方面,有 Replica Sets 这样的新一代 Master/Slave Replication 机制。 </li></ul>
  17. 17. NoSQL 数据库之间的比较 BigTable/ HBase Cassandra Redis MongoDB 设计理念 海量存储和处理 简单和有效的扩展 高并发 全面 数据模型 Column-Family Column-Family Key-Value Document 分布式 Single-Master P2P M/S 备份 Replica Sets 特色 支撑海量数据 采用 Dynamo 和 P2P List 、 Set 的处理 全面 不足 不适应低延迟应用 Dynamo 机制受到质疑 分布式方面支持有限 在性能和扩展方面没优势

×