2023OceanBase数据库技术手册_第1页
2023OceanBase数据库技术手册_第2页
2023OceanBase数据库技术手册_第3页
2023OceanBase数据库技术手册_第4页
2023OceanBase数据库技术手册_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OceanBaseOceanBase数据 OceanBaseOceanBase|产品版本 |文档版本OceanBaseOceanBase该类警示信息可能会导致系统重大变更甚至故权重设置为0,该服务器不会再接受新请cddC:/windowWindows系baeloglist--ipconfig[-all|-switchOceanBaseOceanBaseOceanBaseOceanBaseOceanBase概 实时 深入了解OceanBase数据 SQL SQL层组 SQL数据类 SQL语 SQL引 SQL数据类 与MySQL兼容性对 SQL语 ODP最大连接数限 OceanBaseOceanBaseOceanBaseOceanBaseOceanBaseOceanBase数据库(OceanBaseDatabase)是一款完全自研的企业级原生分布式数据库,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,刷新TPC-C标准测试,单集群规模超过1500节点,具有云原生、强一致性、高度兼容Oracle/MySQL6(RPO=0,RTO<8s),数据零丢失。3PB,最大单表行数达万亿级。基于LSM-Tree的高压缩引擎,存储成本降低70%-90%;原生支持多租户架构,同集群可深入了解OceanBase数据库OceanBase系统架构\hOceanBase数据库系统概念OceanBaseOceanBaseOceanBaseTPC-C1500Oracle/MySQLOceanBase数据库社区版:兼容MySQL的单机分布式一体化数据库,具有原生分布式架OceanBase社区版数据库内核开源,与MySQL兼容,对接虚拟化和大数据技术及产品,SQLCJavaMySQL语法和协议兼容Oracle高级执行计划管理基于Paxos协议的日志分布式强一致事务、完ACID、支持多版本数据分区(Range社区版本不支持行级标签、数据和日志加密存运维组件(liboblog、导数工具(OBLoader社区版本支持OCP、OMS、ODC等商业配套图形化开发和管控工具二进制免费下载使用,OMA。技术咨询(社区版本仅提供社区化的产品技术咨询服务,issues式,不提供商业化专家服务获取(社区版本仅支持在OceanBase社区官方网站或官方社区提供在线服务咨询,不提供商业专家服务(规划、实施、巡检、故障恢复、社区版本不提供专家保7*24社区版本不提供故障应OceanBase使用通用服务器硬件,依赖本地存储,分布式部署使用的多个服务器也是对等的,没有特殊的硬件要求。OceanBase的分布式数据库处理采用SharedNothing架构,数SQLOceanBase在服务器上会运行叫做observer的单进程程序作为数据库的运行实例,使用本RedoOceanBase集群部署需要配置可用区(Zone),由若干个服务器组成。可用区是一个逻辑概OceanBase内置多租户特性,每个租户对于使用者是一个独立的数据库,一个租户能够在租CPUIOOceanBase的数据库实例内部由不同的组件相互协作,这些组件从底层向上由存储层、复制层、均衡层、事务层、SQL层、接入层组成。Tablet(分片),Tablet。Tablet的内部是分层存储的结构,总共有4层。DML操作插入、更新、删除等首先写入MemTable,等到MemTable达到一定大小时转储到磁盘成为L0SSTable。L0SSTable个MemTable、L0SSTableL1SSTableMajorSSTable。SSTable2MB定的日志流,DMLTabletRedoPrimaryZoneLocalityPaxosRedoRedoRedoTablet。当租户的属性发生变更,新增了机器资源,或者经过长时间使用后,Tablet原本聚集在某一些机器上,删除后这些机器上的Tablet数量就变少了,应该把其他机器的Tablet,临时日志流迁移到目的服务器后再和目的Tabletwrite-aheadlogaheadlog,事务层通过优化的两阶段提交协议来保证事务提交的原子性。write-aheadlog状态,协调者会再驱动所有日志流写下这个事务的Commit日志,表示事务最终的提交状态。当从副本回放或者数据库重启时,已经完成提交的事务都会通过Commit日志确定各自宕机重启场景下,宕机前还未完成的事务,会出现写完write-aheadlog但是还没有Commit日志的情况,每个日志流的write-aheadlog都会包含事务的所有日志流列表,通CommitAbortaheadlog每个语句开始时(对于ReadCommitted隔离级别)或者每个事务开始时(对于SQLSQLSQLTablet3.5.3SQLSQL层处理一个请求的执行流程是:Parser、Resolver、Transformer、Optimizer、CodeParserParserSQLToken",并根据预先设定好的语法规则解析整个请求,转换成语法树(SyntaxTree)。如库、表、列、索引等),StatementTree。TransformerSQL式,并将其提供给后续的优化器做进一步的优化。Transformer的工作方式是在原StatementTreeStatementTree。Optimizer(优化器)SQLSQLCodeGenerator(代码生成器)将执行计划转换为可执行的代码,但是不做任何优化选择。Executor(执行器)SQLSQLSQLPlanCacheCache,SQL。obproxy是OceanBase数据库的接入层,负责将用户的请求转发到合适的OceanBase实例obproxy是独立的进程实例,独立于OceanBase的数据库实例部署。obproxy监听网络端MySQLMySQLOceanBase。obproxy能够自动发现OceanBase集群的数据分布信息,对于代理的每一条SQL语句,会OceanBaseobproxy有两种部署方式,一种是部署在每一个需要访问数据库的应用服务器上,另一种是OceanBase务器上的obproxy,所有的请求会由obproxy发送到合适的OceanBase服务器。第二种部obproxyOceanBase\hOceanBaseOceanBaseOracleOracleOceanBase数据库在数据类型、SQL功能和数据库对象等基本功能上与Oracle数据库兼OceanBaseOracleOracleOceanBaseOracleOceanBaseOceanBaseOracleOceanBaseOracleOceanBaseOracleSQL内建函数SQL过程性语言系统视图数据库对象管理安全特性备份恢复SQLSQLOracle24OceanBase20SQL数据类型。基于优化考虑,LONG

LONG

OceanBase48MB\h大对象数据类型。Oracle257OceanBase155内建函数。SQLOceanBaseOracleSQL支持大部分查询功能,包括支持单、多表查询;支持子查询;支持内连接,半连接,外连EXPLAIN[explain_type]dml_statement;|||||FORMATEXPLAIN[explain_type]dml_statement;|||||FORMAT={TRADITIONAL|SELECT|DELETE|INSERT|MERGEINTO|UPDATEINSERTINTOSELECT...语句支持使用子查询支持集合更新OceanBaseDOPhint/sessionDML

AutoOceanBaseHint。Oracle72HintOceanBase24,OceanBaseHint23\hOceanBaseOraclePLPL数据类型SQLSQL子过程异常处理程序包PL系统包,包括DBMS_CRYPTO、DBMS_DEBUG、DBMS_LOB、DBMS_LOCK、DBMS_METADATA、DBMS_OUTPUT、DBMS_RANDOM、DBMS_SQL、DBMS_XA、UTL_I18N、UTL_RAWPL标签安全包,包括SA_SYSDBA、SA_COMPONENTS、SA_LABEL_ADMIN、SA_POLICY_ADMIN、SA_USER_ADMIN、SA_SESSIONOceanBasePL条件编译\hOceanBaseOracle195兼容性能视图(v$)20\hOceanBase数据库支持的字符集有binary、utf8mb4、gbk、utf16、gb18030和OceanBase数据库支持的排序方式有binary、utf8mb4_general_ci、utf8mb4_bin、utf16_unicode_ci、gb18030_chinese_ci、gb18030_binlatin1_bin。ALTERTABLE语句添加、删除、修改列;添加、删除约束;添加、删关于创建、修改、删除表的详细语法,请参见\hCREATETABLE、\hALTERTABLE、\hDROPCHECKUNIQUENOTNULL约束。UNIQUEDISABLE操作。支持外键。ALTERTABLE语句添加外键约束。SETNULL支持哈希(Hash)、范围(Range)、列表(List)和组合分区等分区形式。支持局部索引和全局索引\hOceanBaseBTree支持创建和删除索引支持删除视图SELECT语句DML语句WITHCHECK

目前支持OceanBase数据库到OceanBase数据库、OceanBase数据库到Oracle数据库OceanBaseOracle24支持白名单策略,实现网络安全访问控制OracleOracle支持用户的锁定和解锁功能OracleFGA支持语句和对象审计类型,暂不支持权限审计和网络审计审计结果支持存放在文件或者内部表中暂不支持删除审计数据LevelCompartmentGroupSSL支持客户端与OceanBase数据库服务器的传输链路加密,以及OceanBase数据库节点之除了支持SSL单向认证、X509双向认证,还支持指定加密算法、指定发行方认证、指定SSLOceanBaseOSS、NFS不支持指定路径的备份不支持备份的备份更多OceanBase数据库物理备份恢复特性的介绍请参见《OceanBase数据库系统架构》文\h备份恢复概述章节。SQLOceanBaseSQLOracle支持查询改写支持执行计划生成与展示(EXPLAIN)支持执行计划缓存支持执行计划绑定OptimizerHintACSSPMOceanBase数据库的SQL表达式统计存储(ESS)近似查询处理SQL\hSQL

LONG

DISABLEENABLESETNULL不支持位图和反向索引类型。WITHCHECKOPTION

SQL(ESS)和近似查询处理SQLOceanBaseOracleOracleSQLOracle24OceanBase20 Oracle数据 OceanBase数据CHARNUMBER[(p[,s])FLOATLONG(Oracle数据库已废弃类TIMESTAMP[(fractional_seconTIMESTAMP[(fractional_seconds_precision)]WITHTIMETIMESTAMP[(fractional_seconds_precision)]WITHLOCALTIMEZONEINTERVAL YEAR[(year_precision)]TOINTERVAL DAY[(day_precision)]TOSECOND[(LONGRAW(OracleUROWIDOceanBaseOracleOracleOracle257OceanBase155\h函数。OceanBase数据库是否支ROUNDTRUNCOceanBase数据库是否支TRANSLATE...OceanBase数据库是否支EXTRACTROUNDTO_CHARTRUNCOceanBase数据库是否支OceanBase数据库是否支TO_CHARTO_CHARTO_CHARTO_NCHARTO_NCHARTO_NCHAROceanBase数据库是否支OceanBase数据库是否支OceanBase数据库是否支OceanBase数据库是否支OceanBase数据库是否支AVGCORRCOUNTCOVAR_POPCOVAR_SAMPCUME_DISTDENSE_RANKKEEPLISTAGGMAXMINMEDIANPERCENT_RANKPERCENTILE_CONTPERCENTILE_DISCRANKREGR_(LinearRegression)STDDEVSTDDEV_POPSTDDEV_SAMPSUMVAR_POPVAR_SAMPVARIANCEWMSYS.WM_CONCAT/WM_CONCATOceanBase数据库是否支OceanBaseOracleOceanBaseOracleALL_TAB_PARTITIONSALL_ARGUMENTSALL_COLL_TYPESALL_COL_PRIVSALL_CONSTRAINTSALL_CONS_COLUMNSALL_DEF_AUDIT_OPTSALL_ERRORSALL_INDEXESALL_IND_COLUMNSALL_IND_EXPRESSIONSALL_IND_PARTITIONSALL_IND_SUBPARTITIONSALL_METHOD_PARAMSALL_OBJECTSDBA_TAB_PARTITIONSALL_PART_KEY_COLUMNSDBA_TAB_SUBPARTITIONSALL_PROCEDURESALL_SCHEDULER_JOB_ARGSALL_SCHEDULER_PROGRAM_ARGSALL_SEQUENCESALL_SOURCEUSER_TAB_SUBPARTITIONSALL_SUBPART_KEY_COLUMNSALL_SYNONYMSALL_TABLESALL_TAB_COLSALL_TAB_COLUMNSUSER_TAB_PARTITIONSALL_ALL_TABLESALL_TAB_PRIVSALL_COL_COMMENTSALL_TRIGGERSALL_TYPESALL_TYPE_ATTRSALL_TYPE_METHODSALL_USERSALL_VIEWSALL_DIRECTORIESALL_PART_COL_STATISTICSALL_PART_HISTOGRAMSALL_SUBPART_COL_STATISTICSALL_SUBPART_HISTOGRAMSALL_TAB_HISTOGRAMSALL_TAB_STATISTICSAUDIT_ACTIONSALL_PART_INDEXESALL_DEPENDENCIESALL_TAB_STATS_HISTORYDBA_TAB_STATS_HISTORYUSER_TAB_STATS_HISTORYDBA_ARGUMENTSDBA_AUDIT_EXISTSDBA_AUDIT_OBJECTDBA_AUDIT_SESSIONDBA_AUDIT_STATEMENTDBA_AUDIT_TRAILDBA_COLL_TYPESALL_PART_TABLESDBA_COL_PRIVSDBA_CONSTRAINTSDBA_CONS_COLUMNSDBA_ERRORSDBA_INDEXESDBA_IND_COLUMNSDBA_IND_EXPRESSIONSDBA_IND_PARTITIONSDBA_IND_SUBPARTITIONSDBA_METHOD_PARAMSDBA_OBJECTSDBA_OBJ_AUDIT_OPTSALL_SUBPARTITION_TEMPLATESDBA_PART_KEY_COLUMNSALL_TAB_COMMENTSDBA_PROCEDURESDBA_PROFILESDBA_ROLESDBA_ROLE_PRIVSDBA_SCHEDULER_JOB_ARGSDBA_SCHEDULER_PROGRAM_ARGSDBA_SEGMENTSDBA_SEQUENCESDBA_SOURCEDBA_STMT_AUDIT_OPTSDBA_ALL_TABLESDBA_SYNONYMSDBA_SYS_PRIVSDBA_TABLESDBA_TABLESPACESDBA_TAB_COLSDBA_TAB_COLUMNSDBA_COL_COMMENTSDBA_PART_INDEXESDBA_TAB_PRIVSDBA_PART_TABLESDBA_TRIGGERSDBA_TYPESDBA_TYPE_ATTRSDBA_TYPE_METHODSDBA_USERSDBA_VIEWSDBA_DEPENDENCIESNLS_DATABASE_PARAMETERSNLS_INSTANCE_PARAMETERSNLS_SESSION_PARAMETERSSTMT_AUDIT_OPTION_MAPDBA_SUBPARTITION_TEMPLATESDBA_RECYCLEBINDBA_RSRC_CONSUMER_GROUPSDBA_RSRC_GROUP_MAPPINGSDBA_RSRC_PLANSDBA_RSRC_PLAN_DIRECTIVESDBA_DIRECTORIESDBA_JOBSDBA_JOBS_RUNNINGDBA_PART_COL_STATISTICSDBA_PART_HISTOGRAMSDBA_SUBPART_HISTOGRAMSDBA_TAB_COL_STATISTICSDBA_TAB_HISTOGRAMSDBA_TAB_STATISTICSUSER_ARGUMENTSUSER_AUDIT_OBJECTUSER_AUDIT_SESSIONUSER_AUDIT_STATEMENTUSER_AUDIT_TRAILUSER_COLL_TYPESDBA_TAB_COMMENTSUSER_COL_PRIVSUSER_CONSTRAINTSUSER_CONS_COLUMNSUSER_ERRORSUSER_INDEXESUSER_IND_COLUMNSUSER_IND_EXPRESSIONSUSER_IND_PARTITIONSUSER_IND_SUBPARTITIONSUSER_OBJECTSUSER_ALL_TABLESUSER_PART_KEY_COLUMNSUSER_COL_COMMENTSUSER_PROCEDURESUSER_ROLE_PRIVSUSER_SCHEDULER_JOB_ARGSUSER_SEGMENTSUSER_SEQUENCESUSER_SOURCEUSER_PART_INDEXESUSER_SUBPART_KEY_COLUMNSUSER_SYNONYMSUSER_SYS_PRIVSUSER_PART_TABLESUSER_TRIGGERSUSER_TABLESUSER_TABLESPACESUSER_TAB_COLSUSER_TAB_COLUMNSUSER_SUBPARTITION_TEMPLATESUSER_TAB_COMMENTSUSER_TYPESUSER_TYPE_ATTRSUSER_TYPE_METHODSUSER_VIEWSUSER_RECYCLEBINUSER_DEPENDENCIESUSER_JOBSUSER_PART_COL_STATISTICSUSER_PART_HISTOGRAMSUSER_SUBPART_COL_STATISTICSUSER_SUBPART_HISTOGRAMSUSER_TAB_COL_STATISTICSUSER_TAB_HISTOGRAMSUSER_TAB_STATISTICSROLE_TAB_PRIVSROLE_SYS_PRIVSROLE_ROLE_PRIVSDICTIONARYDICTDBA_SQL_PLAN_BASELINESALL_IND_STATISTICSALL_IND_STATISTICSDBA_IND_STATISTICSUSER_IND_STATISTICSALL_TAB_MODIFICATIONSDBA_TAB_MODIFICATIONSUSER_TAB_MODIFICATIONSUSER_TAB_PRIVSUSER_PROFILESDBA_SCHEDULER_JOBSDBA_SCHEDULER_PROGRAMDBA_CONTEXTOceanBaseOracleV$NLS_PARAMETERSV$SESSION_WAITV$SESSION_WAIT_HISTORYV$SESSTATV$SQL_WORKAREAV$SQL_WORKAREA_ACTIVEV$SQL_WORKAREA_HISTOGRAMV$SYSSTATV$SYSTEM_EVENTV$VERSIONV$SQL_MONITOR_STATNAMEV$GLOBAL_TRANSACTIONV$TIMEZONE_NAMESV$RSRC_PLANV$GLOBALCONTEXTV$INSTANCEV$ACTIVE_SESSION_HISTORYV$EVENT_NAMEV$SQL_PLAN_MONITOR与MySQL兼容性对比本节主要介绍OceanBase数据库的MySQL模式与原生MySQLOceanBase数据库的MySQL模式兼容MySQL5.7/8.0的绝大部分功能和语法。由于产品架构不同,或者客户需求不大,有些功能并没有被支持。本节主要从以下几方面介绍OceanBaseMySQLMySQLSQL过程性语言系统视图字符集和字符序函数与表达式分区支持备份恢复存储引擎优化器BOOLEANBOOLOceanBase数值类型BOOLEANBOOL整数类型: /TINYINT、SMALLINT、MEDIUMINT、INTINTEGERBIGINT定点类型:DECIMALNUMERIC浮点类型:FLOATDOUBLE日期时间类型:DATETIMETIMESTAMPDATETIME和YEAR字符类型:CHARVARCHARBINARYVARBINARY大对象类型:TINYBLOBBLOBMEDIUMBLOBLONGBLOB文本类型: 、TEXT、MEDIUMTEXT枚举类型:ENUM。集合类型:SETJSON空间数据类型SQL

LONGTEXTSELECTUNIONUNIONALLMINUSEXCEPT或INTERSECT等集合操作。EXPLAINEXPLAIN[explain_type]dml_statement;|||||FORMAT={TRADITIONAL|SELECT|DELETE|INSERT|REPLACE|UPDATESELECTFORSHARE...语法。INSERTINTOSELECT支持使用子查询。支持集合更新。

OceanBaseMySQLPLPL数据类型自定义函数触发器此外,OceanBase数据库特有的MySQLPL系统包,包括、DBMS_STATSDBMS_UDRDBMS_XPLAN\hOceanBase数据库实现了information_schema和mysql这两个内部数据库中的大部分视图,但是由于架构不同,OceanBase数据库并不保证所有视图均能实现以及视图中所有的列MySQL\hOceanBase数据库兼容MySQL字符集:binary、utf8mb4、gbk、utf16、gb18030和latin1。字符序:utf8mb4_general_ci、utf8mb4_bin、binary、gbk_chinese_ci、gbk_bin、utf16_general_ci、utf16_bin、utf8mb4_unicode_ci、utf16_unicode_ci、gb18030_chinese_ci、gb18030_bin、latin1_swedish_cilatin1_bin。OceanBase数据库社区版暂不支持utf8mb4_unicode_ci和utf16_unicode_ciMySQL,OceanBaseMySQLGET_LOCK()字符串函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论