您当前的位置:首页 > 电脑百科 > 数据库 > 百科

2024年值得关注的八个未来数据库

时间:2023-12-07 14:40:37  来源:微信公众号  作者:程序新视界

关系型数据库管理系统在数据库技术领域占据主导地位已经多年了。当SQL在1970年代首次出现时,关系型数据库管理系统的使用和受欢迎程度迅速提升。很快,MySQL成为了大多数公司和团队首选的数据库。

然而,2023年带来了一系列具有颠覆性的数据库。尽管其中一些数据库仍然使用传统的关系模式构建,但其他数据库提供了创新的方法,值得我们在2024进行重点关注。

在本文中,我们将探索一些创新和未来感十足的数据库,并比较它们的特点。

Pl.NETScale

2024年值得关注的八个未来数据库

PlanetScale是基于Vitess水平扩展MySQL技术的无服务器MySQL平台。Vitess是由谷歌开发的可扩展的开源数据库,用于应对数十亿YouTube用户的需求。处理如此规模的工作并非易事。

PlanetScale有趣的地方在于它是一个分支数据库,这是一种最近才出现但看起来非常有前景的新型工作流程。那么,什么是分支数据库?

什么是分支数据库?

2024年值得关注的八个未来数据库

分支数据库允许你从主数据库创建不同的分支,用于不同的目的。你可以将这个工作流程想象成类似于Git这样的版本控制系统,可以在项目中进行更改而不会破坏整个代码库。

你可以将你的主数据库或生产数据库复制到一个单独的数据库分支中。然后,可以在该数据库分支中进行实验、进行更改,当你对它们完全满意时,将其合并回主数据库。因此,通过保持生产数据库的完整性,你可以高效而直观地对数据库进行尝试和实验。

PlanetScale的分支工作流程

PlanetScale还为你的数据库添加了分支,这样你就可以在一个独立的开发分支上测试模式更改。这个分支与生产分支或你的主数据库是分开的。这提供了一个独立的工作环境,而不需要显式地创建一个用于尝试模式更改的暂存或测试环境。

你可以在PlanetScale官方文档了解更多有关分支的含义以及PlanetScale如何使用这个概念。

特点

PlanetScale自动创建每日备份,并在开箱即用时保护生产分支上的直接模式更改,减少了意外破坏生产数据库的可能性。

非阻塞模式更改是它提供的另一个有趣的特性。当你想要更改数据库模式时,你可以创建并部署一个请求来更新你的表,而不会中断你的用户。它还可以与Prisma等第三方工具简单集成。

Prisma是一个开源的数据库工具包,为现代Web应用程序提供了一个类型安全的ORM(对象关系映射)层。当你想要更改数据库模式时,你可以使用Prisma的迁移功能生成必要的SQL脚本,以非阻塞的方式应用于你的数据库,而不会中断你的用户。这样,你可以将PlanetScale与Prisma集成,以便应用程序保持在线的同时高效地更新你的模式。

价格

虽然PlanetScale的团队计划每月需要599美元,但定价计划中包含了一个免费的层级。在免费层级中,你可以获得1个生产分支和1个开发分支,每月可以进行10亿次读取和100万次写入。如果你需要更多的读取、写入和分支,而又不想花费太多金钱,你也可以选择他们的Scalar计划,每月29美元。

缺点

因为它是一个相对较新的服务,所以它并不具备标准MySQL数据库的所有特性,比如存储过程、触发器、索引和其他类似的功能。

此外,如果你对分布式数据库的概念还不熟悉,学习曲线可能会成为一个问题。但对于这类新型的数据库,还是值得关注的。

YugaByteDB

2024年值得关注的八个未来数据库Yugabyte

YugaByteDB是一个开源的Postgres数据库,在云原生环境中加载了所有Postgres的原生特性。它允许同时在多个云上托管你的数据库,从而更好地控制数据库系统,消除了供应商锁定的问题。这也使你能够在不同的地区部署你的云实例,从而为你的数据库提供更高的故障容忍度。

特点

YugaByte支持SQL和NoSQL API。这使得开发人员可以根据他们的熟悉程度和使用情况选择最适合的API类型。除了确保高性能和可伸缩性,它还提供高可用性。

价格

Yugabyte提供了一个完全托管的专用集群,每核心每小时0.25美元。

缺点

