一、作业要求
在视频中已经讲解了关系型数据库和非关系型数据库的特点,下面请同学们分析讨论一下,
下面这些流行的 APP 的后台数据库,使用 关系型数据库 还是 非关系型数据库 更合适,如
果使用 非关系型数据库,哪种 【非关系型数据库】(键值存储数据库、列存储数据库、文
档型数据库、图数据库)更合适?
1. 中国铁路 12306
2. 新浪微博
3. 豆瓣读书
4. 江苏开放大学教务管理系统
请详细说明,你的技术选型的理由。字数不少于 2000 字。
答:
分析关系型数据库和非关系型数据库应用场景
中国铁路 12306:
特点:处理大量的用户查询、车票预订和交易数据。
数据结构:用户信息、车次信息、站点信息、订单信息等。
需求:高并发、实时性要求高、数据一致性要求严格。
技术选型理由:使用关系型数据库更合适。因为 12306 需要处理大量的交易数据,数据
之间具有复杂的关联性,例如用户与订单、车次与车票等。关系型数据库能够提供 ACID 事务
特性,确保数据的一致性和完整性,同时支持复杂的查询操作,满足 12306 的需求。
新浪微博:
特点:大量的用户产生的动态内容,例如文字、图片、视频等。
数据结构:用户信息、微博内容、评论、转发等。
需求:高并发、数据量大、实时性要求高。
技术选型理由:使用非关系型数据库中的文档型数据库更合适。微博中的数据结构通常
是半结构化的,每条微博的内容可能不同,因此文档型数据库能够更灵活地存储这些数据。
另外,微博的用户数量庞大,需要支持高并发访问,文档型数据库的水平扩展性能较好,可
以满足微博的需求。
豆瓣读书:
特点:提供图书信息、用户评分、评论等服务。
数据结构:图书信息、用户信息、评论、评分等。
需求:复杂的数据结构、查询频繁、用户交互性强。
技术选型理由:使用关系型数据库更合适。豆瓣读书需要处理复杂的数据结构,例如图
书与用户的多对多关系、评论与图书的关联等。关系型数据库能够更好地支持这种复杂的数
据模型,同时提供强大的查询功能,满足豆瓣读书的需求。
江苏开放大学教务管理系统:
特点:学生信息管理、课程管理、成绩管理等。
数据结构:学生信息、课程信息、成绩信息等。
需求:数据的准确性、一致性和安全性要求高,同时需要支持复杂的查询和报表功能。
技术选型理由:使用关系型数据库更合适。教务管理系统需要处理的数据主要是结构化
的学生信息、课程信息和成绩信息,这些数据之间存在复杂的关联关系。关系型数据库能够
提供 ACID 事务特性,确保数据的一致性和完整性,同时支持复杂的查询操作,满足教务管理
系统的需求。