欢迎来到新的数据库时代

原文

云数据库的出现,正在悄无声息的,深刻的推动了这一趋势的到来:一些服务,如亚马逊的 S3、谷歌的 BigQuery、Snowflake、Databricks,尽管已经能够很轻松的存储不同数据源的不同数据类型,大量数据计算的问题似乎已经得到了解决,但还有一些企业,希望它们能够存储更多更全面的信息,从而获得更好的用户体验和商业收入。

现在是创建一家数据库公司最好的时机。

数据库公司在过去 10 年中,已经筹集了超过 87 亿美元,其中近一半的资金,即 41 亿美元,是在过去 24 个月内筹集的,相比于 2019 年的 8.49 亿美元,增加了很多(根据私募股权基金统计)。 根据 Snowflake 和 Databricks 的天价估值,和 2021 年 160 亿美元的收入,这并不奇怪,这缘于市场的增长。这个市场在过去四年里翻了一番,达到近 900 亿美元,预计在未来四年里将再次翻番。可以说,这是一个绝佳的机会。

下图是 2021 年数据库融资的清单。

20年前,你只有一个选择,那就是关系型数据库。

今天,随着云、微服务、分布式应用、全球规模、实时数据、深度学习的出现,新的数据库架构出现了,这是为了满足处理超算的性能要求。不同的系统用于快速读取,和快速写入。专门用于支持临时分析的系统,或用于非结构化、半结构化、事务性、关系性、图形或时间序列的数据。当然,也有用于缓存、搜索、基于索引、事件的数据。

每个人都有不同的性能需求,包括高可用性、横向扩展、分布式一致性、故障转移保护、分区容忍、无服务器和完全管理。

因此,企业平均需要用七个或更多不同的数据库中存储数据(比如 Snowflake 作为你的数据仓库,Clickhouse 用于临时分析,Timescale 用于时间序列数据,Elastic 用于搜索数据,S3 用于日志,Postgres 用于交易,Redis 用于缓存或应用数据,Cassandra 用于复杂工作负载,Dgraph 用于关系数据或动态模式)。这一切的前提,是假设你的服务部署在云中,并且你已经从头开始建立了一个现代数据堆栈。

与 5-10 年前相比,这些服务和平台的性能和稳定性是无可比拟的。同时,数据库层的可扩展性和碎片化也逐渐开始带来新的挑战。例如,在不同的模式和系统之间进行同步,编写新的 ETL 作业来衔接多个数据库的工作负载,持续的交叉通信和连接问题,在这么多不同的系统中管理动态扩展集群的开销,或者在新集群或系统上线时进行数据传输。每一个都有不同的扩展、分支、传播、分片和资源要求。

更重要的是,每月都有新的数据库出现,用于解决企业大规模生产中的下一个挑战。

新时代的数据库

因此,现在的问题,未来的数据库,真的需要像今天一样,被反复重新定义吗?

我认为,不应该是这样的。

与此同时,我希望下一代数据库的外观与上一代有很大不同。它们应该具有以下能力。

  • 最重要的计算、查询和基础设施,可以位于商品存储层之上。
  • 不需要对基础数据进行迁移或重组。
  • 不需要重新编写或解析查询。
  • 在多个存储引擎之上工作,无论是列式、非关系式还是图式。
  • 将配置、可用性和规模的复杂性转移到代码中。
  • 允许应用程序调用一个单一的接口,无论底层数据基础设施如何。
  • 作为无服务器或管理服务,开箱即用。
  • 在单人和多人模式下,为开发者优先的体验而构建。
  • 为现有(蓝海)和新(绿地)项目提供第 0 天的价值。

