高品质的音视频能力是怎样的? | Qcon 全球软件开发大会·上海站邀请函 了解详情
写点什么

FaunaDB:一款由前 Twitter 技术负责人创建的新的分布式数据库

  • 2017-04-18
  • 本文字数:1181 字

    阅读完需:约 4 分钟

前 Twitter 技术负责人和 Couchbase 一起创建了一款新的通用时态数据库 FaunaDB。

前 Twitter 基础设施架构师兼负责人 Evan Weaver、前 Twitter 数据库团队技术负责人 Matt Freels 及 Couchbase 联合创始人 Chris Anderson 合力创建了新的“自适应操作型数据库”,当他们还在 Twitter 工作的时候就希望有这样的数据库。其结果就是 FaunaDB ,这是一个承诺可以线性扩展的、面向对象的关系型分布式数据库。

FaunaDB 是一个 CP 系统,旨在提供一致性和分区容错性。它可以跨多个数据中心运行,即使其中有少数出现故障,服务也不会中断。它可以横向和纵向扩展,它可以运行在单台笔记本 、单台服务器、本地或云上的多台务器上,包括虚拟化或容器化场景。

Datomic 类似,FaunaDB 保留数据的所有实例,当执行写入时,不会覆写,而是创建新实例。这在审计数据及核实数据随时间的变化时尤其有用。

从数据建模角度来看,FaunaDB 试图给每个人他们想要的一切:关系型——非 SQL,但支持连接、外键、索引、文档、图形、面向对象。为了进一步了解这个新数据库,我们向 Weaver 提出了几个问题。

InfoQ:你们是如何界定 FaunaDB 的?

Evan Weaver:FaunaDB 是一个事务型的、时态型的、地理分布的、强一致性的、安全的、多租户的、QoS 托管的操作型数据库。为了可移植,它基于 JVM 实现,它是关系型的,但非 SQL。作为替代,它通过类型安全的嵌入式 DSL(如 LINQ)进行查询。FaunaDB 回归了通用数据库模型,但是面向云的,而不是 80 年代的大型机。

InfoQ:FaunaDB 与其他的数据库服务,如 Amazon DynamoDB 或 Google Firebase,有什么不同?

Weaver:DynamoDB 和 Firebase 都不是通用数据库。DynamoDB 是一个键 / 值数据库,带一些扩展,而 Firebase 是一个层次数据库——一个我自 MUMPS 以来就没见过的模型。它们都不是地域重复的,它们都会永远地将你绑定到单个云提供商,没有提供本地或多云选项。

InfoQ:据我了解,FaunaDB 可以跨数据中心复制。这是一个实时备份过程,还是说,用户可以同时访问托管在不同数据中心里的实例,然后为了减少延迟而选择一个离他们更近的?

Weaver:是后者。用户会被自动地路由到最近的数据中心,但他们的数据在任何地方都是实时可用的。目前,我们的云涵盖了 AWS 和谷歌云平台。到今年年底,出于数据主权的考虑,你将可以选择数据实际存储的区域。

FaunaDB 既可以在本地运行,也可以在云上运行。它还作为一个无需运维的服务提供,目前运行在 AWS 和 GCP 上,很快就有望在 Azure 上提供。

FaunaDB 使用 Scala 和 Java 编写,可以在多种操作系统上的 JVM 上运行,包括 Linux、Windows 和 OS X。该数据库为若干语言提供了驱动程序,包括 Scala、Java、Java/Android、JavaScript、C#、Python、Ruby、Go 和 Swift,不过,也可以直接使用 HTTP API 访问它。

查看英文原文 FaunaDB: A New Distributed Database from the Team That Scaled Twitter

2017-04-18 19:007179
用户头像

发布了 1008 篇内容, 共 346.9 次阅读, 收获喜欢 330 次。

关注

评论

发布
暂无评论
发现更多内容

给弟弟的信第15封|情绪控制的重要性

大菠萝

28天写作

东汉末年,他们把「服务雪崩」玩到了极致

悟空聊架构

熔断 28天写作 服务雪崩 悟空聊架构 12月日更

跟着动画学Go数据结构之插入排序

宇宙之一粟

golang 数据结构 插入排序 12月日更

简述移动端IM开发的那些坑:架构设计、通信协议和客户端

WorkPlus Lite

未来企业如何应对人才之争

WorkPlus Lite

万字教你如何用 Python 实现线性规划

华为云开发者联盟

Python 函数 线性规划 求解器 单纯形法

“十四五”规划,开源重塑软件发展新生态,获国家重点扶持

腾源会

开源

Java Web开发之API Boy的进阶之路

@零度

Java web API boy

AI 收藏夹 Vol.004:虚拟爱豆出道!

Zilliz

人工智能 神经网络 AI

前端开发之Vue框架的优势

@零度

前端开发 Vue优势

Nebula Graph 源码解读系列 | Vol.06 MATCH 中变长 Pattern 的实现

NebulaGraph

图数据库 知识图谱 分布式图数据库

WAVE SUMMIT+2021深度学习开发者峰会举办,开源共建助力飞桨生态发展

科技热闻

解决rabbitmq消息队列的顺序及重复消费问题

编程江湖

大数据

5G专网+区块链:构筑智慧政务“安全信任基石”

CECBC

PingCAP 入选 CB Insights 中国「数据链路安全领航者」榜单,保障全球用户存储安全

PingCAP

【漫画】数据云,真香在哪?

星环科技

大数据

Java 集合框架面试问题集锦

编程江湖

面试题 JAVA开发 java编程

资讯|WebRTC M95 更新

网易云信

WebRTC

重磅|腾讯云开源业界首个 etcd 一站式治理平台 Kstone

腾源会

开源 cncf Kstone

今夜无眠

Tiger

28天写作

超细!细说Zookeeper选举的一个案例(上)

恒生LIGHT云社区

golang zookeeper Go 语言

中石化信息化数字化首席专家李剑峰:数字化转型中关键基础软件的国产化应用

OceanBase 数据库

开源 国产化 oceanbase 中石化

元气部落盲盒系统开发元气部落app开发

风行无疆

手写清除console的loader

编程江湖

前端开发

从前端到全栈 -- 最全面向对象总结

程序员海军

Java 面向对象

神器来袭,手把手教你使用 Milvus_cli

Zilliz

数据库 命令行

Linux 基金会发布 2021 年度报告,预测今年收入为 1.77 亿美元

腾源会

Linux 开源

FaunaDB:一款由前Twitter技术负责人创建的新的分布式数据库_数据库_Abel Avram_InfoQ精选文章