作为另一个分布式数据库系统,与传统的SQL数据库相比,它可能具有更陡峭的学习曲线和一些额外的复杂性开销。

Dolt

2024年值得关注的八个未来数据库dolt

Dolt是一个独特的数据库,它与版本控制和Git的工作原理相同。它可以跟踪数据的变化,并了解数据的变化是如何以及何时发生的。就像一个Git仓库一样,你可以推送、拉取、分叉或克隆数据库。非常有趣,是吧?

Dolt的分支行为

和PlanetScale以及Neon一样,Dolt也实现了分支行为,你可以在不破坏生产数据的情况下对数据进行实验。

由于它是基于Git工作流程构建和运行的,使用Dolt时,所有的git命令,如git log、git add等,可以在命令行中用dolt log、dolt add等命令替代。

特点

Dolt支持SQL查询,使得从传统SQL背景下来的开发人员能够轻松地检索和更新数据。

Dolt提供的另一个有趣特性是协同编辑。使用Dolt的团队可以同时在同一个Dolt数据库上进行多个开发人员的工作。Dolt会自动处理对数据库所做的所有更改的合并。

定价和缺点

Dolt是开源的,并且完全免费。然而,由于其功能有限,如存储过程或用户定义函数,它可能只适用于特定的用例。

CockroachDB

2024年值得关注的八个未来数据库CockroachDB

由前谷歌员工开发的CockroachDB是与SQL和Postgres兼容的最强大的分布式数据库系统之一。它使用Go语言构建,为SQL和NoSQL API提供多模型支持,支持像YugaByteDB一样的多云部署,并能处理每秒数百万次查询。

它拥有强大的社区支持,并为开发人员提供了大量的学习资源,如教程、博客文章等。

定价

虽然它有一个免费版本,可以用于开发和测试模式下的小型项目,但它可能有点昂贵,特别是与其他开源替代品相比。然而,它的专用计划的价格比PlanetScale低得多,每月295美元。

缺点

作为一个分布式数据库系统,它需要设置和管理系统的复杂性开销,同时还需要一个陡峭的学习曲线。由于性能问题,它也不是对于延迟低、吞吐量高的应用程序的理想选择。

CloudFlare D1

现在让我们介绍一个在边缘运行SQLite数据库的无服务器数据库平台。Cloudflare Durable Objects (D1)用于构建和部署有状态应用程序。

CloudFlare D1使用与传统SQL数据模型不同的数据模型,它看起来和工作起来非常像面向文档的数据库,如MongoDB。

如何在CloudFlare D1中存储数据?

让我们来看一个例子。我们知道,在传统的SQL数据库中,数据存储在由行和列组成的表中。

假如一个名为“employees”的表,它有以下列作为“id”、“name”、“age”和“department”。

下面是表的示例:

id   name   age   department  
1    Alice   28    Sales  
2    Bob     35    Marketing  
3    Charlie 42    Finance

相比之下,CloudFlare D1将数据存储为类似于文档数据库的对象形式。

因此,将上面的例子转换为CloudFlare D1中的对象,我们有一个名为“Employee”的对象,它具有以下属性:“id”、“name”、“age”和“department”:

Employee {
  id: 1,
  name: 'Alice',
  age: 28,
  department: 'Sales'
}

因此,上述数据以一个带有唯一标识符的Employee对象的形式存储。

特点

Cloudflare的一个很棒的地方是它已经有了适用于workers的键值存储,但其中的一个折衷是原生事务不起作用。因此,你也可以使用JAVAScript编写存储过程,并直接在数据库中运行这些过程,它们基本上是代码片段。然后你可以使用它们来创建事务或其他可重用的查询。

此外,CloudFlare D1作为无服务器数据库的特点使得部署和管理变得很容易。

定价

Cloudflare D1目前处于alpha阶段,完全免费进行测试、使用和实验。这是你玩弄它并了解它是否成为你未来首选数据库的最佳时机。

缺点

CloudFlare D1目前尚未准备好用于生产。它的使用案例非常有限,不涉及复杂的数据结构或传统的SQL查询。持久化对象方法的另一个问题是迁移困难,最终导致供应商锁定。总的来说,尽管这个数据库听起来很有前景,但你现在还不能在你的生产应用程序中使用它。

说到无服务器架构,Xata提供了一个基于Postgres和Elasticsearch的有趣的关系型数据库。它将你的数据视为一个电子表格,使开发人员能够轻松构建需要灵活模式的应用程序。你也可以将它想象成AIrTable或Notion的开发人员友好的替代品。

