非结构性的数据库系统有哪些

非结构性的数据库系统有哪些,第1张

非结构性的数据库系统有:

1、High performance——对数据库高并发读写的需求。

2、Huge Storage——对海量数据的高效率存储和访问的需求。

3、High Scalability && High Availability——对数据库的高可扩展性和高可用性的需求。

基本含义NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。

计算机信息化系统

中的数据分为结构化数据和非结构化数据。非结构化数据其格式非常多样,标准也是多样性的,而且在技术上非结构化信息比结构化信息更难标准化和理解。所以存储、检索、发布以及利用需要更加智能化的IT技术,比如海量存储、智能检索、知识挖掘、内容保护、信息的增值开发利用等。

首先,来谈一下对数据库市场的看法,关系型数据库会一直占有主导地位。第一个原因是它的历史最久,有庞大的用户基础,根深。第二,SQL 的 query 在场景上依然是占主体的,尤其在数据分析上。 NoSQL的产生的是SQL对某些非关系为场景(KV点读)上的scalability 不好导致的。那个时候,主要问题是无法横向 scale,也就是没有分布式的支持,所以NoSQL 诞生了。而且KV, document 使用 normalized 数据结构也不利于理解和编程,所以可以看做是NoSQL 从SQL中抢了一些自己更适合的场景,所以它是在特定的时间和环境出现的一个产品。随着Distributed SQL 的出现, NoSQL 和 Distributed SQL 变得越来越像。未来几年有可能和 Distributed SQL 合并作为了一个产品类型。 NoSQL 在市场份额上不会超过或取代SQL, 在一些场景上会继续成长,尤其是用关系型数据集不好表达的,比如图。

今天 NewSQL 和 Distributed SQL 这2个名词在业界有一定的混淆。NewSQL 出现的早,可以被认为是Distributed SQL 的子集。以后还是以 Distributed SQL 为定义好。 所以你的问题其实是在 传统SQL,Distributed SQL 和 noSQL 之间如何选择。

答案是,最重要的指标是看用户的数据access的场景,和对应的数据结构。满足以下条件,更多考虑NoSQL:

数据之间没有关系,或者关系不强烈;每个row独立,row 之间不存在大规模的一对多,多对多的关系。

数据本身适合KV, 或者自我包含的hierachy关系。 比如个人profile, 完全自我contain, 人很人之间不需要query。

Access 数据的方式主要以 ID (primary key) 为主的点读,和顺序access (按顺序iterate)。

需要支持大规模的读写,低延时。

如果需要事务特性,范围限于一个或几个row, 没有关系型的事务。

使用 SQL 主要是因为 row 和 row 之间有关系; 存在一对多、多对多的关系。同时在关系的前提下,支持事务。支持table join的语法。对一致性要求高(强一致)。 Distributed SQL 提供了跨节点的分布式事务,query 等。但它是建立在牺牲性能的前提下的,延时大大价高。所以 NoSQL 是分布式+无关系,传统SQL 是 有关系+无分布式, Distributed SQL 是 分布式 + 有关系 + 性能取舍。

NewSQL 现在已经消退了,目前在国外退化为Distributed SQL原因如下:

卡耐基梅隆大学数据库教授Andy Pavlo,在文中系统地分析了NewSQL兴起到消亡的过程,给出了他认为NewSQL消亡的一些原因,比如:

1)没有开源。

2)没有拥抱公有云,在成本与技术上难与跟公有云厂商抗衡。

3)已有的关系型数据库MySQL,PostgreSQL做的不错,而且在不断改进,大部分客户数据并不多,单节点存储就能装下。

4)销售困难:客户担心切换风险,而且面临NoSQL在易用性方面的夹击。

另外,在谈到数据库发展趋势时,也提到NoSQL开始普遍支持SQL,joins和事务功能。到2021年后NewSQL概念除了中国的数据库创业公司,国外较少提了,更多地转向Distributed SQL。

NoSQL 和 关系型数据库,OLAP和OLTP的边界目前和未来会进一步模糊。市场的主要NoSQL产品开始普遍支持SQL,joins和事务功能,就我个人观点而言,NoSQL未来应该还是坚守初心——高并发,低延时,高伸缩性,对于关系型数据库擅长的 跨表Join, 跨机事务,AP等能力扩展应该谨慎些。产品选型时,最好也从这些方面多考虑些。

以上就是关于非结构性的数据库系统有哪些全部的内容,包括:非结构性的数据库系统有哪些、newsql数据库支持结构化数据吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10174500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存