许多由来已久的问题正在推动这个未来的数据库:

  1. 没有人愿意将数据迁移到一个新的数据库。每一个新的数据库引入到一个组织中,其成本是你已经拥有的数据库数量的 N² 问题。迁移到一个新的架构、模式、配置,以及需要重新优化的再平衡、查询规划、扩展、资源需求等等,往往是 [价值/(时间+成本)]接近零的问题。这可能是一个惊喜,但今天仍有数十亿美元的 Oracle 实例仍在为关键的应用程序提供动力,而且它们很可能不会消失。
  2. 大部分的杀手锏不会出现在存储层。计算和存储的分离,已经极大的提高了性能,现在,它允许使用超级便宜的原始存储,和精细调整的、可弹性扩展的计算/查询/infra 层。存储层可以成为数据基础设施的中心,并以各种不同的方式被多种工具利用,以解决路由、解析、可用性、规模、翻译等问题。
  3. 数据库正在慢慢地分拆成高度专业化的服务,摆脱过去那种过于复杂的、被锁定的方法。没有一个数据库可以完全解决交易和分析用例;具有快速读写、高可用性和一致性;同时解决边缘的缓存问题,并根据需要进行水平扩展。但是,在存储引擎的基础上将其分解成一系列的层,可以引入一系列新的服务,以提供新的性能和保障水平。例如,可以根据用户、查询和数据意识优化缓存的动态缓存服务;根据数据分布查询需求和数据变化率管理分片;通过连接池和资源管理实现高可用性和水平扩展的代理层;解决模式间异步和同步传播的数据管理框架;或者 GraphQL 和关系型数据库之间的翻译层。这些多维度的问题可以作为程序化的解决方案,在代码中构建,与数据库本身解耦,并且性能明显更好。
  4. 目前为止,人们一直在规模和简单性之间权衡。Postgres、MySQL 和 Cassandra 都非常强大,但很难搞好。Firebase 和 Heroku 超级容易使用,但不能扩展。这些数据库技术拥有庞大的安装基础和强大的引擎,并经受住了 Facebook 和 Netflix 级别规模的时间考验。但是根据你的需求,调整它们往往需要一个博士和一个数据库专家团队,就像 Facebook、Netflix、Uber、Airbnb 的团队一样。对于我们其他人,就会在一致性和隔离性、分片、锁定、时钟偏差、查询规划、安全、网络等方面挣扎。像 Supabase 和 Hydras 这样的公司可以用标准的 Postgres 安装,在上面建立强大的计算和管理层次,既可以有 Postgres 的拓展性,也可以有 Firebase 或 Heroku 的简单性。
  5. 30 多年来,数据库索引模型一直没有改变。今天,我们仍然使用通用的、一刀切的索引,如 B 树和哈希表,而对于数据,却像黑箱一样摸不透。稍微具备一些数据意识,例如利用累积分布函数(CDF),正如我们在 Learned Indexes 中看到的那样,可以导致更小的索引,更快的查找,增加并行性,并减少 CPU 的使用。我们甚至还没有开始展示下一代的索引,这些索引已经适应了我们数据的形状和变化。
  6. 几乎没有机器学习被用来提高数据库性能。相反,今天我们定义静态规则集和配置,以优化查询性能、成本建模和工作量预测。这些组合的、多维的问题集对人类来说太复杂了,无法配置,是完美的机器学习问题。磁盘、内存和 CPU 等资源被很好地描述,查询历史被很好地理解,数据分布也可以被定义。我们可以看到查询性能、成本和资源利用率提高了 10 倍,而且再也看不到嵌套循环连接。
  7. 数据平台和工程团队不希望成为DBA、DevOps或SRE。他们希望他们的系统和服务能够开箱即用,而不必考虑资源、连接池、缓存逻辑、吸尘、查询规划、更新索引等问题。今天的团队希望有一套强大的端点,易于部署,并能正常工作。
  8. 对操作实时数据的需求正在推动对混合系统的需求。交易系统可以快速地将新的记录写入一个表,并具有很高的准确性、速度和可靠性。一个分析系统可以在一组表和数据中快速搜索,以找到答案。随着流式数据和分析系统对更快响应的需求,HTAP(混合交易/分析处理)系统的想法正在出现——特别是对于那些具有高度操作性的用例——意味着非常高水平的新写入/记录和更灵敏的遥测或分析业务指标。这引入了一种新的架构模式,即交易和分析数据和系统开始相互接近,并不统一。

一类新的数据库

一类新的云数据库公司正在出现,有效地将传统的数据库单体堆栈解构为核心分层服务;存储、计算、优化、查询规划、索引、功能等等。像 ReadySet、Hasura、Xata、Ottertune、Apollo、Polyscale 和其他公司就是这一运动的例子,并迅速成为新的开发者标准。

这些新的非捆绑式数据库专注于解决缓存、索引、规模和可用性等硬问题,并开始消除性能和稳定性之间的分歧。更快速的数据库,永远稳定的,能够处理大规模数据,并具有数据意识,模糊了传统的操作和分析系统之间的分界线。未来看起来一片光明。

最后

我的个人主页 里也同步进行了更新,欢迎来逛逛。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容