欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库技术导论kvstore.pdf

    • 资源ID:4059196       资源大小:768.73KB        全文页数:22页
    • 资源格式: PDF        下载积分:2金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要2金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库技术导论kvstore.pdf

    An Introduction to Database System 数据库系统概论新技术篇 键值对数据库 An Introduction to Database System 概述概述 本节课讲述键值对数据库系统的概念、应本节课讲述键值对数据库系统的概念、应 用场景、基本原理、和典型实现案例用场景、基本原理、和典型实现案例 通过学习加深其与传统数据库应用定位的通过学习加深其与传统数据库应用定位的 不同,以及在关键技术上如何应对大数据不同,以及在关键技术上如何应对大数据 的数据服务需求的数据服务需求 An Introduction to Database System 键值对数据库键值对数据库 1 数据服务与键值对数据库数据服务与键值对数据库 2 键值对数据模型键值对数据模型 3 键值对数据库原理键值对数据库原理 An Introduction to Database System 数据服务数据服务 数据服务数据服务(data serving) 服务:指程序化的解决众多服务:指程序化的解决众多 个体提出个性化的简单请求。个体提出个性化的简单请求。 数据服务:数据的数据服务:数据的简单简单读写读写 数据库事务:也算一种数据数据库事务:也算一种数据 服务,但属于服务,但属于mission-critical 并可以并可以较为复杂较为复杂的数据服务的数据服务 An Introduction to Database System 数据服务起源数据服务起源 门户网站页面优化布局,需要读取门户网站页面优化布局,需要读取 用户众多的属性用户众多的属性 日志分析,用户画像,写用户属性日志分析,用户画像,写用户属性 高并发简单数据读写高并发简单数据读写 数据规模大:亿数据规模大:亿*千千 属性动态增减属性动态增减 An Introduction to Database System 键值对数据库键值对数据库 键值对数据库键值对数据库/键值对系统的定义:一个针对关键值对系统的定义:一个针对关 联数组(字典或联数组(字典或Hash表)提供高吞吐数据服务表)提供高吞吐数据服务 (存储、读取和管理)的数据库系统(存储、读取和管理)的数据库系统 关联数组包含了很多记录,每个记录又有不同关联数组包含了很多记录,每个记录又有不同 的属性的属性 系统通过唯一标识记录的键(系统通过唯一标识记录的键(key)来迅速存储)来迅速存储 和读取单行记录中的数据,实现对关联数组的和读取单行记录中的数据,实现对关联数组的 高并发读写服务高并发读写服务 An Introduction to Database System 数据库数据库 v.s. 键值对数据库键值对数据库 Bigtable: 需求带来新的技术突破需求带来新的技术突破 指标指标 Database KV-stores 数据量 TB PB 吞吐量 <100K TPS 1M TPS 列数 100(固定schema) 1000-10000(可扩展) 复杂性 较为复杂 极为简单 一致性 Mission critical (严格一致性) 马马虎虎 (最终一致性) 接口 SQL API (是NoSQL的一种) 成本 高 低 An Introduction to Database System 键值对数据库键值对数据库 1 数据服务与键值对数据库数据服务与键值对数据库 2 键值对数据模型键值对数据模型 3 键值对数据库原理键值对数据库原理 An Introduction to Database System 键值对数据库设计键值对数据库设计 为什么不直接使用为什么不直接使用Hashtable? 多列、动态列增减、列族多列、动态列增减、列族 为什么不直接使用关系数据库表?为什么不直接使用关系数据库表? 大量空值、高并发大量空值、高并发 动态列增减、列族动态列增减、列族 Users a1 a2 an u1 u2 cij un An Introduction to Database System 键值对数据模型键值对数据模型 数据模型数据模型 持久化的、分布式的、多维持久化的、分布式的、多维Hashtable 键值排序(实现按键的快速数据检索)键值排序(实现按键的快速数据检索) 列族、列族、Tablet(分片)、(分片)、Timestamp An Introduction to Database System ColumnFamily: Rockets Key Value 1 2 3 Name Value toon inventoryQty brakes Rocket-Powered Roller Skates Ready, Set, Zoom 5 false name Name Value toon inventoryQty brakes Little Giant Do-It-Yourself Rocket-Sled Kit Beep Prepared 4 false Name Value toon inventoryQty wheels Acme Jet Propelled Unicycle Hot Rod and Reel 1 1 name name 数据模型示例数据模型示例 An Introduction to Database System 键值对系统操作接口键值对系统操作接口 API操作接口操作接口 get(key), put(key, value), delete(key) execute(key, operation, parameters) 指定列的数据读取指定列的数据读取 有的允许在一定范围内的键值读取有的允许在一定范围内的键值读取 rowkey与与columnkey An Introduction to Database System 键值对数据库键值对数据库 1 数据服务与键值对数据库数据服务与键值对数据库 2 键值对数据模型键值对数据模型 3 键值对数据库原理键值对数据库原理 An Introduction to Database System CAP理论理论 分布式系统的3个属性 只能满足2个,要舍弃1个 An Introduction to Database System 最终一致性最终一致性 很长时间没有数据更新后,最终所有更新会传播到整个很长时间没有数据更新后,最终所有更新会传播到整个 系统,所有节点的数据保持一致系统,所有节点的数据保持一致 如果一个节点没有离开服务,最终系统接受的和这个节如果一个节点没有离开服务,最终系统接受的和这个节 点数据相关的更新操作会作用在该节点上点数据相关的更新操作会作用在该节点上 BASE协议协议 (Basically Available, Soft state, Eventual consistency), 区别于区别于ACID 数据的副本之间可能不一致数据的副本之间可能不一致 该数据没有更新,最终副本之间会一致该数据没有更新,最终副本之间会一致 An Introduction to Database System 键值对系统设计考虑键值对系统设计考虑 牺牲掉以下数据库特性牺牲掉以下数据库特性 链接操作链接操作 group by order by ACID事务处理事务处理 SQL 换取高性能、高吞吐、可 扩展和高容错的键值对数 据读写解决方案 An Introduction to Database System HBase系统架构系统架构 当Table随着不断变大后,会逐渐分裂成多份splits,成为 regions,一个region由startkey,endkey)表示,不同的 region会被Master分配给相应的RegionServer进行管理 Client:HBase Client使用HBase的RPC机制与HMaster 和HRegionServer进行通信;对于数据读写类操作, Client与HRegionServer进行RPC HRegionServer:用户I/O请求,向HDFS文件系统中读 写数据,是HBase中最核心的模块。HRegionServer内部 管理了一系列HRegion,每个HRegion对应了Table中的 一个 Region,HRegion中由多个HStore组成。每个 HStore对应了Table中的一个Column Family的存储 HMaster : HBase 中 可 以 启 动 多 个 HMaster , 通 过 Zookeeper的Master Election机制保证总有一个Master运 行,HMaster在功能上负责Table和Region的管理工作 HMaster 1. 管理用户对Table的增、删、改、查操作 2. 管理HRegionServer的负载均衡,调整 Region分布 3. 在Region Split后,负责新Region的分配 4. 在HRegionServer停机后,负责失效 HRegionServer 上的Regions迁移 An Introduction to Database System HBase存储格式存储格式 HBase中的所有数据文件都存储在Hadoop HDFS文件系统上 HFile,HBase中KeyValue数据的存储格式,是Hadoop的二进制格式文件 HFile里面的每个KeyValue对就是一个简单的byte数组。但是这个byte数 组里面包含了很多项,并且有固定的结构 开始是两个固定长度的数值,分别表示Key的长度和Value的长度。紧接 着是Key,开始是固定长度的数值,表示RowKey 的长度,紧接着是 RowKey,然后是固定长度的数值,表示Family的长度,然后是Family, 接着是Qualifier,然后是两个固定长度的数值,表示TimeStamp和Key Type(Put/Delete)。Value部分是纯粹的二进制数据 An Introduction to Database System 存储模型与实现原理存储模型与实现原理 写操作写操作 写日志写日志、同时写入同时写入memtable memtable批量持久化批量持久化 读操作读操作 内存和磁盘都要读内存和磁盘都要读 键值排序索引支持键值排序索引支持 内部内部Compaction操作操作 涉及涉及memtable和次和次SSTable的整合,的整合, 回收修改回收修改/删除记录所占的空间删除记录所占的空间 An Introduction to Database System 典型键值对数据库典型键值对数据库 大大Hashtable Amazon S3 (Dynamo), Voldemort, Scalaris 列族列族 Cassandra, BigTable, HBase, Sherpa/Pnuts, Hypertable 内存型内存型 Redis, Memcached An Introduction to Database System NoSQL数据库数据库 NoSQL:Not Only SQL 键值对数据库键值对数据库 图数据库图数据库 文档数据库文档数据库 MapReduce(不是数据库)(不是数据库) NewSQL 保证保证ACID,扩展性好,扩展性好 An Introduction to Database System 小结 大数据带来新的数据服务需求大数据带来新的数据服务需求 追求更好的数据服务吞吐率就需要牺牲一些数追求更好的数据服务吞吐率就需要牺牲一些数 据库系统的特性,在特定应用下,有些特性是据库系统的特性,在特定应用下,有些特性是 可以牺牲的可以牺牲的 典型应用典型应用 用户画像管理用户画像管理 非结构化数据的元数据管理非结构化数据的元数据管理 多版本数据管理多版本数据管理 键值对数据管理键值对数据管理

    注意事项

    本文(数据库技术导论kvstore.pdf)为本站会员(奉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开