MongoDB、ES、Redis、MySQL

  • 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实现
  • 两者再基于某种方式,实现数据的同步,保证一致性

你可能感兴趣的:(elasticsearch,mysql,redis,mongodb,数据库)