5G时代,为什么NoSQL和SQL存在短板?

为了更好地满足这些日益复杂的需求,CSP需要知道如何在日益拥挤的数据库环境中进行最佳的数据管理,而且这类场景似乎每年都会出现新的类别。最新类别则是NewSQL,它为NoSQL和SQL数据库无法提供的电信公司提供了独特优势,尤其是在实时数据处理方面。当今的数据库需要遍历整个数据从获取到执行的整个生命周期,且必须在10毫秒或更短的时间内完成。环顾四周,目前只有NewSQL数据平台才能实现这一目的。

本文阐述了SQL,NoSQL和NewSQL数据库之间的主要区别,并解释了为什么NewSQL数据库是电信行业顺应时代发展的关键,以及在5G时代,CSP如何充分利用各种数据库技术对其网络进行高效运维管理。

02 NewSQL缘起

===============

NewSQL是451 Group的分析师Matt Aslett创造的一个术语,用来描述一组新的数据库特性,这些特性既继承了传统SQL关系数据库的许多功能,同时也提供NoSQL技术的某些优势。

NewSQL系统为现实提供了两全其美的方案:关系数据模型和传统数据库的ACID事务一致性;继承SQL的交互便利性以及NoSQL的可扩展性和速度。有些系统提供了比NoSQL解决方案更强的一致性保证,尽管有人认为“可调”的一致性是伪一致性,但也并不完全符合ACID。

当然,NewSQL解决方案之间也存在差异。SAP HANA可以处理少量的事务性工作负载,但是没有本地集群的优势。NuoDB是一个超级优先的SQL数据库,专注于云部署,但是吞吐量很差。MemSQL对于集群分析很有用,但是其可调整的一致性并非严格意义上的ACID事务。NuoDB和MemSQL都具有计算和存储分离的特点,因此它们可能会遇到数据传输和同步(尤其是围绕事务的同步)的问题。

ACID 原则

大多数关系数据库都遵循ACID(原子性、一致性、隔离性和持久性)原则,而大多数NoSQL数据库是BASE(基本可用、软状态、最终一致性)原则。

NewSQL数据库,如VoltDB,为联机事务处理(OLTP)工作提供了NoSQL系统的可扩展性,同时遵从了传统数据库系统的ACID保证。

03 电信业场景下的NewSQL与NoSQL

==========================

既然我们已经注意到了SQL、NoSQL和NewSQL的基本区别,以及他们各自的优缺点。接下来,就让我们深入了解下,电信业运营商和开发人员真正关心NoSQL和NewSQL的哪些特性,他们可以使用NoSQL解决哪些问题?

  • 我可以使用NoSQL解决哪些问题?

  • NoSQL在哪里使用不合适?

  • 如何利用NoSQL和NewSQL的优势?

我们不怀疑NoSQL数据库非常契合许多工作场景,但是在某些特定场景下,NoSQL技术可能并不是能选择的最佳的解决方案。

下一节会对比NewSQL和NoSQL在电信业数据管理的4个关键考量指标:可扩展性,可用性,数据一致性以及快速响应。

3.1 可扩展性

============

NoSQL

随着5G蓬勃发展以及通信设备的迅速增长,电信业企业需要升级扩展其现有的数据管理方式。

最初NoSQL因为在互联网行业中类似Google,Facebook和Twitter广泛采用,以解决他们海量规模化数据管理时,才开始引起人们的注意。这些平台处理大量非结构化数据流入:Web搜索、移动设备、用户状态更新、信息流等。

在这些场景中,最重要的考量因素是可扩展性。数据库必须大规模快速地扩展。关系模式和扩展传统SQL数据库无法应对海量数据增长和处理,在传统SQL数据库维护海量数据和多样化查询处理请求的成本和效率是很难接受的。

NoSQL系统最重要的特性是能够在通用的硬件设备上扩展应用程序的能力。对于需要水平无限制扩展的需求场景,NoSQL可能是正确的选择,NewSQL和NoSQL在扩展性上并没有太大区别。

但是,NoSQL数据库为了扩展性而在几乎所有其它方面折衷,这对于仅依靠NoSQL的电信业公司来说有很大问题。

