NewSQL 是什么

子凡 问答 2019-05-24 08:57:04 阅读(...)

NewSQL是一类关系数据库管理系统,旨在为在线事务处理工作负载提供NoSQL系统的可伸缩性,同时保持传统数据库系统的ACID保证,不仅具有NoSQL对海量数据的存储管理能力,保持传统数据库支持ACID和SQL等特性。

NewSQL 是一类关系数据库管理系统,是对各种新的可扩展/高性能数据库的简称,旨在为在线事务处理工作负载提供 NoSQL 系统的可伸缩性,同时保持传统数据库系统的 ACID 保证。这类数据库不仅具有 NoSQL 对海量数据的存储管理能力,还保持了传统数据库支持 ACID 和 SQL 等特性。许多处理高配置数据的企业系统对于传统的关系数据库而言太大,但具有对 NoSQL 系统不实用的事务和一致性要求。

NewSQL

NewSQL 系统采用各种内部架构。两个常见的区别特征是它们支持关系数据模型(包括 ACID 一致性)并使用 SQL 作为其主要接口。

NewSQL 系统可以松散地分为三类:

新架构

一些系统采用无共享节点的集群,其中每个节点管理数据的子集。它们包括分布式并发控制,流控制和分布式查询处理等组件。此类别中的示例系统包括 Amazon Aurora,Google Spanner,TiDB,CockroachDB,Altibase,Apache Ignite,GridGain,Clustrix,VoltDB,MemSQL,NuoDB,YugaByte DB 和 Trafodion。

SQL 引擎

第二类是优化存储引擎的 SQL。这些系统提供与 SQL 相同的编程接口,但比内置引擎(如 InnoDB)更好。示例包括 MySQL Cluster,Infobright,TokuDB,MyRocks,SQL Server(具有 ColumnStore 和 InMemory 功能)和 MariaDB Columnstore。

透明分片

这些系统提供了一个分片 中间件层,可以跨多个节点自动拆分数据库。例子是 ScaleBase 和 Vitess。

NoSQL 将改变数据的定义范围。它不再是原始的数据类型,如整数、浮点。数据可能是整个文件。NoSQL 可能会吓到 DBA,因为他们担心失去他们自己的领域。NoSQL 数据库是非关系的、水平可扩展、分布式并且是开源的。MongoDB 的创始人 Dwight Merriman 表示 NoSQL 可作为一个 Web 应用服务器、内容管理器、结构化的事件日志、移动应用程序的服务器端和文件存储的后备存储。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 排名 ranking

    淘宝号降权是什么意思

    淘宝号降权是指淘宝平台对于某些卖家账号进行的降低搜索排名和展示频率的处罚。这意味着被降权的账号的商品在淘宝搜索结果中排名会更低,展示频率也会变小,这会影响商品的销量和曝光率。
  • 腾讯 WeTest

    腾讯WeTest是什么

    WeTest是腾讯官方出品的一站式质量云,致力于产品质量标准建设和产品品质提升,依托10余年腾讯产品品质管理经验,历经千款腾讯产品磨砺。平台集成云手机、兼容测试、功能测试、性能测试、安全测试、自动化测试等优秀产品服务,满足众多开发者从研发到运营各阶段的测试需求。
  • Bitlocker

    Bitlocker分区解密软件是什么

    Bitlocker分区解密软件是一款针对因各种原因导致Bitlocker分区打不开从而数据丢失进行恢复的软件。Bitlocker是微软自Vista后开始提供的一个自带的加密工具。而这一功能最大的好处就是更好的防止数据失窃或恶意泄漏问题的发生。
  • 达芬奇视频调色软件 DaVinci Resolve

    DaVinci Resolve是什么

    DaVinci Resolve(达芬奇)是一款在同一个软件工具中将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身的视频调色软件。它采用美观新颖的界面设计,易学易用,能让新手用户快速上手操作,还能提供专业人士需要的强大性能。
  • 科幻画 Science fiction painting

    科幻画是什么

    科幻画是指科幻题材的漫画或插画作品。科幻画通常是基于科学幻想或未来世界的想象,在作品中经常出现未来科技、外星人、机器人、虚拟现实等元素。它可能是一种虚构的故事,也可能是对现实世界的某种展望或预测。
  • TestFlight

    TestFlight是什么

    TestFlight是苹果公司推出的一款应用测试工具。它可以帮助开发者在应用发布之前,在iOS、macOS和tvOS上测试应用。TestFlight可以让开发者向特定的测试用户提供应用的beta版本,开发者可以使用TestFlight收集反馈并在发布之前修复问题。