• MySQL、redis、MongoDB、elasticsearch的对比


    名称MySQLredisMongoDBElasticsearch
    概念关系型数据库,将数据保存到不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。一个以key-value形式存储的非关系数据库,6.X之前:单线程,6.X之后:多线程一个以JSON为数据模型的文档非关系型数据库,半内存半硬盘的方式。是一个基于Lucene构建的开源、分布式、RESTful搜索引擎。能够达到实时搜索、稳定、可靠、快速、安装使用方便。
    支持通过HTTP使用JSON进行数据索引
    优点①支持事务管理
    ②支持多种操作系统
    ③支持多线程
    ④可移植性强
    ⑤支持多种存储引擎
    ⑥开源、免费
    ①支持丰富的数据类型
    ②纯内存操作,速度快
    ③可以进行持久化操作
    ④还可以设计key的存活时间(expire)
    ⑤支持事务
    ①建模灵活(表结构灵活可变,字段类型可以随时修改)
    ②json数据模型
    ③横向扩展简单
    ④大数据量存储
    ⑤高并发
    ①分布式。不需要其他组件,分发是实时的
    ②完全支持Apache Lucene的接近实时的搜索
    ③处理多租户不需要特殊配置,而Solr则需要更多的高级设置
    ④采用了Gateway的概念,使得完备份更加简单
    各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作
    缺点不支持热备份,对XML支持不够良好,
    最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限才会发生改变
    ①redis(ACID处理非常简单)
    ②无法做太复杂的关系数据库模型
    ③是数据库容量受到物理内存的限制,不能用作海量数据的高性能
    因为不需要定义表结构的特点,所以给多表查询、复杂事务等高级查询带来了阻碍。
    不支持事务
    还不够自动,不适合当前新的index Warmup API。
    字段类型无法修改,写入性能较低,高硬件资源消耗
    定位定位于中小型数据库
    需要经常用到连表的复杂查询,不适合做海量数据的分析功能
    当MySQL单机存储数据达到了TB级别的时候,性能会明显下降。
    读写定位在缓存,提高数据读写速度,减轻对数据库存储与访问压力一个以JSON为数据模型的文档非关系型数据库,更偏向于大数据量存储搜索的非关系型数据库,主要是运用与站内搜索,全局搜索关键字
    对比选择支持跨平台,运行速度快,支持面向对象,可以处理复杂业务的多表查询①热数据的存储
    ②list数据类型可以用作FIFO(先进先出)双向链表的消息队列服务
    ③sort_set可以用作实时排行榜
    ①对于需要经常改变表结构,字段的情况下,使用MongoDB
    ②如果业务需求是需要较复杂的多表查询,那么选择MySQL。
    当我们需要在海量的数据中筛选出我们想查询的关键字相关信息。
  • 相关阅读:
    Imitation Learning学习记录(理论&例程)
    基于Java web的校园电动车租赁系统
    ELK安装、部署、调试(三)zookeeper安装,配置
    你给我解释解释,什么TMD叫TMD attention(持续更新ing...)
    安装 ELEMENTOR PRO
    【网页性能优化】-—— 关于图片懒加载
    【Swift 60秒】52 - Trailing closure syntax
    护眼灯哪个牌子更好更专业?2022年高品质护眼台灯推荐
    C++对象的拷贝
    PyQt6 GUI界面设计和Nuitka包生成exe程序(全笔记)
  • 原文地址:https://blog.csdn.net/hello_word_demo1/article/details/125417718