541键值数据库 相关产品 Reds、Riak、 SimpleDB、 Chordless、 Scalaris、 Memcached 键/值对 数据模型键是一个字符串对象 值可以是任意类型的数据,比如整型、字符型、数组、列表、集合等 涉及频繁读写、拥有简单数据模型的应用 典型应用内容缓存,比如会话、配置文件、参数、购物车等 存储配置和用户数据信息的移动应用 优点 扩展性好,灵活性好,大量写操作时性能高 缺点 无法存储结构化信息,条件査询效率较低 不是通过键而是通过值来査:键值数据库根本没有通过值查询的途径 不适用情形需要存储数据之间的关系:在键值数据库中,不能通过两个或两个以上 的键来关联数据 需要事务的支持:在一些键值数据库中,产生故障时,不可以回滚 百度云数据库( Redis)、 GitHub(Riak)、 BestBuy(Riak)、 Twitter 使用者 (Reds和 Memcached)、 StackOverFlow( Redis)、 Instagram (Redis Youtube ( Memcached) Wikipedia( Memcached) 大数据技术原理与应用》 厦门大学计算机科学系 林子雨 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.4.1 键值数据库 相关产品 Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached 数据模型 键/值对 键是一个字符串对象 值可以是任意类型的数据,比如整型、字符型、数组、列表、集合等 典型应用 涉及频繁读写、拥有简单数据模型的应用 内容缓存,比如会话、配置文件、参数、购物车等 存储配置和用户数据信息的移动应用 优点 扩展性好,灵活性好,大量写操作时性能高 缺点 无法存储结构化信息,条件查询效率较低 不适用情形 不是通过键而是通过值来查:键值数据库根本没有通过值查询的途径 需要存储数据之间的关系:在键值数据库中,不能通过两个或两个以上 的键来关联数据 需要事务的支持:在一些键值数据库中,产生故障时,不可以回滚 使用者 百度云数据库(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter (Redis和Memcached)、StackOverFlow(Redis)、Instagram (Redis)、Youtube(Memcached)、Wikipedia(Memcached)
541键值数据库 浏览器 ↑↑ 应用服务器 memcached memcached RDBMSI RDBMS memcach memcache 首次访问:从 RDBMS中取得数据保存到 memcached 第二次后:从 memcached中取得数据显示页面 键值数据库成为理想的缓冲层解决方案 Redis有时候会被人们称为“强化版的 Memcached 支持持久化、数据恢复、更多数据类型 大数据技术原理与应用》 厦门大学计算机科学系 林子雨 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.4.1 键值数据库 键值数据库成为理想的缓冲层解决方案 Redis有时候会被人们称为“强化版的Memcached” 支持持久化、数据恢复、更多数据类型
●542列族数据库 相关产品 Big Table、 HBase、 Cassandra、 HadoopDB、 GreenPlum、 PNUTS 数据模型 列族 分布式数据存储与管理 数据在地理上分布于多个数据中心的应用程序 典型应用 可以容忍副本中存在短期不一致情况的应用程序 拥有动态字段的应用程序 拥有潜在大量数据的应用程序,大到几百TB的数据 优点 查找速度快,可扩展性强,容易进行分布式扩展,复杂性低 缺点 功能较少,大都不支持强事务一致性 不适用情形 需要ACID事务支持的情形, Cassandra等产品就不适用 Ebay( Cassandra) Instagram( Cassandra) NASA 使用者 Cassandra) Twitter( Cassandra and HBase) Facebook (HBase) Yahoo!(HBase) 大数据技术原理与应用》 厦门大学计算机科学系 林子雨 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.4.2 列族数据库 相关产品 BigTable、HBase、Cassandra、HadoopDB、GreenPlum、 PNUTS 数据模型 列族 典型应用 分布式数据存储与管理 数据在地理上分布于多个数据中心的应用程序 可以容忍副本中存在短期不一致情况的应用程序 拥有动态字段的应用程序 拥有潜在大量数据的应用程序,大到几百TB的数据 优点 查找速度快,可扩展性强,容易进行分布式扩展,复杂性低 缺点 功能较少,大都不支持强事务一致性 不适用情形 需要ACID事务支持的情形,Cassandra等产品就不适用 使用者 Ebay(Cassandra)、Instagram(Cassandra)、NASA (Cassandra)、Twitter(Cassandra and HBase)、Facebook (HBase)、Yahoo!(HBase)
●5:43文档数据库 “文档”其实是一个数据记录,这个记录能够对包含的数据类型和内容进行“自 我描述”。XM文档、HTML文档和JSON文档就属于这一类。 SequoiaDB就是 使用Js○N格式的文档数据库,它的存储的数据是这样的 ID”:1 NAME”:“ Sequoia Tel “ Office”:“123123 Mobile":“132132132 Addr”:“ China,GZ” 个XML文档 关系数据库: <configuration> 必须有 schema信息才能理解数据的含义 <property <name>hbase rootdir</name> 学生(学号,姓名,性别,年龄,系,年级) <value>hdfs: //localhost9 000/hbase</value </property> (1001,张三,男,20,计算机,2002)< configuration 大数据技术原理与应用》 厦门大学计算机科学系 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.4.3 文档数据库 “文档”其实是一个数据记录,这个记录能够对包含的数据类型和内容进行“自 我描述”。XML文档、HTML文档和JSON 文档就属于这一类。SequoiaDB就是 使用JSON格式的文档数据库,它的存储的数据是这样的: 关系数据库: 必须有schema信息才能理解数据的含义 学生(学号,姓名,性别,年龄,系,年级) (1001,张三,男,20,计算机,2002) 一个XML文档: <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> </configuration>
●5:43文档数据库 ID":1, “NAE”:“ Sequoia “ Office”:“123123”,“ Mobile”:“132132132” “ China,GZ 数据是不规则的,每一条记录包含了所有的有关“ Sequoia”的信息而没有 任何外部的引用,这条记录就是“自包含”的 这使得记录很容易完全移动到其他服务器,因为这条记录的所有信息都包含 在里面了,不需要考虑还有信息在别的表没有一起迁移走 ·同时,因为在移动过程中,只有被移动的那一条记录(文档)需要操作,而 不像关系型中每个有关联的表都需要锁住来保证一致性,这样一来AC|D的保 证就会变得更快速,读写的速度也会有很大的提升 大数据技术原理与应用》 厦门大学计算机科学系 林子雨 lin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.4.3 文档数据库 •数据是不规则的,每一条记录包含了所有的有关“SequoiaDB”的信息而没有 任何外部的引用,这条记录就是“自包含”的 •这使得记录很容易完全移动到其他服务器,因为这条记录的所有信息都包含 在里面了,不需要考虑还有信息在别的表没有一起迁移走 •同时,因为在移动过程中,只有被移动的那一条记录(文档)需要操作,而 不像关系型中每个有关联的表都需要锁住来保证一致性,这样一来ACID的保 证就会变得更快速,读写的速度也会有很大的提升