热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅浅走进MogDB

MogDB是EnMotechopenGaussDataBaseEnterpriseEdition的缩写,是云和恩墨基于openGauss开源数据库进行定制、推出的企业发行版。它将围

什么是MogDB?

MogDB是EnMotech openGauss DataBase Enterprise Edition的缩写,是云和恩墨基于openGauss开源数据库进行定制、推出的企业发行版。它将围绕高可用、安全、自动化运维、数据库一体机和SQL审核优化等企业需求,解决企业用户落地。其核心价值是易用性、高性能、高可用等和全天候的企业支持。


MogDB特点

1.支持标准SQL:SQL标准是一个国际性的标准,MogDB数据库是支持标准SQL的。

2.事务支持:系统提供事务的能力,支持全局事务的ACID,保证事务的原子性、一致性、隔离性和持久性。

3.支持函数及存储过程:函数和存储过程是数据库中的一种重要对象,主要功能将用户特定功能的SQL语句集进行封装,并方便调用。

4.数据安全:在访问控制、数据库加密、数据库审计等方面具有很大的优势。

5.高性能:支持行存储和列存储两种存储模型,用户可以根据应用场景,建表的时候选择行存储还是列存储表;MogDB优化器是典型的基于代价的优化。在这种优化器模型下,数据库根据表的元组数、字段宽度、NULL记录比率、distinct值、MCV值、HB值等表的特征值,以及一定的代价计算模型,计算出每一个执行步骤的不同执行方式的输出元组数和执行代价,进而选出整体执行代价最小/首元组返回代价最小的执行方式进行执行。


MogDB实训环境

MogDB实训环境是由墨天轮提供的MogDB数据库线上学习与实训平台,同时提供Oracle/MySQL兼容包,以及Mogila样本数据集。我们可以通过浏览器的命令行终端一键连接数据库,方便快速地体验MogDB的各项功能,无需自备环境进行安装。

1.首先第一步是进入实训环境,直接点击图中的“点击进入实训环境”就可以了,无需多与操作。

image.png

2.连接数据库

su - omm
#第一次进入数据库启动中...等待15秒
gsql -d postgres
> \l

image.png

3.运行Oracle/MYSQL兼容包

cd /var/lib/openguass
gsql -f runMe.sql

4.初始化HR对象和数据

cd /var/lib/openguass
gspl -f HR_Sample.sql
gsql
> \d

5.关闭数据库,直接点击关闭就可以了,不过之前创建的数据库数据会被清除。


Docker安装步骤


Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。


Docker Desktop下载地址:https://www.docker.com/products/docker-desktop

(1)启动Docker服务。

(2)输入命令获取最新MogDB镜像文件:

docker pull swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:3.0.0

(3)为MogDB创建运行目录,例如:

mkdir /mogdb

(4)继续输入以下命令创建一个新的容器,将容器命名为“mogdb”,以启动MogDB实例:

docker run --name mogdb --privileged=true -d -e GS_PASSWORD=Enmo@123 -v /mogdb:/var/lib/mogdb -p 15432:5432 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:3.0.0

(5)进入容器终端,到此就完成了MogDB容器版安装。

docker exec -it mogdb bash

单节点安装

本段落实是介绍如何使用PTK安装 MogDB 数据库。

PTK (Provisioning Toolkit)是一款针对 MogDB 数据库开发的软件安装和运维工具,旨在帮助用户更便捷地安装部署MogDB数据库。PTK支持安装MogDB的操作系统如下表所示。

可执行如下命令查看PTK支持安装MogDB的操作系统。

(1)下载安装 PTK

curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh

(2)通过提示的 source 指令或打开一个新的终端窗口来使 PTK PATH 环境变量生效。以 bash 为例

source $HOME/.bashrc

通过PTK安装MogDB

PTK安装需要用户提供配置文件config.yaml,PTK支持单节点安装以及多节点安装。下面以单节点安装为例。

# config.yaml
global:
cluster_name: mogdb1
user: omm
group: omm
base_dir: /opt/mogdb
db_servers:
- host: 127.0.0.1
db_port: 26000

检查本机系统

ptk checkos -f config.yaml

确保输出的检查结果均为 OK 或者 Warning ,如果有 Abnormal 或 ExecuteError出现,需用户根据日志提示先修正系统参数。

执行安装

ptk install -f config.yaml

安装成功后,可以通过 ptk ls 来查看安装的实例信息。

[root@hostname]# ptk ls
cluster_name | instances | user | data_dir | db_version
---------------+--------------------+------+-----------------+--------------
mogdb1 | 172.16.0.127:26000 | omm | /opt/mogdb/data | MogDB-3.0.0

访问数据库

su - omm
gsql -d postgres -p 26000


推荐阅读
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
author-avatar
vm经典全屏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有