Xata

2024年值得关注的八个未来数据库

xata

特点

它内置了全文搜索功能,并且可以帮助你使用提供的架构编辑器实时可视化表之间的关系。

它还支持像Dolt一样的分支,并主要用于实时处理大量数据。它还支持一些高级查询功能,如聚合、过滤、连接等。

定价

Xata的定价基于每秒的速率限制或可以进行的数据库请求次数。它有一个免费计划,每秒提供75个请求,最多支持75万条记录。

如果你是一家初创公司或计划很快推出MVP,他们的免费计划应该足够使用。他们的专业计划起价为每个单位每月8美元。

缺点

Xata的一些主要缺点包括未来迁移到其他平台的困难以及总体复杂性,通常需要丰富的专业知识才能使用。

2024年值得关注的八个未来数据库

Surreal DB

Surreal DB是用Rust编写的,它为关系型、文档型和图形数据库提供了一个易于使用的单一API。

特点

在数据建模方面,它非常灵活,非常适合推荐引擎、社交网络等应用。在这方面,它类似于流行的图形数据库Neo4J。

它还非常简单,可以与任何SQL类型的查询语言一起使用,并提供高效执行实时查询的能力。

例如,下面是一个在SurrealQL中的插入查询,看起来几乎与SQL的插入查询相同:

INSERT INTO company {
 name: 'Siddhant',
 age: 24,
 hobbies: ['technical writing', 'basketball']
};

此外,你可以使用SurrealQL直接连接你的Surreal DB到你的客户端应用程序。

缺点

由于它相对较新,文档和社区支持有限,特别是与帖子中讨论的其他数据库相比。它还使用自己的查询语言SurrealQL来编写查询。这可能会引入新的学习曲线,并且缺乏优质资源来掌握这个查询语言可能会在许多用例中成为开发人员的障碍。

定价

目前,SurrealDB没有任何云服务提供,但你可以加入他们的云等待名单,这是他们未来计划的一部分。你可以自己在本地或私有服务器上进行自托管。

虽然SurrealDB不是完全开源的,但它根据商业源代码许可证进行许可,这使得它在所有开发和生产使用中都是免费的。

Fauna DB

2024年值得关注的八个未来数据库

FaunaDB是最通用和易于使用的数据库之一。它由前Twitter工程师创建,是一个NoSQL数据库,遵循类似于MongoDB的文档数据库范例。

特点

尽管是一个NoSQL数据库,它支持原生连接操作,这是文档数据库中最缺失的功能。它非常适用于处理复杂的关系型数据,如社交图谱,并且有自己的自定义查询语言FQL。它还默认支持Graphql API。

它使用分布式架构以提供高可用性和低延迟。它可以成为无服务器应用程序或微服务架构的理想选择。

定价

它有一个免费计划,提供10万次读取、5万次写入和5GB的存储空间。非常适合个人项目,但可能不适用于MVP或更大的生产项目。

你可以升级到FaunaDB的任何计划,价格从每月25美元的个人计划,到每月150美元的团队计划,再到每月500美元的大型组织计划。

缺点

和SurrealDB类似,FaunaDB也使用了自己的查询语言FQL,这可能会给开发人员带来学习曲线。

例如,下面是一个在FQL中常用的查询:

Paginate(Documents(Collection("users")))

上述查询基本上是从一个名为“users”的集合中检索所有文档,并默认进行分页。

在SQL中的等效查询是:

SELECT * from users

正如你所见,这两个查询非常不同,它们在语法上没有相似之处。

此外,与我们在帖子中讨论的其他数据库相比,FaunaDB的价格相对较高。

结论

我们已经讨论了一些最先进和未来感的数据库。这些数据库大多数采用了分布式架构,这可能需要额外的工作和资源来进行设置、掌握和充分利用。然而,它们的创新方法和新颖的工作流表明它们有着宝贵的应用。

如果你考虑完全摆脱SQL,选择一个基于定价、易用性、社区支持和整体实用性等因素的数据库。如果你偏爱文档数据库,FaunaDB是一个不错的选择。如果你对分支数据库感兴趣,可以看看PlanetScale或Dolt。如果你需要一个灵活的模式,Xata是一个很好的选择。我们讨论的每个数据库都有其独特的特点。



