OceanBase 0.4:从API到SQL 日照 rizhao.ych@alipay.com.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

第十章 Java 数据库编程. 内容提要 数据库有关概念; 介绍 JDBC 的结构; 重点介绍 JDBC 访问几种数据库的基本过程;
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
MySQL 基础技能与原理 —— 基础技能 MySQL DBA Team 彭立勋( )
2011/11,12 南台資管 吳昭儀. 1. 使用者介面 (User Interface)  使用者操作畫面的安排  Textbox, ComboBox, ListBox, CheckList, … 2. 流程控制 (Process Control)  使用者輸入資料檢查  計算  資料輸出.
PHP 训练营 - MySQL OA 产品部 李鑫辉 2011 年 9 月. 内容提要 & 目录 1. 介绍 (10 分钟 ) 1.1. 简介 1.2. 特点 1.3. 安装 2. 语法 (60 分钟 ) 2.1. 存储引擎 MyISAM InnoDB 特点与区别.
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
103 年新北市環保知識擂台賽培育計畫 新北市政府環境保護局 大 綱 計畫緣起 計畫期程及內容 計畫分工及配合事項 討論 Q&A 2.
中醫養生與保健 港泰中醫診所 院長 蘇俊聲 廣州中醫藥大學博士 國立成功大學碩士 健保局高屏區前中保會委員.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
SQL的简单查询.
双十一数据库核心技术 淘宝网 李圣陶(刘昆).
資料庫系統 曾俊雄.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
MySQL資料庫安全管理.
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
第4讲 MySQL服务器的配置与应用.
11.3 国产大数据库技术 阿里巴巴OceanBase 云创存储数据立方(DataCube)
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
資料庫管理 資管二 賴柏融.
商品学 高学芹.
JAVA 程式設計與資料結構 第十一章 JDBC.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2013 Fall.
第六章 學習SQL語言.
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
第十一章 資料庫設計與權限設定.
課程名稱:資料庫系統 授課老師:李春雄 博士
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
面向高能所信息化系统的高可用数据库服务 王丽 计算中心 中科院高能所 第十八届全国科学计算与信息化会议.
第 7 章 建立資料表與 資料庫圖表.
Transact-SQL 語言設計教學.
SQL Server 2000 数据库入门.
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2015 Fall.
操作資料庫 教授:楊維邦 教授 助教:黃存賢 陳廷宣.
浅谈MySql索引及锁的应用 厦门大学数据库实验室 刘颖杰 2014年3月8日.
SQL SERVER 一些经典语句 1.
資料庫管理 HOMEWORK #4 楊立偉教授 台灣大學工管系 2014 Fall.
案例—某网上书店系统设计.
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
数据库技术.
第 10 章 数据库编程.
第20章 MySQL数据库.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
第1章 SQL Server 2005概述 教学提示:SQL Server 2005是微软的下一代数据管理和分析解决方案,它给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理,从而可以在很大程度上帮助企业根据数据做出更快、更好的决策,提高开发团队的生产力和灵活度,以及在减少总体IT预算的同时,能够扩展IT基础架构以更好地满足多种需求。
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
網際網路版人力資源管理系統 (WebHR)
第12章 MySQL資料庫系統的使用 12-1 網頁資料庫的基礎 12-2 MySQL資料庫系統
SQL查询语句 蔡海洋.
OceanBase 0.4:从API到SQL 日照
17 交易處理與鎖定 17-1 交易的基礎 17-2 交易處理 17-3 並行控制 17-4 資料鎖定 17-5 死結問題.
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
課程名稱:資料庫系統 授課老師:李春雄 博士
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

OceanBase 0.4:从API到SQL 日照 rizhao.ych@alipay.com

我们需要怎样的存储方案? 可扩展 持续可用 易用 SQL,ACID 高性能 大数据(>100TB) 增加/减少服务器 持续可用 易用 SQL,ACID 高性能 TPS ( > 100k ), QPS ( > 1M ) 低成本

数据库业务的背后 数据总量很大,但每天更新量相对较小 Alibaba 2012双十一交易笔数1.1亿笔,假设对于某个业务,1笔交易操作10次数据库: 写事务数:1.1亿 * 10 = 11亿 修改增量:11亿*100B = 110GB

设计理念 查询 修改 基线数据 修改增量 数据 + =

