我应该转向NoSQL吗?(大数据)

 mobiledu2502876223 发布于 2023-02-09 11:17

我目前正在研究一个非常大的表(约1亿行,35列),它目前存储在SQL db中,但我正在运行的查询(它们各种各样)运行得非常非常慢..所以我得到了我应该转移到NoSQL db.问题是:

    如何判断哪个(NoSQL)数据库最适合我?

    如何将当前的SQL表移动到新的NoSQL方案?

或者我应该留在SQL中并进行微调?

更多细节:不会添加/删除行,这是历史数据,所有分析都将在该表上完成.计划对其进行各种查询.数据是数字的.

2 个回答
  • 一些值得思考的东西:

    100M行完全符合SQL的"甜蜜点".您可以通过x10增长,并且仍然可以确保SQL能够以相当重要的努力为您提供支持.

    NoSQL并不是解决大规模性能问题的灵丹妙药.它提供了一系列权衡,经过精心规划,可以提供更好的结果.但是,如果您不完全理解SQL中的性能问题,那么在NoSQL环境中做出正确设计决策的机会很小.

    NoSQL系统中常见的权衡之一是它们通常在查询时提供较少的灵活性,以换取模式管理的更大灵活性.你提到你的查询是"各种各样的" - 如果它们真的是变化的,或者更重要的是 - 经常变化 - 那么转移到NoSQL系统会让你陷入痛苦的世界.特别是如果您还不熟悉该技术.

    底线 - 你没有做任何明显"超出"SQL功能的事情,你的问题可能更多地是由于低效的实现而不是任何固有的平台限制.迁移到NoSQL系统不会神奇地解决您的任何问题,并且可能会引入新的问题.

    2023-02-09 11:19 回答
  • 我经常使用具有9亿行的SQL Server 2012表.该表每2分钟添加一行,每天总计约200K.我可以查询此表并在几秒钟内返回行(使用聚簇索引/ PK).我还可以查询其中一个索引,并在几秒或更短的时间内返回结果.

    因此,所有这一切都需要确保您的索引设置正确,并且正在使用!根据正在生成的查询计划检查您的查询,并确保正在进行搜索.

    转移到NoSQL或类似的东西可能是有充分理由的.但是,由于您认为自己无法在SQL Server中获得良好的性能,因此在确保您已经完成了为提高性能所做的一切之前,这一点并不是一个很好的理由.

    2023-02-09 11:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有