Tags:数据库   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  Search: 数据库  点击:(4)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28  Search: 数据库  点击:(13)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  Search: 数据库  点击:(12)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12  Search: 数据库  点击:(25)  评论:(0)  加入收藏
让数据库和缓存数据保持一致的三种策略
如何保证缓存和数据库的一致性,这算得上是个老生常谈的话题啦,看到好多技术新人在写更新缓存数据代码,采用了非常复杂甚至“诡异”的方案,甚为不解。一、背景目前随着缓存架构方...【详细内容】
2024-02-20  Search: 数据库  点击:(35)  评论:(0)  加入收藏
MySQL数据库如何生成分组排序的序号
经常进行数据分析的小伙伴经常会需要生成序号或进行数据分组排序并生成序号。在MySQL8.0中可以使用窗口函数来实现,可以参考历史文章有了这些函数,统计分析事半功倍进行了解。...【详细内容】
2024-01-30  Search: 数据库  点击:(53)  评论:(0)  加入收藏
一篇文章,彻底理解数据库操作语言:DDL、DML、DCL、TCL
本篇文章以具体的SQL语句讲解了数据库SQL语言四大分类(数据定义语言DDL,数据操作语言DML,数据查询语言DQL,数据控制语言DCL),同时也介绍了事务控制语言TCL。最近与开发和运维讨论...【详细内容】
2024-01-30  Search: 数据库  点击:(41)  评论:(0)  加入收藏
一文读懂:什么是数据库,它到底有啥用?
提到数据库,可能很多人会很陌生。但据库其实已经渗入我们生活的方方面面,像网上购物、扫码点餐、抢红包等等应用背后都离不开数据库的支持。可以说数据库是支撑各类应用软件运...【详细内容】
2024-01-25  Search: 数据库  点击:(42)  评论:(0)  加入收藏
oracle数据库基础学习
在当今数字化时代,数据库已成为企业运营的关键要素。而Oracle数据库,作为全球领先的企业级数据库管理系统,更是备受推崇。本文将带您深入了解Oracle数据库的基础知识,帮助您从零...【详细内容】
2024-01-20  Search: 数据库  点击:(85)  评论:(0)  加入收藏
一个流行的支持超多数据库的ORM库
Sequelize 是一个流行的 Node.js ORM(对象关系映射)库,用于在 Node.js 中操作关系型数据库。它支持多种数据库系统,如 PostgreSQL、MySQL、SQLite 和 MSSQL,并提供了简单易用的 A...【详细内容】
2024-01-15  Search: 数据库  点击:(74)  评论:(0)  加入收藏
▌简易百科推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  京东云开发者    Tags:向量数据库   点击:(4)  评论:(0)  加入收藏
原来 SQL 函数是可以内联的!
介绍在某些情况下,SQL 函数(即指定LANGUAGE SQL)会将其函数体内联到调用它的查询中,而不是直接调用。这可以带来显著的性能提升,因为函数体可以暴露给调用查询的规划器,从而规划器...【详细内容】
2024-04-03  红石PG  微信公众号  Tags:SQL 函数   点击:(3)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28    51CTO  Tags:NoSQL   点击:(13)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  dbaplus社群    Tags:数据库连接池   点击:(12)  评论:(0)  加入收藏
八个常见的数据可视化错误以及如何避免它们
在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可...【详细内容】
2024-03-26  DeepHub IMBA  微信公众号  Tags:数据可视化   点击:(6)  评论:(0)  加入收藏
到底有没有必要分库分表,如何考量的
关于是否需要进行分库分表,可以根据以下考量因素来决定: 数据量和负载:如果数据量巨大且负载压力较大,单一库单一表可能无法满足性能需求,考虑分库分表。 数据增长:预估数据增长...【详细内容】
2024-03-20  码上遇见你  微信公众号  Tags:分库分表   点击:(13)  评论:(0)  加入收藏
在 SQL 中写了 in 和 not in,技术总监说要炒了我……
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select *...【详细内容】
2024-03-18  dbaplus社群    Tags:SQL   点击:(5)  评论:(0)  加入收藏
应对慢SQL的致胜法宝:7大实例剖析+优化原则
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什...【详细内容】
2024-03-14  京东云开发者    Tags:慢SQL   点击:(4)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12    InfoQ  Tags:数据库   点击:(25)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(19)  评论:(0)  加入收藏
站内最新
站内热门
站内头条