serverless 入门与实践 | 学习笔记7: 说说关系型数据库与Serverless

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: serverless 入门与实践 | 学习笔记7: 说说关系型数据库与Serverless

serverless.jpeg

本文是 serverless 入门与实践 的第7篇, 是学习笔记的第7



说说关系型数据库与Serverless

近秋

阿里云开发者

https://developer.aliyun.com/article/982077


关于serverless

  • Serverless相关的产品: 数据库领域的Aurora Serverless、RedShift Serverless、Azure SQL Database等
  • 学术界对Serverless的研究热度也不亚于工业界对商业化方案的追求: 从 why -> how


伯克利: 预测了云计算2.0的形态Serverless作为下一代基础设施

  • 资源的解耦和服务化
  • 自动弹性伸缩
  • 按使用量计费


Serverless关键技术路径包括:

  1. 统一的标准运行环境支持多语言的运行时统一管理
  2. 轻量级/蝇量级安全容器(安全和隔离的重要性)
  3. 冷热容器池设计做极致的多租户复用能力
  4. 高效的函数调度能力


数据库的Serverless

  • 数据库: State-heavy -> State-heavy applications will remain as BaaS


数据库做Serverless有若干难点,总结如下:

  1. Serverless没有内置的持久化存储,需要依赖远端存储,这就会导致在延时上较高;
  2. 客户端是基于连接的方式访问数据库,在客户端往往会维护连接池的方式供应用访问,而函数计算往往具备飘忽不定的网络地址,与数据库传统的IP+User+password鉴权的方式迥异;
  3. 很多高性能的数据库使用共享内存技术,而FAAS本身不具备共享内存的能力,会使得计算和数据库之前的资源动态扩展能力不一致


针对第2点, 还需要注意: 连接建立 连接保持 鉴权信息多租户下的安全问题


他山之石

2018 Aurora Serverless V1:

  1. 以ACU的方式去统一底层的资源,不再对上层暴露底层具体的机型和代数: 1ACU = 2GiB的RAM
  2. 支持自动启停,在无负载的情况下支持将计算节点降低至“0”
  3. 数据库弹性过程中内核相关buffer pool等参数随着资源配合的变化而发生变化
  4. 2019年推出Data API功能,补全了数据库作为BAAS接入FAAS的能力


2020 Aurora Serverless V2:

  1. 将V1中弹性能力继续提升至秒级
  2. 去除了V1中关于自动启停的能力,用户可以手动启停实例
  3. 将弹性缩容的策略做得更加保守,以保证业务压力情况下对业务的影响尽可能小


在开源托管产品上要做到Serverless的能力,要比在云原生自研产品上的难度大很多


未来可期

云的本质是资源的池化


对Aurora Severless未来的发展方向做一些大胆的预测:

  1. 智能化加持: 让“响应式”扩容升级为“响应式兜底,智能化加持”的双引擎驱动
  2. 资源解耦和极致的弹性
  3. 更多的Serverless手段
  4. 自动的横向扩展能力
  5. 低成本硬件大规模使用
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
11天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
35 4
SpringBoot入门(4) - 添加内存数据库H2
|
14天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
26 2
SpringBoot入门(4) - 添加内存数据库H2
|
6天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
41 13
|
12天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
13天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
14天前
|
存储 人工智能 Java
Neo4j从入门到精通:打造高效知识图谱数据库 | AI应用开发
在大数据和人工智能时代,知识图谱作为一种高效的数据表示和查询方式,逐渐受到广泛关注。本文从入门到精通,详细介绍知识图谱及其存储工具Neo4j,涵盖知识图谱的介绍、Neo4j的特点、安装步骤、使用方法(创建、查询)及Cypher查询语言的详细讲解。通过本文,读者将全面了解如何利用Neo4j处理复杂关系数据。【10月更文挑战第14天】
58 6
|
15天前
|
SQL Java 数据库
Spring Boot与Flyway:数据库版本控制的自动化实践
【10月更文挑战第19天】 在软件开发中,数据库的版本控制是一个至关重要的环节,它确保了数据库结构的一致性和项目的顺利迭代。Spring Boot结合Flyway提供了一种自动化的数据库版本控制解决方案,极大地简化了数据库迁移管理。本文将详细介绍如何使用Spring Boot和Flyway实现数据库版本的自动化控制。
16 2
|
29天前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
48 11
|
28天前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
29天前
|
Rust 前端开发 关系型数据库
Tauri 开发实践 — Tauri 集成本地数据库
本文介绍了在 Tauri 框架中集成本地数据库的几种方案,包括直接绑定 SQLite、使用第三方数据库库和使用 tauri-plugin-sql-api 插件。最终选择了 tauri-plugin-sql-api,因为它集成简单、支持多种数据库类型,并且与 Tauri 框架深度整合,提升了开发效率和安全性。文章详细介绍了如何安装和使用该插件,以及如何编写核心代码实现数据库操作。
126 2

热门文章

最新文章

相关产品

  • 函数计算