云原生数据库 PieCloudDB eMPP架构设计与实现## 第十三届中国数据库技术大会 DATABASE TECHNOLOGY CONFERENCE CHINA 2022 ## 数据智能 价值创新   ## 云原生数据库 PieCloudDB eMPP 架构设计与实现 郭罡 拓数派CTO ## 关于拓数派(OpenPie) • 成立于2021年,以 “Data Computing for New Discoveries” 「数据计算,只为新发现」为使命。 • 现Pre-A轮融资,已完成数亿元融资。 - 核心团队来自于各大厂名校,有丰富的数据库(Greenplum,DB2, 化(芯片KVM支持实现)和云计算架构、高速网络开发(内核和应用层如DPDK) • 分布式系统(SQL/NoSQL/存储) • 最近 7+ 年一直从事开源分布式数据库开发 ## 元CloudDB 一个eMPP 云原生分布式SQL数据库 一个云原生实时大数据平台基座 愿景:安全可靠 使用简单 功能齐全 性能极致 ## 传统分布式MPP架构痛点 缺乏弹性 业务使用不灵活 成本高昂 集群固定,资源利用率低0 码力 | 31 页 | 1.43 MB | 1 年前3
大模型时代下向量数据库的设计与应用## GIAC ## 大模型时代下向量数据库的设计与应用 msup $ ^{®} $ | ARCHNOTES 架構 ## 个人简介  邱培峰 拓数派向量数据库负责人 目前在拓数派负责向量数据库PieCloudVector产品,聚焦 于大模型与大数据领域。拥有多年数据库内核研发和配套解决方案架构经验,在加入拓数派前曾就职于开源大数据平台Greenplum团队,担任外部数据源访问框架,对象存储访问扩展,ETL工具等产品模块的研发,并曾参与PostgreSQL多个版本的代码贡献,拥有丰富的存储模块核心开发和性能优化等实践经验。 ## 拓数派:大模型数据计算系统先行者 - 拓数派(OpenPie)是立足于国内的基础数据计算领域高科技创新机构; 技创新机构; 拥有强大的数据库内核研发团队、数据科学团队和数字化转型团队; - 国内虚拟数仓和eMPP技术提出者,不断在数据计算引擎方向进行创新,全面拥抱AI技术趋势。 # 虚拟数仓 拓数派/数仓虚拟化 PieCloudDB产品技术 数企虚拟化由拓数派(杭州拓数派科技发展有限公司,又称“OpenPie”)于2023年3月正式提出。 数仓虚拟化 $ ^{[1]} $ 可将物理数仓整合到云原生数据计算平台0 码力 | 28 页 | 1.69 MB | 1 年前3
Curve设计要点新一代分布式存储系统 Curve 小翠 网易数帆存储团队 ## 概述 ## Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 - 当前实现了高性能块存储,对接OpenStack和K8s 网易内部线上无故障稳定运行一年多,线上异常演练 • 已开源 github主页:https://opencurve.github 02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ## 背景 • 多个存储软件:SDFS、NEFS、NBS • 已有的开源软件:Ceph • 不能胜任性能、延迟敏感的场景 • 异常场景抖动较大(比如慢盘场景) 去中心节点设计在集群不均衡的情况下需要人工运维 去中心节点设计在集群不均衡的情况下需要人工运维 • 基于通用分布式存储构建上层存储服务 01 背景 为何从0到1开发Curve 02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ## 基本架构 ## • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度0 码力 | 35 页 | 2.03 MB | 1 年前3
Node 的设计错误## Node 的设计错误 Ryan Dahl JS Conf 柏林 2018.06 ## 背景: 1. 基于最初的开发,我创建了并管理 Node。 2. 我的主要关注目标是事件驱动的 HTTP server。 3. 这一主要目标对当时服务器端的 JavaScript 起着关键作用。即使在当时这一点不那么明显,但是服务器端 JS 的成功需要事件循环的助力。 ## 背景: 2012 年我离开 但我错了...因为还有许多问题仍待解决..... ## 使得 Node 保持增长的几项关键工作 1. NPM(Isaac 开发)将核心 Node 库解耦并允许生态系统的分布。 2. N-API 是设计精美的绑定API。 3. Ben Noordhuis 和 Bert Belder 构建了 libuv。 4. Mikeal Rogers 组织了管理活动和社区。 5. Fedor Indutny 这允许用户运行不可信的实用程序(例如就像一个 linter) - 不允许任意本地函数绑定到V8中 所有的系统调用都是通过消息传递完成的(原BoFF序列化) 有两个本地函数: send 和 rev。 这既简化了设计,又使系统更易于审核。 Deno Process (Privileged) V8 VM (Unprivileged) Timers File System Timers Network Dispatcher0 码力 | 28 页 | 767.84 KB | 2 年前3
CurveFS方案设计CurveFS方案设计(总体设计,只实现了部分) |时间|修订人|修订内容| |---|---|---| |2021-03-23|李小翠|初稿(背景,调研,架构设计)| |2021-03-30|李小翠|增加快照部分| |2021-04-13|李小翠、陈威|补充元数据数据结构| |2021-04-19|李小翠、吴汉卿、许超杰等|补充文件空间分配,讨论与确认| 背景 • 调研 • 开源fs • 对比结论 • 架构设计 卷和文件系统 元数据架构 文件系统快照 • 方案一:文件/目录级别快照 • 方案二:文件系统快照 • 关键点 - 元数据设计 - 数据结构 - 索引设计 - 文件空间管理 - 开发计划及安排 ## 背景 为更好的支持云原生的场景,Curve需要支持高性能通用文件系统,其中高性能主要是适配云原生数据库的场景。当前Curv e是实现了块存储,向上提供块设备服务,CurveFS会基于此实现。第一阶段的目标是实现满足数据库场景的文件接口。 调研 开源fs 当前对已有的开源分布式文件系统进行了调研,主要包括系统架构,元数据内存结构,元数据持久化,调研文档如下: chubaofs: ChubaoFS moosefs: https://kms.netease.com/team/km_curve/article/277860 码力 | 14 页 | 619.32 KB | 1 年前3
CurveFS Client 概要设计CurveFS Client 概要设计(已实现) 背景 - 概述 - 关键接口分析 - init - destroy - lookup - write - read • open • create & mknod • mkdir • forget • unlink • rmdir • opendir • readdir - 其他 功能分析 · 模块划分 · 接口设计 · Cache设计 |时间|作者|内容| |---|---|---| |2021-04-27|许超杰|初稿| |||| |||| |||| ## 背景 CurveFS初步设计见 CurveFS方案设计(总体设计,只实现了部分),目前需细化Client端设计 ## 概述 CurveFS client 向上提供两层接口,分别是 向上提供两层接口,分别是 对接fuse,提供通用文件系统接口。对于fuse接口,先前进行了一些调研,见FUSE调研 提供lib库,提供对接分布式数据库接口,这一部分,可参考polarfs的接口,如下图所示。 int pfs_mount(const char *volname, int host_id) int pfs_umount(const char *volname) int pfs_mount_growfs(const0 码力 | 11 页 | 487.92 KB | 1 年前3
Greenplum开源MPP数据库介绍archived data. Supported formats include CSV, Binary, Avro, Parquet, etc. ## Greenplum生态:Madlib ➢ 在数据库内做机器学习 ➢ 非常多的算法库 Supervised Learning Neural Networks Support Vector Machines (SVM) Conditional0 码力 | 23 页 | 4.55 MB | 2 年前3
使用JDBC连接数据库## ☐ ## 使用JDBC连接数据库 北京理工大学计算机学院金旭亮 ## Java数据库应用程序全局视图 Java应用程序 JDBC数据库驱动(*.jar) JDBC规定了一整套访问数据库的标准API,所有数据库都需要实现它,因此,使用JDBC访问数据库的Java应用程序,是很容易切换底层数据库的。 ## JDBC核心类型一览表 |核心类型 (java.sql)|说明| |---|---| |Connection|与数据库建立连接| |Statement|在一个给定的连接中执行SQL语句| |PreparedStatement|用于执行预编译的SQL命令| |CallableStatement|用于调用数据库中存储过程| |ResultSet|保存SQL命令的执行结果| 上述组件是独立于底层数据库的,也就是说,只要连接上了数据库,相同的代码,就可以顺利工作..... ## JDBC访问数据库的基本步骤 JDBC访问数据库的基本步骤 加载JDBC驱动程序 创建数据库连接 执行SQL语句 接收并处理SQL的返回结果 关闭创建的各个对象 对于有可视化界面的应用程序,或者是Server端应用程序,应该在独立的线程中完成这些步骤。 出于精简学习负担的目的,我们将以SQLite为例介绍JDBC的基本使用,在此基础之上,后面选择微软的SQL Server来介绍JDBC的高级特性……  张颖峰 英飞流(上海)信息科技有限公司创始人  RAG技术实践 01 Infinity系统架构 02 ## 第一部分 RAG技术实践 ## 基于向量数据库的RAG解决方案 文档 文本块 LLM  提示词 ## LLM对企业信息架构的改变  网站  数据库  文档  郭强 成都医联科技 架构师  jpg) 框架介绍 01 模块化设计 02 统一框架设计 03 代码分层设计 04 对象封装设计 05 DAO封装设计 06 未来发展规划 07 ## 第一部分 ## 框架介绍 • 框架介绍 • 框架架构 • 项目初心 ## 框架介绍 












