首页 > 编程知识 正文

数据存储的模式有哪些(hadoop数据存储方案)

时间:2023-05-05 07:15:02 阅读:76738 作者:70

人工智能,零度基点入门! http://www.captainbed.net/inner

选择合适的数据存储方案关系数据库MySQL MySQL是最常见的关系数据库,广泛用于internet产品中。 一般来说,MySQL数据库是选择的首选方案,基本上80% ~ 90%的场景都是基于MySQL数据库的。 这是因为需要管理关系数据库,而且业务中存在许多事务性操作,需要确保事务的强一致性。 此外,还可能存在复杂的SQL查询。 值得注意的是,前期尽量减少表的联合查询,后期数据量容易增大时,为数据库创建分库表。

内存数据库Redis随着数据量的增加,MySQL已不能满足大规模互联网类APP应用的需要。 因此,Redis通过基于内存存储数据,可以大大提高查询性能,在架构上对产品有很好的补充。 例如,为了加快对服务端接口的访问速度,请在Redis中尽可能存储频繁读取的热点数据。 这是一种非常典型的在空间中改变时间的策略,通过用更多的内存交换CPU资源来增加系统的内存消耗,从而加快程序的执行速度。

在某些情况下,可以充分利用Redis的特性来大幅提高效率。 这些场景包括缓存、会话缓存、时效性、访问频率、计数器、社交列表、用户确定信息记录、交叉点、并集和差集、流行列表和排名、最新趋势等。

将Redis用于缓存时,必须考虑缓存使用问题,如数据不一致性和脏读、缓存更新机制、缓存可用性、缓存服务降级、缓存透明度和缓存预热。

文档数据库MongoDB MongoDB是传统关系数据库的补充,非常适合可伸缩场景,它是一种可扩展的表结构。 因此,在预期的范围内,通过以MongoDB存储有可能扩展表结构的MySQL表结构,能够保证表结构的可扩展性。

另外,日志系统的数据量特别大,在MongoDB数据库中保存这些数据时,希望利用片集群来支持大量数据,同时使用汇总分析和MapReduce的能力。

MongoDB还适合于存储大数据,而GridFS存储方案是基于MongoDB的分布式文件存储系统。

列族数据库HBase HBase适用于存储大数据和进行高性能实时查询。 在HDFS文件系统上运行,作为支持脱机分析APP应用程序的MapReduce分布式处理的目标数据库。 在数据仓库、数据集市、商业智能等领域发挥着越来越多的作用,在数千家企业中支撑着大量大数据分析场景的应用。

全文搜索引擎的ElasticSearch通常在like中查询关系数据库的模糊查询。 其中,like “value%”可以使用索引,但like「%value%”这样的方式执行所有表查询。 这对于数据量较少的表没有性能问题,但对于大量的数据,全表扫描是非常可怕的。 ElasticSearch作为基于全文搜索引擎Apache Lucene构建的实时分布式搜索和分析引擎,适用于处理实时搜索APP应用程序的场景。 ElasticSearch全文搜索引擎还支持多词条查询、匹配度和权重、自动关联、拼写错误等高级功能。 因此,使用ElasticSearch作为关系数据库全文检索的功能补充,将进行全文检索的数据缓存在ElasticSearch中,可以处理复杂的业务和加快查询速度。

ElasticSearch不仅适合搜索场景,也非常适合日志处理和分析场景。著名的 ELK 日志处理方案,由 ElasticSearch、LogStash 和 KibAna 三个组件组成包括日志收集、聚合、多维查询和可视化显示。

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