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 彭立勋( )
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.
十一 ASP对数据库的访问.
MySQL数据库服务介绍 2013 年 6 月.
第2讲 Transact-SQL语言.
OceanBase 0.4:从API到SQL 日照
資料庫系統 曾俊雄.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
MySQL資料庫安全管理.
第4讲 MySQL服务器的配置与应用.
文科计算机小公共课规划教材 Access 程序设计.
11.3 国产大数据库技术 阿里巴巴OceanBase 云创存储数据立方(DataCube)
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
电子商务师 第二部分 电子商务的技术基础—计算机.
MySQL主从同步
计算机应用基础 上海大学计算中心.
转正述职报告 乐恩公司 史航
資料庫管理 資管二 賴柏融.
数据库应用与程序设计.
JAVA 程式設計與資料結構 第十一章 JDBC.
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2013 Fall.
第六章 學習SQL語言.
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
第十一章 資料庫設計與權限設定.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
Chap 10 SQL定義、操作與控制指令.
第 7 章 建立資料表與 資料庫圖表.
数据库实验指导(一)
課程名稱:資料庫系統 授課老師:李春雄 博士
SQL Server 2000 数据库入门.
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2015 Fall.
第三章:包   包(package)是一个可以将相关对象存储在一起的PL/SQL结构。包包含了两个分离的部件------包说明(specification)和包主体(body)。每个部件都单独被存储在数据字典中。包只能存储在数据库中,不能是本地的。除了可以将相关对象作为一组存在一起以外,包也是十分有用的,因为它们在依赖性方面的限制是比较小的。也有许多性能上的优点。
Spring & mongodb java实战mongodb 曹巍 2013年9月22日.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
医院职工公费医疗系统.
資料庫管理 HOMEWORK #4 楊立偉教授 台灣大學工管系 2014 Fall.
案例—某网上书店系统设计.
实验二讲评 … 张榆….
数据库应用技术 SQL Server 2005.
第 10 章 数据库编程.
第20章 MySQL数据库.
ORACLE 第九讲 触发器.
MySQL开发规范 DB组-张浩.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
第一章 数 据 库 概 述 第一节 引言 第二节 数据库基本概念 第三节 数据库系统结构 第四节 数据模型 第五节 数据库管理系统
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 查看现在的数据库中存在什么表.
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
SQL查询语句 蔡海洋.
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

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

日程 系统架构 SQL介绍 后续规划

关系数据库的背后 数据总量很大,但每天更新量相对较小 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 修改增量 配置管理 应用接口

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

为什么选择SQL OB 0.3(API) OB 0.4(SQL) 30+应用,300多台服务器 单表超过1000亿条,最大集群主备各40台机器 胖客户端:线上客户端版本管理? OB 0.4(SQL) 瘦客户端:标准协议 方便使用,运维工具齐全

Mysql协议支持 Client通过Listener获取MS地址 Client通过普通MS读写数据 Client与MS(包括Listener)走Mysql协议 获取MS列表 Client Listener MergeServer 读写数据 MergeServer MergeServer MergeServer

Mysql客户端连接OB Mysql客户端连接任意一台MS

Java客户端 JDBC Spring配置 <bean id = “groupDataSource” class = “com.alipay.oceanbase.ObGroupDataSource” init-method = “init”> <property name=”username” value=”user” /> <property name=”passwd” value=”pass” /> <property name=”dbName” value=”test” /> <property name=”configURL” value=ob_addr_url /> </bean>

支持的SQL功能 标准SQL语法 DDL语句:create/drop/alter table DML语句:insert/delete/update/select Insert/delete/update目前仅支持单行 单表select Join操作:等值Join 事务 start transaction/commit/rollback; select…for update “Golden Bug”:replace语句 避免SQL解析:prepare / execute

单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 等待OB团队性能优化。。。

自动化测试 功能、容灾框架 持续压测环境 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;

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

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

不足 SQL功能不足 运维功能不足 应用维护二级索引 不支持复杂Join 不支持Decimal,Sequence 不支持性能视图 缺乏运维工具 DBA不熟悉

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

后续规划 SQL功能 复杂查询 二级索引 OLAP:大表join,… 运维功能:性能视图,… 每日合并优化 多UpdateServer …

Q&A