首页 > 编程知识 正文

nosql基准测试(为什么要使用nosql)

时间:2023-05-06 16:45:52 阅读:78678 作者:4255

MongoDB、ElasitcSearch、Redis和HBase是目前最受欢迎的四种NoSQL数据库产品。 在实际开发中,这四个数据库的区别是什么? 我应该选哪个? 这是很多网络开发面临的课题吧。 这里总结了这四个数据库产品的特点和应用场景。 为了帮助选择正确的数据库,希望能更深入地理解这四个数据库的特点。

一、自述

Redis的优点:

读写性能优异; 支持数据持久化,支持AOF和RDB两种持久化方式; 支持主从复制,主机可以自动将数据同步到从机并从机读写数据。 数据结构丰富:除了string类型的value外,还支持string、hash、set、sortedset和list等数据结构。 Redis极限:

Redis只能使用单线程,性能受CPU性能的限制,因此单实例CPU最多可以达到5-6wQPS秒。 (取决于数据结构、数据大小和服务器硬件的性能,在日常环境中QPSjwdlf约为1-2w左右。 支持简单的办公需求,但行业使用场景少、不成熟,既是优点也是缺点。 由于Redis属于字符串类型,且内存消耗较大,因此可以使用dict[哈希表]压缩存储以减少内存消耗。 二.蒙哥数据库

MongoDB的好处:

无模式; 查询和索引方法灵活,是与SQL最相似的无SQL; 支持复制集、主体、互主体、自动切片等特性。 Mongodb的缺点:

簇片内数据分布不均匀,单体可靠性比较差的大数据量持续插入,写入性能有较大变动; 磁盘空间比较大。 三. HBase

HBase的好处:

存储容量大,一个表可以容纳几亿行、几百万列; 在可按版本检索、可检索所需历史版本数据的负荷较高的情况下,通过简单添加机器即可实现水平分割扩展,与Hadoop的无缝集成保障了其数据可靠性(HDFS )和大量数据分析的高性能(MapReduce分布式复制) 可以有效地避免单点故障的发生。 HBase的缺点:

基于Java语言实现和Hadoop体系结构意味着API适用于Java项目。 node开发环境中需要的依赖项多、配置麻烦、不知道如何配置、占用了大量内存(例如缺少永久配置等文档),并且被构建为针对大量分析而优化的HDFS,因此读取性能不高; 与其他NoSql相比,API相对笨拙。 四.电子搜索

电子搜索的好处:

横向扩展可扩展性:作为大型分布式群集,可以轻松将新服务扩展到ES群集,也可以作为轻量级搜索引擎单独运行。 与传统的关系数据库相比,功能更加丰富的:提供了全文搜索、同义词处理、关联度排名、复杂的数据分析和对大量数据的几乎实时处理等功能。 分片机制可以将:中的相同索引分割为多个分片,并且利用分割后的思想来更好地提高处理效率。 高可用性:提供了一种复制副本(Replica )机制,允许在一个分片上设置多个复制副本,并且群集在某些服务器故障后仍能正常工作。 开箱后:立即提供易于使用的API,易于构建、部署和使用服务。 电子搜索的缺点:

很明显,不能更改字段类型。 如果需要添加新数据和新字段,则当elasticSearch执行搜索时,必须更改格式。 以前的数据需要重新同步,管理数据有很多困难。 总结低写入性能、高硬件资源消耗:

MongoDB、ElasticSearch、Redis、HBase,这四个数据库是当前NoSQL中最火爆的数据库,掌握它们后,就可以保留互联网开发中的大部分数据存储需求这里要强调的是,没有最好的数据库,就像买衣服一样,只有最适合你的APP应用场景的数据库,所以在选择数据库之前,必须考虑自己的APP场景是否合适。 让我们总结一下这些数据库的应用场景:

如果对数据读写要求非常高,数据规模不大,也不需要长期存储,请选择redis。如果数据规模大,数据读取性能高,则必须频繁更改数据表的结构。 在某些情况下,还需要选择MongoDB的聚合查询。 如果需要构建搜索引擎,或者希望构建高数据可视化平台,并且数据具有一定的分析价值,或者上司是土豪,请选择ElasticSearch; 如果需要存储大量的数据,而自己也不知道数据的规模将来会有多大,例如大型电气公司(京东、天猫)的历史订单,如果每天发生千万级的量,就选择基于h。 4种NOSQL的比较图如下所示。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。