mongodb:存储业务数据(圈子,推荐的数据,小视频数据,点赞,评论等)redis:承担的角色是缓存层(提升查询效率)mysql:存储和核心业务数据,账户
MongoDB:是一个高效的非关系型数据库(不支持表关系:只能操作单表),文件存储格式为 BSON(一种 JSON 的扩展)
MYSQL : 用于存储安全性要求比较高的数据REDIS : 存储数据格式简单 , 并且查询非常多的数据(用户缓存)MonGDB : 用户存储海量数据, 并且数据的安全性要求不高
mysql与elasticsearch概念对比:
| MySQL | Elasticsearch | 说明 |
| Table | Index | 索引(index),就是文档的集合,类似数据库的表(table) |
| Row | document | 文档(document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式 |
| Column | Field | 字段(Field),就是JSON文档中的字段,类似数据库中的列(Column) |
| Schema | Mapping | Mapping(映射)是索引中文档的约束,例如字段类型约束。类似数据库的表结构(Schema) |
| SQL | DSL | DSL是elasticsearch提供的JSON风格的请求语句,用来操作elasticsearch,实现CRUD |
两者各自有自己的擅长支出:
Mysql:擅长事务类型操作,可以确保数据的安全和一致性Elasticsearch:擅长海量数据的搜索、分析、计算
因此在企业中,往往是两者结合使用:
对安全性要求较高的写操作,使用mysql实现对查询性能要求较高的搜索需求,使用elasticsearch实现两者再基于某种方式,实现数据的同步,保证一致性