系统架构 OceanBase = GFS + MemSQL (in-mem db) SQL 基线数据 配置管理 Root Server MergeServer ChunkServer 基线数据 UpdateServer 配置管理 Root Server UpdateServer 修改增量 UpdateServer 应用接口 OceanBase = GFS + MemSQL (in-mem db)

读写事务 基线数据 修改增量 应用接口 配置管理 SQL Update Server Root Server MergeServer ChunkServer 基线数据 Root Server 修改增量 配置管理 应用接口

合并过程不影响读写服务 每日合并 基线数据 修改增量 数据 新的修改增量 + + =

持续可用: ChunkServer 2 基线数据 2 1 (ChunkServer) 6 5 4 4 2 7 7 5 3 1 3 8 1 7 6 5 4 4 2 7 7 5 3 1 3 8 1 7 5 4 6 3 8 6 8

持续可用: UpdateServer Root Server Update Server Update Server

持续可用: 多集群 SQL Root Server Root Server MergeServer ChunkServer UpdateServer UpdateServer Root Server Root Server UpdateServer UpdateServer UpdateServer UpdateServer

支持的SQL功能 Oceanbase = “超大的MySQL” 应用开发 SQL:DML(insert/delete/update/replace),DQL(单表查询,等值连接) 事务:read-committed,行锁 Prepared Statement,多版本并发控制(MVCC) 系统函数 应用开发 JDBC/ODBC Spring/iBatis PHP / Python

为什么选择SQL OB 0.3(API) OB 0.4(SQL) 30+应用,400多台服务器 单表超过1000亿条,最大集群80台 问题 客户端“补丁”多 客户端线上版本维护复杂 OB 0.4(SQL) SQL 92标准,适当兼容Oracle / MySQL 易用,运维工具齐全

MySQL协议兼容 Mysql客户端连接OceanBase

应用无缝升级 根据是否为写入集群以及读流量比例选择0.3或者0.4集群。 流量逐步切入0.4,支持异常回滚 If (选择的集群为0.3集群) { // 调用0.3的API接口 } else { / 将API请求转化为0.4版本的SQL调用; }

运维功能 系统表(内部表) 配置,Schema,内部状态,监控信息 性能视图 运维功能 一键安装 配置项:alter system / show parameters 用户权限:create/drop user; grant/revoke 表格:create/drop/alter table 管控中心

性能优化 网络框架 内存优化 主备复制 重头开发Libeasy(万兆网卡 > 1M 请求/秒) Lock-free内存B树 小请求执行过程不加锁 快速内存压缩/解压缩算法 主备复制 OceanBase异步复制技术 并发日志回放技术

单UPS写性能 某线上业务模拟场景 1. update c=c-1 if c > 0; 2. insert

读性能 单MS&CS:16 core CPU(超线程) 单UPS:30W+ QPS(千兆网卡,24核) 性能不够? 命中Cache:3.8W QPS / Machine 全部读SSD:1.5W QPS / Machine 单UPS:30W+ QPS(千兆网卡,24核) 性能不够? 增加ChunkServer UPS上万兆网卡,更多核的CPU

质量保证 接口、功能、容灾框架 压测、benchmark、线上模拟,。。。 connection conn1; create table t1(pk int primary key, c1 varchar); insert into t1 values(2,'2_abc'),(3,'3_abc'),(4,'4_abc'),(5,'5_abc'); update t1 set c1='9_UPDATE' where pk=9; select * from t1; let $a=deploy_get_value(ob1.get_master_ups); deploy ob1.stop_master_ups; sleep 30; let $b=deploy_get_value(ob1.get_master_ups); select * from t1;

不足 SQL 2次网络来回 UpdateServer性能、容量单点瓶颈 Root Server 每日合并过程中TPS/QPS & RT MergeServer ChunkServer 2次网络来回 UpdateServer UpdateServer性能、容量单点瓶颈 Root Server UpdateServer UpdateServer 每日合并过程中TPS/QPS & RT

里程碑 2013.Q4: SQL(v0.5) 2012.3: OLAP(v0.3) 2011.2: 2013.03:SQL(v0.4) 2010.6:项目启动 2011.2: 第一个应用 2011.10: 双集群 2012.3: OLAP(v0.3) 2013.03:SQL(v0.4)

后续规划 改进SQL功能 二级索引 Decimal,更多系统函数,… OLAP:大表join,… 运维功能:性能视图,… 每日合并优化 多UpdateServer …

Q&A