范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

OceanBase初试

  OceanBase是原生分布式关系数据库软件,开源已经有些日子了,一直拖着没有做一些测试。这两天刻意抽时间做了下测试,还是挺惊喜的。
  我是比较喜欢上手试验的风格,所以我的学习模式是先构建出一个简单的环境,然后根据自己的认知去做一些测试来决定要不要继续深入测试,然后再来看相关的文档来系统学习,所以我根据文档的描述初步选定是体验试用版本。
  OceanBase的试用版链接已经失效了,在官方文档中没有及时更新,我是翻箱倒柜在网络上找了很多的文章和说明,才发现通过一个链接入口可以直达试用版:
  https://www.oceanbase.com/download
  根据链接跳转到的界面是这样的,这个对应不是最新的版本,不过作为体验测试是足够了。
  比较贴心的是在试用版的相关文档中有一个视频,演示了整个部署的过程,几个命令即可搞定。
  我们先来创建用户admin和相关的数据目录# useradd admin # passwd admin # mkdir /data/ob # chown -R admin.admin /data/ob
  接下来修改配置文件config.py,修改相应的数据目录load("obi,obt-patch,mini-mode,sample-db,sysbench") if not indocker():         home = "/data/ob" obs_cfg.update(mini_mode_cfg) obs_cfg.update(system_memory="5G", memory_limit="8G", datafile_size="10G")# 定义一个单server的ob集群,mysql端口号2881,rpc端口号2882 ob1 = OBI("127.0.0.1:2882:2881")# 定义另一个单server的ob集群,mysql端口号/rpc端口号由uid hash生成 ob2 = OBI("127.0.0.1")# 单个机器上起3个observer ob3 = OBI("127.0.0.1@[z1,z2,z3]", dev="lo", is_local=True)
  接下来切换到admin用户,开始安装nbsp;./hap.py  ob1.reboot
  大概1分钟左右即可搞定试用版的部署。
  连接至OB环境可以使用hap.py脚本nbsp;./hap.py  ob1.obmysql Welcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 3221487878Server version: 5.7.25 OceanBase 2.2.50 (r1-1c6441e8fb858c80da395f934f67ed305425864e) (Built Mar  6 2020 18:41:01) Copyright (c) 2009-2020 Percona LLC and/or its affiliates Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type "help;" or "h" for help. Type "c" to clear the current input statement.OceanBase(root@oceanbase)>
  有一种无缝使用MySQL的感觉,目前这个版本(2.2.50)支持的是5.7的相关协议,查看使用版本。OceanBase(root@SYS)>select * from v$version;+---------------------------------------------------------------------------------------------+--------+| BANNER                                                                                      | CON_ID |+---------------------------------------------------------------------------------------------+--------+| OceanBase 2.2.50 (r1-1c6441e8fb858c80da395f934f67ed305425864e) (Built Mar  6 2020 18:41:01) |      0 |+---------------------------------------------------------------------------------------------+--------+1 row in set (0.00 sec)
  查看数据库列表,可以看到基本保持了MySQL的风格,当然也有Oracle的影子,看文档的描述是按照租户的模式来设计的。OceanBase(root@test)>show databases; +--------------------+ | Database           | +--------------------+ | oceanbase          | | information_schema | | mysql              | | SYS                | | LBACSYS            | | ORAAUDITOR         | | test               | +--------------------+ 7 rows in set (0.00 sec)
  那存储引擎是怎么体现的呢,在这里存储引擎就是OceanBase,支持事务。OceanBase(root@test)>show engines; +-----------+---------+-----------------------+--------------+----+------------+ | Engine    | Support | Comment               | Transactions | XA | Savepoints | +-----------+---------+-----------------------+--------------+----+------------+ | OceanBase | YES     | Supports transactions | YES          | NO | NO         | +-----------+---------+-----------------------+--------------+----+------------+ 1 row in set (0.01 sec)
  我们创建一张表,来看看原本MySQL的语法是否适用。
  OceanBase(root@test)>CREATE TABLE `data_detail_202107` (     ->   `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "id", ...     ->   `value` int(11) NOT NULL DEFAULT "0" COMMENT "数据值",     ->   `modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "修改时间",     ->   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间",     ->   `note` varchar(255) NOT NULL DEFAULT "" COMMENT "备注",    ->   PRIMARY KEY (`id`),     ->   KEY `idx_rlb_id` (`rlb_id`,`cycle_num`,`member_id`)    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT="数据明细表"; Query OK, 0 rows affected, 1 warning (0.16 sec)
  没想到还是执行成功了,只是抛出了警告。OceanBase(root@test)>show warnings; +---------+------+---------------------------------+ | Level   | Code | Message                         | +---------+------+---------------------------------+ | Warning | 1286 | Unknown storage engine "InnoDB" | +---------+------+---------------------------------+ 1 row in set (0.00 sec)
  数据字典有一个视图views,完整的SQL语句是比较长的,我们来查看执行计划,直接使用了Hash Join>explain select * from viewsG *************************** 1. row *************************** Query Plan: ==================================== |ID|OPERATOR   |NAME|EST. ROWS|COST| ------------------------------------ |0 |HASH JOIN  |    |156      |4566| |1 | TABLE SCAN|d   |100      |2000| |2 | TABLE SCAN|t   |100      |2000| ====================================
  其实show create table是很有代表性的,可以通过这个看到很多OceanBase中的设计点。OceanBase(root@test)>show create table data_detail_202107G *************************** 1. row ***************************        Table: data_detail_202107 Create Table: CREATE TABLE `data_detail_202107` (  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "id", …  `value` int(11) NOT NULL DEFAULT "0" COMMENT "数据值",  `modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "修改时间",  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间",  `note` varchar(255) NOT NULL DEFAULT "" COMMENT "备注",  PRIMARY KEY (`id`),  KEY `idx_rlb_id` (`rlb_id`, `cycle_num`, `member_id`) BLOCK_SIZE 16384 GLOBAL)  AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = "zstd_1.0" REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 COMMENT = "数据明细表"1 row in set (0.01 sec)
  文档中关于Oracle和MySQL的兼容性是比较高的,那么业务就可以最大程度的使用两者的特性功能,总体来说和补充的测试和文档来看,还是有不少的期待。

视频龙珠英雄创成篇大结局,贝吉特VS超弗视频将以文章视频的形式展现给大家,也就是在我个人主页文章下可以看到全部的视频。非常感谢大家。以下是龙珠英雄创成篇大结局贝吉特VS超弗视频!!以下是龙珠英雄创成篇大结局贝吉特VS超弗视频龙珠英雄,特别篇,暗黑魔界篇视频将以文章视频的形式展现给大家,也就是在我个人主页文章下可以看到全部的视频。非常感谢大家。以下是龙珠英雄特别篇暗黑魔界篇视频,特别篇是宇宙创成篇的背景介绍视频加载中龙珠英雄是根据嘉兴不明物体是陨冰或者蓝冰?浙江嘉兴上空掉下不明物体当地有关部门挖了1。5米,没有找到任何固体,难道是陨冰或者蓝冰?这两者都是可溶物,接触地面不久就能融化。陨冰是彗星表面溅射出来的冰块,被地球引力捕获后,砸向天问一号探索的是火星吗?不,它探索的是人类的未来最近几年中美都热衷于探索火星,不管是马斯克的公司行为,还是中国举国之力的国家行为,都奔着去了解去发现最终去登陆火星的目标而去。为什么大家都要去探索火星,仅仅是为了好奇吗?不,我们在香港闹市的自行车道香港的闹市里,有一条自行车道。蜿蜿蜒蜒的,从大围一直延伸到吐露港,跟着大围城门河的河水一起奔向大海。大围地铁站A出口是它的起点。走出大围地铁口,就看到马路边上有一排自行车停在马路边悬空寺真悬空吗?今天参观北魏名寺恒山悬空寺。悬空寺建于北魏初年,距今1500年历史,是第一座佛道儒三教合一的寺庙。悬空寺距地面约60米,20层楼高。它真的悬空吗?从现场看,只有十几根细细的柱子支撑杭州网约车女子跳车背后的原因是什么?6月12日,杭州高女士自称乘车时遭网约车司机搭讪,且司机两次更改路线,最后导致她跳车摔伤。网上男女网友站成两队,男的说女的是受害妄想症,女的说司机不按导航走就是有问题,其实是男女双新希望刘畅谈富可以过三代?刘畅最近在访谈节目谈自己的孩子,说相信他们养活自己是没问题的,我的小孩不会富不过三代的,凭他们的知识水平能养活自己,他们自己有钱,有知识,有自己的精神就不会不富。达尔文的表弟,英国携程梁建章建议取消中考,这种看法对吗?携程梁建章认为,每个孩子的成熟期不一样,过早分层会导致那些晚熟的孩子遭遇错误的评判。美国心理学家卡特尔把智力分为两种,一种是流体智力,另一种是晶体智力。流体智力是天生的智力,通过基婴儿凉席4步挑选法绝不掉坑在给宝宝挑选凉席的时候妈妈们是不是都非常纠结不知道买那种那大家可以遵循一测二看三摸四闻这几个小原则一测测量婴儿床的尺寸选择购入合适的凉席不宜过大或过小否则宝宝睡觉时凉席容易移位影响国人为什么不再唯金牌论了?东京奥运会上,即使被淘汰的没有任何奖牌的运动员,国人也是鼓励称赞肯定,国人为何不再唯金牌论了?唯金牌论背后是人类炫耀的心理。炫耀是人从各个方面特意强调自己,包括外貌财富学识能力等。
床单不兴了,新式万向罩一出,整洁美观,简约时尚不过时高质量的睡眠对人体的影响是多方面的,睡眠不足给人们带来的影响也很严重,不但白天不能全身心的投入到工作和学习中,对人体的免疫功能也有一定的影响。所以保证良好的睡眠,不论从身体方面还是新式二胎床一出,双人床过时了!整洁美观,拍照给大家看看一生中差不多有3分之一,甚至更多的时间在床上度过,选择一款舒适的床固然是很重要的。想要高质量的睡眠,除了需要安静的环境,舒适的床也是很重要的。尤其是对二胎宝妈来说,既要照顾小宝,又地暖过时了!新式地暖垫整洁美观又暖和,节能环保省电地暖过时了,新式,地暖垫整洁美观,发热快,太机智了!小时候家里取暖是用炉子,烧碳的那种,虽然有点脏,但是它不但可以取暖,还可以烧水做饭。后来住楼房以后,家里有地暖,但是每年的暖气费双人床过时了!新式拼接床整洁美观,太机智了有了宝宝之后,付出最多的非妈妈莫属,自从当了妈妈,就别想睡个囫囵觉,夜里要给宝宝喂奶换尿布,甚至有的宝宝还是夜里欢,黑白颠倒,遇上这种宝宝真的能让妈妈疯掉。好不容易熬到宝宝大点,可茶几过时了,小户型流行这么装,整洁美观不占空间,太机智了小户型不管是装修设计,还是买家居用品,都需要多费一些心思。不能盲目追求时尚,能节省空间的设计才是最好的。越来越多的小户型现在不买茶几了,选择用茶几毯来代替,舒适不占空间,实在是太机沙发过时了!年轻人流行这么装,整洁美观,回家我也照着装随着经济水平的提高,人们对家居环境的要求也越来越高,不仅要求时尚美观,还要舒适,而且还得节省空间。毕竟现在的房价这么高,每一处空间都不舍得浪费,充分利用才可以。为了节省空间,小户型新式无线插排一出,告别满屋扯线,整洁美观,太机智了社会的进步给我们带来的便利是数不胜数的,家里各种电器越来越多,随之而来的各种电源线充电线也越来越多。新式无线插排一出,告别满屋扯线,整洁美观,太机智了!免打孔轨道插座,可以移动使用沙发过时了!新式沙发床一出,整洁美观,小巧轻便,太机智了传统沙发过时了,新式沙发床一出,整洁美观,小巧轻便不占空间,太机智了,拍照给大家看看!款式时尚简约,颜色沉稳大气,可以折叠,可以伸缩,方便实用不占地方。简约雅致的灰色格调,让客厅更电动车过时了!广东新式二胎车一出,时尚美观,轻巧方便电动车已经成了家庭必备的代步工具,小巧轻便,比较灵活,而且低碳环保。遇到上下班高峰,路况差的时候,开车走到路上远没有骑电动车方便。新式亲子代步车小巧轻便不占空间,而且三轮设计更安全双人床过时了!新中式实木床结实牢固,整洁美观,太机智了想要第二天可以精神满满的投入工作和学习,离不开高质量的睡眠。要想睡的好,除了安静的环境,与是舒适的床也分不开的。新中式实木床结实牢固,整洁美观,太有创意了!传统手工工艺,优质五金连新中式实木床一出,结实牢固,整洁美观,拍照给大家看看可能每个人的观念不一样,选家具的时候,对我来说其他都可以节省开支,唯独床不可以。毕竟一生中,至少有三分之一的时间是在床上度过的。床的舒适度不够的话直接影响到睡眠质量,休息不好第二天