5.3 NoSQL与关系数据库的比较 总结 关系数据库和NoSQL数据库各有优缺点,彼此无法取代 关系数据库应用场景:电信、银行等领域的关键业务系统,需要保证 强事务一致性 NoSQL数据库应用场景:互联网企业、传统企业的非关键业务(比如 数据分析) 采用混合架构 案例:亚马逊公司就使用不同类型的数据库来支撑它的电子商务应用 √对于“购物篮”这种临时性数据,采用键值存储会更加高效 √当前的产品和订单信息则适合存放在关系数据库中 √大量的历史订单信息则保存在类似MongoDB的文档数据库中 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学 5.3 NoSQL与关系数据库的比较 总结 关系数据库和NoSQL数据库各有优缺点,彼此无法取代 •关系数据库应用场景:电信、银行等领域的关键业务系统,需要保证 强事务一致性 •NoSQL数据库应用场景:互联网企业、传统企业的非关键业务(比如 数据分析) 采用混合架构 案例:亚马逊公司就使用不同类型的数据库来支撑它的电子商务应用 对于“购物篮”这种临时性数据,采用键值存储会更加高效 当前的产品和订单信息则适合存放在关系数据库中 大量的历史订单信息则保存在类似MongoDB的文档数据库中
3.4 NoSQL的四大类型 NoSQL数据库虽然数量众多,但是,归结起来,典型的 NoSQL数据库通常包括键值数据库、列族数据库、文档数据库 和图形数据库 Key_1 Value_1 Dataset Key_2 Value_2 Column-Family-1 Column-Family-2 Column Column Column Key_3 Value_1 Row Name-1 Name-2 Name-3 Key-1 Key_4 Column Value_3 Column Column Value-1 Value-2 Value-3 Key_5 Value_2 Column-Family-1 Key_6 Value_1 Column Column Column Row Name-4 Name-5 Name-6 Key_7 Value_4 Key-2 Column Column Column Value-4 Value-5 Value-6 Key_8 Value_3 键值数据库 列族数据库 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学 3.4 NoSQL的四大类型 NoSQL数据库虽然数量众多,但是,归结起来,典型的 NoSQL数据库通常包括键值数据库、列族数据库、文档数据库 和图形数据库 Key_1 Key_2 Key_3 Key_4 Key_5 Key_6 Key_7 Key_8 Value_1 Value_2 Value_1 Value_3 Value_2 Value_1 Value_4 Value_3 键值数据库 Column Name-3 Column Value-3 Column Name-2 Column Value-2 Column Name-1 Column Value-1 Column Name-4 Column Value-4 Column Name-5 Column Value-5 Column Name-6 Column Value-6 Dataset Column-Family-1 Column-Family-2 Column-Family-1 Row Key-1 Row Key-2 列族数据库
3.4 NoSQL的四大类型 36 Dataset -Key-Value2- Document id-1 Document-l Key- Key-Valuel- Key- Value Value Document id-2 Document-2 Nodel Node3 Document id-3 Document-3 Key-Valuel Key-Value2 Key- Document id-4 Document-4 Value Node2 文档数据库 图形数据库 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学 3.4 NoSQL的四大类型 KeyValue Node1 KeyValue Node2 KeyValue Node3 Key-Value1 Key-Value2 Key-Value2 Key-Value1 图形数据库 Dataset Document_id-1 Document_id-2 Document_id-3 Document_id-4 Document-1 Document-2 Document-3 Document-4 文档数据库
3.4 NoSQL的四大类型 文档数据库 图数据库 Couchbase ○Neo4j ■'MarkLogic InfiniteGraph mongoDB The Distributed Graph Database Wide Column Stores Key-Value Databases 键值数据库 列族数据库 redis ▣CU■UOC m amazon. HYPERTABLER DynamoDB Cassandra hanse riak AEROSPIKE Amazon SimpleDB 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学 3.4 NoSQL的四大类型 文档数据库 图数据库 键值数据库 列族数据库
3.4.1键值数据库 ☒ 相关产品 Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached 键/值对 数据模型 键是一个字符串对象 值可以是任意类型的数据,比如整型、字符型、数组、列表、集合等 涉及频繁读写、拥有简单数据模型的应用 典型应用 内容缓存:比如会话、配置文件、参数、购物车等 存储配置和用户数据信息的移动应用 优点 扩展性好,灵活性好,大量写操作时性能高 缺点 无法存储结构化信息,条件查询效率较低 不是通过键而是通过值来查:键值数据库根本没有通过值查询的途径 不适用情形 需要存储数据之间的关系:在键值数据库中,不能通过两个或两个以上的 键来关联数据 需要事务的支持:在一些键值数据库中,产生故障时,不可以回滚 百度云数据库(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter 使用者 (Redis和Memcached)、StackOverFlow(Redis)、Instagram (Redis)Youtube (Memcached)Wikipedia (Memcached) 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学 3.4.1 键值数据库 相关产品 Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached 数据模型 键/值对 键是一个字符串对象 值可以是任意类型的数据,比如整型、字符型、数组、列表、集合等 典型应用 涉及频繁读写、拥有简单数据模型的应用 内容缓存:比如会话、配置文件、参数、购物车等 存储配置和用户数据信息的移动应用 优点 扩展性好,灵活性好,大量写操作时性能高 缺点 无法存储结构化信息,条件查询效率较低 不适用情形 不是通过键而是通过值来查:键值数据库根本没有通过值查询的途径 需要存储数据之间的关系:在键值数据库中,不能通过两个或两个以上的 键来关联数据 需要事务的支持:在一些键值数据库中,产生故障时,不可以回滚 使用者 百度云数据库(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter (Redis和Memcached)、StackOverFlow(Redis)、Instagram (Redis)、Youtube(Memcached)、Wikipedia(Memcached)