NoSQL 为 Big Data 计算带来了以下前沿变革:
- 降低成本:开源软件和标准通用硬件。
- Schema 灵活性和 schema on read:对于面临动态变化的成长型公司很重要。
- 增强弹性扩展:满足大数据的高容量和速度。
- 支持半结构化和非结构化数据:处理各类数据。
- 提高数据模型的灵活性:处理各类工作负载。
- 并行处理用户代码:利用 MapReduce 实现。
- 高可用模式:适用于低廉且易出故障的通用商业服务器。
这些变革催生了几类典型的 NoSQL 解决方案,每一类解决方案都设计了自己独特 的 API 接口,并仅用于解决部分特定的大数据应用场景。典型用例包括实时流和分 析机器学习应用程序。更多关于这些用例的信息,请参阅《数据管理的未来》。
随着 NoSQL 和 Hadoop 越来越受欢迎,越来越多的应用程序开始迁移到这些环境。 但是,当新型初创公司走向成熟阶段后,其运营型工作负载的需求不断增加,更加需要那些传统 RDBMS 所能提供的能力。虽然大型企业未面临和初创公司一样的挑战,但也想利用这些新技术的优势,并希望继续使用 SQL,原因如下:
- 企业普遍使用 SQL,这能简化开发。
- 企业已经使用了大量 SQL 相关的工具和应用程序生态系统。
- 尽管事务处理有一定开销,但很多情况下仍需要事务支持。
- SQL 引擎能高效处理 join 操作,很多情况下仍需要 join 的支持。
- 企业开发人员需要进行相对困难的应用程序开发,或者编写 MapReduce/Spark 作业,而使用 SQL 更简单。
- 预定义数据表列有很多优势,因此用户可以使用数据类型检查和约束来保证数据质量,而且无需牺牲 schema 灵活性。
- 促进了应用程序之间的元数据统一管理和规范。
来源 https://www.modb.pro/db/11366