NewSQL

尽管NoSQL关系数据库系统提供了可扩展性选项,但通常这一成本很高。NewSQL系统也在致力于应对系统扩展性的挑战,同时它继承了传统RDBMS的事务性和SQL标准。

在典型场景中,内存中的大规模并行SQL关系数据库,该数据库在通用硬件上可以线性扩展。与NoSQL解决方案一样,NewSQL数据库对云原生友好,并且可以随意扩展以满足超大数据规模下的应用程序需求。系统应设计为使用集群内无共享数据分块的架构,来实现云端环境下低延迟的读写性能。

NewSQL数据库提供了高可用、容错性以及物理数据冗余,在电信网络之类的场景也能够平稳运行,以便电信运营商能够从容应对大量涌入的数据。借助功能强大的NewSQL数据库,用户还可以针对实时数据流处理场景,构建面向实时事务的应用程序。

3.2 可用性

===========

NoSQL

NoSQL系统专为CAP理论的可用性而设计,这意味着即使在分布式分区的情况下,数据库也始终会响应。

但是NoSQL系统在设计上优先考虑可用性,采用最终一致性,而不是强一致性(即始终提供最新最正确的数据集快照)方案,意味着NoSQL系统为了快速响应,然而可以返回的不是最新数据。

Apache Cassandra是最终一致性理念的践行者,即快速响应比始终返

本文已被开源项目:【一线大厂面试真题解析+核心总结学习笔记+最新全套讲解视频+实战项目源码讲义】收录

回最新数据更重要,确实对于许多应用程序而言,最终的一致性是可以接受的。

但是,需要根据确切数据才可以进行交易的场景,比如电信公司需要采取措施来打击欺诈等活动,最终一致性是不可接受的。

因此,NoSQL解决方案不适用于以下情况:

  • 决定是否拨打移动用户的电话

  • 跟踪(计数)并分配有限的稀缺资源

  • 交易事务决策

NewSQL

NewSQL系统优先考虑一致性而不是可用性。NewSQL系统将向所有客户返回相同的确切答案,从而使应用程序可以在通话费用,飞机座位分配和库存等方面做出实时决策,而不会发生冲突。

3.3 一致性

===========

NoSQL

如前所述,NoSQL系统是为实现可扩展性和可用性而设计的,但要牺牲强一致性作为代价。因此,对于需要强一致性的场景而言,NoSQL系统并不是一个好的选择,比如计费和操作支持场景,而这两个场景对于电信运营又都很常见。

同样的还有欺诈行为,电信运营商尤其是发展中国家的电信运营商,承受着巨大的压力,被滥用的SIM卡甚至可以用集装箱计,从而造成每年数十亿美元的损失。解决电信欺诈问题需要大规模准确地实时计算查询呼叫方账户,这都是NoSQL数据库无法做到的。

NewSQL

NewSQL系统具有高度一致性,它们优先考虑一致性而不是可用性,与此同时,NewSQL也支持多分区,这对于电信公司及其提供不间断服务的能力至关重要,因为这意味着即使节点到节点的通信出现故障,集群仍可以继续工作。

3.4 快速响应事务性场景

=================

NoSQL

快速响应的场景在现代场景中非常普遍。尽管NoSQL解决方案通常可以提高数据存储速度,但无法提供大规模的强一致的事务支持。

需要快速,可扩展的交易性应用程序包括:

  1. 在验证用户余额的同时允许移动电话连接

  2. 以最优惠的价格进行交易

  3. 向潜在的数千个用户展示移动广告,而不会超出客户的广告投放预算

  4. 为电信服务商提供严格的SLA 在批准交易之前检测是否存在信用卡盗刷行为

如何快速更新自己的技术积累?

  • 在现有的项目里,深挖技术,比如用到netty可以把相关底层代码和要点都看起来。
  • 如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
  • 知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
  • 学习以后不知道有没有学成,则可以通过面试去检验。

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!**

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目

[外链图片转存中…(img-yp9cKyaA-1723360045381)]

[外链图片转存中…(img-ibAfNZ1w-1723360045381)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值