另类数据_9个另类的数据库值得一看

另类数据

总的来说,如果您需要数据库,则可以使用其中的一个大名鼎鼎的数据库-MySQL / MariaDB , PostgreSQL , SQLite和MongoDB ,然后开始工作。 但是有时候,“一刀切”的方法并不适合所有情况。 时不时地,您的用例会落在bartools之间,您需要寻求更专业的东西。 这是九个非常规数据库,它们从内存分析到键值存储和时间序列系统都在运行。

DuckDB

短语“ SQL OLAP系统”通常会让人联想到数据密集型整体或庞大的数据仓库集群的图像。 DuckDB对分析数据库而言, SQLlite对MySQL和PostgreSQL而言。 它的设计运行目的不是与成熟的OLAP解决方案相同,而是为本地数据集提供快速的内存中分析处理。

[ InfoWorld的2020年度技术奖获奖者:年度最佳软件开发,云计算,数据分析和机器学习产品 ]

DuckDB的许多功能与大型OLAP产品中的功能相对应,即使规模较小。 数据存储为列而不是行,并且对查询处理进行矢量化处理,以充分利用CPU缓存。 您不会发现与Tableau这样的报表解决方案的本机连接方式,但是手动推出这种解决方案应该不难。 除了C ++的绑定之外,DuckDB还本地连接到两个最常用的分析编程环境,Python和R。

边缘数据库

“边缘”是图形数据库中使用的术语,用于指代高度连接的数据集的两个实体或节点之间(例如,客户与订单之间,或订单与产品之间,等等)之间的连接或关系。 EdgeDB使用PostgreSQL核心及其提供的所有属性(例如ACID事务和工业强度可靠性)来构建其制造商称之为具有强大字段类型和类似SQL的查询语言的“对象关系数据库” 。

因此,EdgeDB结合了类似NoSQL的易用性和即时性,图形数据库的关系建模能力以及SQL的保证和一致性。 即使EdgeDB并不是正式的文档数据库,您也可以使用它以这种方式存储数据。 您可以使用GraphQL查询语言轻松地从EdgeDB检索数据,就像使用本机图形数据库(例如Neo4j)一样 。

基础数据库

由Apple牵头的开源项目FoundationDB是一个“多模型”数据库,该数据库在内部将数据存储为键值对(本质上是NoSQL模型),但可以组织为关系表,图形,文档和许多其他数据结构。 ACID事务可确保数据完整性,并且水平扩展和复制都可以立即使用。 但是,FoundationDB的设计有一些严格的限制:键,值和事务都有严格的大小限制,事务也有严格的时间限制。

哈珀数据库

HarperDB背后的目标是提供一个单一数据库,用于处理企业中的结构化和非结构化数据-在诸如FoundationDB之类的多模型数据库与数据仓库或OLAP解决方案之间的某个位置。 通过选择的界面(SQL,NoSQL,Excel等)对已摄取的数据进行重复数据删除,并使其可用于查询。Tableau或Power BI等BI解决方案可以直接与HarperDB集成,而无需提取或处理数据。 企业版和社区版均可用。

[ 同样在InfoWorld上:如何为您的应用程序选择合适的数据库 ]

密钥库

内存键值存储像Redis一样流行和强大,但由于线程性能和易用性不足而受到批评。 KeyDB与Redis协议兼容,因此可以用作嵌入式替代。 但是KeyDB进行了一些很不错的后台改进,主要是用于网络I / O操作和查询解析的多线程。 Redis下一版Redis 6的计划也包括线程I / O,但KeyDB现在可用。

M3DB

M3DB是Uber内部工程团队的产品,是一个分布式时间序列数据库,用于Uber指标平台(本质上是Prometheus的数据存储)。 M3DB借鉴了Apache Cassandra和Facebook项目“ Gorilla ”的构想,可以实现任意时间精度,无序插入以及可配置的复制和读取一致性级别。 但是, 创建者注意到 M3DB可能不适合所有时间序列数据库用例。 例如,M3DB不能在给定的时间范围内(默认时间是两个小时)无序插入数据,并且它主要针对存储和检索64位浮点数而不是其他类型的数据进行了优化。

RediSQL

该名称意味着Redis内存键值存储和SQL查询功能的融合,而这正是RediSQL本质 -特别是嵌入SQLite数据库的Redis模块。 数据透明地存储在Redis中,因此Redis处理持久性和内存中处理。 每个数据库都与一个Redis密钥相关联,因此您可以在单个Redis实例上拥有多个SQL数据库。 对这些数据库的查询是通过标准Redis API传递的标准SQL。 您还可以在RediSQL中创建和预编译语句(本质上是存储过程)以加快查询执行速度。 商业版和开源版均可用。

RQLite

SQLite有点奇迹:闪电般的速度和超可靠的可嵌入式开源数据库。 每当您在单用户应用程序中需要数据库时,SQLite都是一个不错的默认选择,但是SQLite实例仅限于一个节点。

RQLite建立在SQLite之上,以创建分布式数据库系统。 设置多个节点很容易,并且使用Raft共识算法在这些节点之间自动复制数据。 RQLite还提供节点之间的加密以及发现服务,该服务使自动添加节点变得容易。 但是RQLite也有一些缺点:写速度比SQLite慢,并且只有确定性SQL函数 (即保证在每个节点上产生相同结果的函数)才可以安全使用。

[ 通过InfoWorld Daily新闻通讯了解软件开发,云计算,数据分析和机器学习方面的最新发展 ]

UmbraDB

如今,大多数高端数据库都具有某种内存中功能,即使它涉及诸如表固定(例如SQL Server )之类的功能。 UmbraDB是一个分析数据库,可以替代PostgreSQL进行运行,旨在尽可能使用内存中处理。 如果无法做到这一点,它将使用一种新颖的可变大小页面机制从存储中分页数据。 长时间运行的查询针对LLVM执行进行了优化。

翻译自: https://www.infoworld.com/article/3533410/9-offbeat-databases-worth-a-look.html

另类数据

你可能感兴趣的:(另类数据_9个另类的数据库值得一看)