• [问题求助] hive元数据库Guassdb如何获取元数据信息
    hive元数据库Guassdb如何获取元数据信息
  • [技术干货] Stackoverflow 年度报告 2022:开发者最喜爱的数据库
    2022年5月,超过7.3万名开发人员参与了Stackoverflow的2022年度调查,这份报告中展示了开发人员对数据库的相关看法。从数据库技术上来看,结果有很大的差异:在专业开发者中,PostgreSQL的使用人数首次超越MySQL,跃升第一。PostgreSQL超越霸榜五年的Redis,成为开发者最喜爱且最想要学习的数据库。DB2、CouchDB、Oracle成为开发者最恐惧的数据库。DynamoDB以94,244美元年薪排在首位,MySQL以55,455美元年薪排在倒数第二。数据库应用流行度在所有的有效问卷中,有46.48%的开发者正在使用PostgreSQL,超越了霸榜五年的MySQL,这使得PostgreSQL登上数据库流行度的榜首。MySQL退居第二,有45.68%的开发者正在使用MySQL。其次是SQLite。Oracle位列第九,占比11.49%。开发者最喜爱和恐惧的数据库在此调查中,还有一个选项:开发者最喜爱、恐惧的数据库,这个选项的结果能表明开发者的真实心声。据此次调查结果,PostgreSQL超越霸榜五年的Redis,成为最受喜爱的数据库。其次是Redis和MongoDB。CouchDB和IBM DB2排在最后两位,分别位列第16、17名,也成为了此次调查中最令人恐惧的数据库。IBM DB2已经连续三年为开发者最恐惧的数据库,占比高达74%,这个比例是压倒性的。64.67%的开发者也不喜欢Oracle。开发者合作VS想要合作的数据库这一选项是能表明开发者未来的学习方向以及学习计划。那些当前正在使用或者学习 MySQL 的人,更有可能想要开始或继续使用 MongoDB,而不是任何其他数据库。在所有参与调查的人中,有9520名正在使用MySQL开发者想要学习MongoDB。数据库技术薪资排行DynamoDB以94,244美元年薪排在首位,MySQL以55,455美元年薪排在倒数第二。最流行的开发语言在最喜爱的开发语言上,Rust 以 86.73% 压倒性位居榜首,Python 位居第六:薪资和职业方向薪资和职业方向一直是大家关注的重要事项。在全球数据中,Senior Executive位居薪资榜首,平均年薪达到了11.7万美元,其次是Engineering manager和Engineersite reliability,平均年薪分别达到了11.1万美元、9.5万美元。数据库管理员的平均年薪为6.6万美元。数据来源:https://survey.stackoverflow.co/2022/
  • [技术干货] GaussDB(for MySQL)荣获“云原生技术创新领航者-云原生技术创新案例”大奖
    近日,由中国信息通信研究院主办的“原生聚力,云数赋能”第四届云原生产业大会顺利召开。在这场云原生领域盛会中,华为云GaussDB(for MySQL)云原生数据库凭优越的技术创新实力和实践经验,荣获“云原生技术创新领航者-云原生技术创新案例”大奖。华为云数据库副部长庄乾锋代表GaussDB亮相大会,就大会对GaussDB的认可表示感谢。庄乾锋表示,当前,数据库行业迎来云原生2.0时代,企业对云数据库提出了更高性能、安全可靠、极致扩展等诸多诉求。华为云GaussDB通过整合多年数据库领域经验和客户诉求,构筑云原生数据库全栈能力,构建以应用为中心的新型数据库云服务,积极引领云原生数据库发展新方向。聚焦技术创新 深入云原生领域持续发力作为华为自研的新一代企业级高性能云原生分布式数据库,GaussDB(for MySQL)基于DFV分布式存储,采用存算分离架构,拥有128TB的海量存储空间,可实现超百万级QPS 吞吐,既拥有商业数据库的性能和可靠性,又具备开源数据库的灵活性,在云原生业务场景有非常明显的核心优势。华为独特优势:垂直集成与传统的线下数据库不同,云数据库有垂直集成云栈中所有层的能力,在云上,存储和数据库的集成能发挥更大的作用。华为作为在云栈各层领先的提供商,在云领域中有着独特的地位,有能力成为行业的领导者。通过并行查询(PQ)提高性能提高性能的一个通用方法是并行,并行可以在多层上实现,GaussDB(for MySQL)允许使用多个线程并行执行单个查询;另一个允许更高并行力度的层是存储层,因为存储系统可能有数百个节点和数千个核心,GaussDB(for MySQL)使用的这种云规模的分布式存储是提高查询性能的一个关键基础,结合并行查询,实现查询性能的极大提高。算子下推(NDP)加速查询效率GaussDB(for MySQL)通过算子下推(NDP)技术,把算子卸载到数据所在的存储节点上,利用当地可用的计算资源执行,无需将数据读到计算节点中。这样实现了在大规模查询场景中将90%的逻辑计算在分布式存储层完成,大幅度降低了网络I/O 延迟,充分释放了云计算算力,在TPC-H测试中,相比社区版本,其性能最高提升了34倍。秒级伸缩,应用0感知GaussDB(for MySQL)支持Serverless,根据数据容量自动伸缩,存储自动打散负载压力,无需分库分表。HTAP 只读分析用户既能得到MySQL完备的事务保障,又能享受到GaussDB(for MySQL) HTAP只读分析的极致分析性能。华为云GaussDB(for MySQL)不仅通过分布式全并行架构和多节点写入提供极致的吞吐量性能,轻松应对海量高并发数据处理,提升高可用能力;还具备跨AZ部署、跨region容灾、单点故障0中断等多个特性,满足金融级别的高可靠性;且仅需要商用数据库1/10的成本就可以提供企业级的服务能力。极致性价比、AI 自治、HTAP、多主、Serverless将是GaussDB(for MySQL) 数据库未来的重点发展方向。大浪淘沙 做千行百业上云优选当前, GaussDB(for MySQL)数据库面向企业云原生赛道,已在音视频、互联网电商、游戏、保险、汽车制造、物流、交通出行等多个行业场景和标杆大客户得到广泛应用,包括助力永安保险重构核心业务系统,帮助互联网电商如梦饷集团、单创、未来一手等缔造电商新时代,赋能中国一汽红旗和一汽大众数字化转型等等。在中国一汽红旗ERP系统微服务改造、业务上云过程中,GaussDB(for MySQL)提供了在云上和本地部署体验一致的云数据库服务,改造后的ERP系统数据库整体性能大幅提升,流量洪峰下业务运行又快又稳。梦饷集团通过GaussDB(for MySQL)进行电商平台的数字化升级,将业务搬迁上云后,运维效率提升了约30%,核心业务数据库访问平均耗时由1.5s降至1s;此外,梦饷集团每秒成交的订单数再创历史新高,成为了利用数字基础设施助力业务快速增长的标杆。持续深耕 共促产业生态繁荣华为云GaussDB已连续两年入选Gartner云数据库管理系统魔力象限特定领域者,在IDC《2020年下半年中国关系型数据库软件市场数据跟踪报告》中,GaussDB拥有中国关系型数据库本地部署市场国产数据库份额NO.1、公有云市场数据库份额增速第一的优异成绩。此次奖项的获得是对GaussDB技术创新实力的高度认可,同时也是新征程和新起点。未来,华为云GaussDB将持续聚焦云原生数据库技术的探索,打造更多业界领先的数据库技术与产品,助力企业加速上云,共促产业生态繁荣!
  • [技术干货] 信创研究:国产数据库聚焦信创市场
    本文节选自2022《东吴计算机 - 信创产业发展研究》报告……目录数据库逐步从“可用”步入“好用”数据库在政务、互联网、金融等领域大规模应用数据库:中国数据库市场规模快速增长数据库市场:国产化任重道远数据库国产化替换难点传统国产数据库聚焦信创市场国产数据库在部分行业核心系统实现替代分布式数据库将成未来主流,技术门槛高主要国产分布式数据库国产数据库:华为Gauss有望成为最强数据库逐步从“可用”步入“好用”✓ 我国数据库核心关键技术水平与国外基本相当,部分数据库产品的性能和安全指标达到甚至超过国外同类产品。国产数据库已经逐步从“可用”步入“好用”阶段,并在标准建设、生态建设和行业应用等多领域成果显著,产业全价值链正在形成。数据库产品对稳定性、安全性、实时性等指标尤为关注,国内分布式数据库在这些特性上接近甚至超越国外同类产品,如阿里云数据库在国际TPC-C性能测评达到6000万tpmC 以上;达梦、神通、优炫等企业先后通过数据库安全分级评估EAL4+认证。但国产数据库企业在基础技术研究、业务流程优化、自治与智能等方面的能力还有待提升。✓ 短期内国产数据库不得不做的一件事是兼容Oracle等国外数据库。目前国产数据库普遍实现了Oracle数据库到国产数据库的快速迁移。数据库在政务、互联网、金融等领域大规模应用✓ 国产数据库在集中式数据库和分布式数据库方面都取得了较大的技术进展,在政务、互联网、金融等领域得到了大规模的应用。✓ 到2022 年底,党政机关将完成基于国产数据库的应用系统改造和建设工作。国产数据库的大范围大规模应用,证明了国产数据库在安全性、可靠性、可用性、以及性能上满足国家的战略需要,满足党政机关基于国产数据库的信息化系统的建设需求。✓ 国产数据库在国防军工单位完成了大规模部署和应用,支撑了国防信息化建设,并支撑了多项重大工程,证明了国产数据库在安全可靠方面达到了先进水平。✓ 国产数据库突破了分布式存储计算等关键技术,为电子商务以及新零售等基于互联网的业务提供了有力的支撑,解决了对海量数据的快速检索和分析等问题,为互联网经济提供了优秀的解决方案。✓ 越来越多的线上金融系统开始使用国产数据库。典型的案例包括:中国银行运维监控系统、工商银行对公理财系统、建设银行粤龙云系统、光大银行理财公司新一代财富管理平台、北京银行网联支付清算平台和银联无卡快捷支付系统、南京银行互联网金融平台、网商银行金融交易系统、浙商银行电信反欺诈和外汇交易以及管理驾驶舱业务、浙商证券互联网用户中心、招商证券历史收益系统、中国人民健康保险股份有限公司互联网保险、中国人寿CMDS、中国人寿企业年金、梅州客商银行核心系统等。数据库:中国数据库市场规模快速增长✓ 中国数据库市场2020-2025年复合增速将达23.4%。据信通院测算,2020年中国数据库市场规模为241亿元,占全球比为5.2%。预计到2025年,中国数据库市场在全球的占比将接近12.3%,中国数据库市场总规模将达到688亿元。✓ 全球数据库市场竞争格局较为稳定,2021年CR5超80%。微软、Oracle、Amazon位列前三,市占率均在20%以上。数据库市场:国产化任重道远✓ 截至2021H1,国外厂商仍然占据我国数据库市场份额超过50%,仅Oracle、IBM和微软三家厂商占据市场份额超40%,其中Oracle占据了关系型数据库市场近30%的份额。✓ 在金融、电信等重点行业,由于业务系统要求复杂,国外数据库份额仍然较高。以金融行业为例,国外厂商仍然占据90%以上的份额。其中,Oracle 以其稳定性、功能黏性、服务保障体系完善性占据大比例市场份额,而 DB2 以一体机捆绑销售方式,也根植于银行现有数据库体系中。✓ 国内的数据库厂商的订单主要来源于政府采购,国产化率处于较低水平。数据库国产化替换难点✓ 上层应用深度绑定。目前很多企业使用的应用系统都是SAP、Oracle等公司的ERP、CRM、HR、财务等大型的应用软件,而且和Oracle数据库深度捆绑。一旦替换,数据库作为IT架构的重要组成部分是连接底层硬件和上层业务应用的关键,替换之后的国产数据库是否能够和应用系统实现自下而上的兼容性,是关键所在。✓ 业务范围广、体系复杂。金融、电信等行业公司经营的业务范围很广,种类繁多。很多央企都有海外业务,有的占比高达30%甚至更多。在国际业务的系统中,有些国内软件厂商的产品未能通过相关的国际认证,无法在海外运营,也无法做到国产化替代。而国外领先厂商有多年应用经验,国产数据库往往要经历从边缘非核心业务试用到核心业务替换的漫长过程。✓ 替换后系统的稳定性、安全性。涉及金融、能源、化工、核电等企业,数据传输中任何层面的丢失都可能引起重大事故,要背负很大的社会责任。企业数据的应用系统繁杂,数据的累积量也不断攀升,在替代过程中采用什么方式保证业务的连续性,以及替代时间的把控非常重要。传统国产数据库聚焦信创市场✓ 中国目前有接近200家数据库厂商,数据库产品以关系型为主,多数基于MySQL和PostgreSQL二次开发而来。国内数据库全部企业技术专利累计只有千余, 而单Oracle专利数量1.4万个,存在较大的技术差距。✓ 传统国产数据库厂商:聚焦信创市场,以集中式数据库为主。• 武汉达梦:成立于2000年,前身是华中科技大学数据库与多媒体研究所,现在为中国电子信息产业集团(CEC)旗下公司,中国软件持股25.21%。根据IDC报告,2021H1中国本地部署的关系型数据库厂商中,达梦以5.7%的份额位居中国数据库管理系统国产数据库市占率第一。• 人大金仓:成立于1999年,起源于中国人民大学信息学院,是中国电子科技集团有限公司(CETC)旗下具有自主知识产权的国产数据管理软件与服务提供商,底层基于PostgreSQL开发。2021年12月,CETC旗下上市公司太极股份对人大金仓增持股权至51%。2020年人大金仓数据库产品的年度中标金额首次突破5个亿,当年签约超过3.5亿元,在党政关键工程中市占率达到53%。• 万里开源:成立于2000年,团队前身是TurboLinux及MySQL中国研发中心,上市公司创意信息持股58.57%。专注于国产、自主可控数据库及Linux操作系统产品研发的国家高新技术企业。专注云端部署分布式关系型数据库,针对性解决传统行业环境下常规规模分布式部署场景国产数据库在部分行业核心系统实现替代分布式数据库将成未来主流,技术门槛高✓ 分布式数据库将成为未来行业应用主流:金融和电信等行业在当前面临业务体量呈爆发性增长,无法依靠升级硬件实现扩展存量数据库能力,分布式数据库则能实现弹性升级,亦能更有效匹配企业上云需求。我国金融科技发展规划中已明确提出要加强分布式数据库研发应用,未来行业应用分布式数据库将是大势所趋。✓ 分布式数据库技术门槛较高,国内IT巨头引领发展:分布式数据库需要支持非结构化大数据处理,对硬件兼容能力要求高,技术门槛较高。目前国内市场主要由IT巨头引领发展。根据Gartner统计,2020年全球数据库市场市占率排名前35的厂商中仅有阿里、华为、腾讯在榜,均以分布式数据库为主要优势产品,并且分别将旗下数据库OceanBase、openGauss、Tbase等开源,扩大上下游生态影响力并提高产品开发速度和质量,迅速拉开与其余厂商差距,形成寡头竞争格局。主要国产分布式数据库国产数据库:华为Gauss有望成为最强✓ 看好华为Gauss的未来发展:OpenGauss是华为旗下企业级分布式数据库主要面向金融互联网交易和政企OA/办公场景,同时支持分布式和集中式部署。在2022年4月墨天轮中国数据库流行度排行榜上,openGauss排在第二位,超越了阿里、腾讯、中兴旗下开源数据库,社区影响力显著提升。目前,海量数据、云和恩墨、神舟通用等多家伙伴基于openGauss推出了商业发行版,在金融、政府、电信、能源、制造等行业规模使用。✓ 华为自研的数据库产品GaussDB T以OLTP和集群为方向,GaussDB A以分析型为主要方向,截止2021年5月底,已为半数以上全国性股份制银行提供超大规模多层并行计算的数据仓库服务。
  • [技术干货] 一篇学会 Sharding 垂直分库分表
    什么是垂直切分什么是垂直切分,垂直分库是指按照业务将表进行分类,分布到不同的数据库上面,每个库可以放在不同的服务器上,它的核心理念是专库专用,也就是说,我们需要把不同之间的业务进行分库,比如,支付业务我们可以创建一个库,而订单业务我们可以再用另外的一个库保存数据,说起来是简单,实现起来也并没有想象的那么难办。我们看看如何实现。垂直分表垂直分表就是将一个表细分,且在同一个库里,正常操作即可。这种相对来说就压根没必要用sharding-sphere,数据一部分在一个表,和数据存储在另外一个表,那就意味着,这就是两个表存了不同的数据,比如商品服务,我们把商品基本信息放在一张表,商品详情放在一张表,这就相当于是垂直分表了,但是看起来总是这么的奇怪,奇怪归奇怪,他还就是这样的。而垂直分库就不是这样的了。我们来看看如何实现。垂直分库第一步我们还是需要去创建数据库然后创建我们的指定的表DROP TABLE IF EXISTS users; CREATE TABLE users ( id BIGINT(20) PRIMARY KEY, username VARCHAR(20) ,phone VARCHAR(11),STATUS VARCHAR(11) );第二步接下来我们就要和之前一样了,开始配置我们的配置数据。spring: application: name: sharding-jdbc-simple http: encoding: enabled: true charset: UTF-8 force: true main: allow-bean-definition-overriding: true #定义数据源 shardingsphere: datasource: names: db1,db2,db3 db1: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/order?characterEncoding=UTF-8&useSSL=false username: root password: 123456 db2: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/ordersharding?characterEncoding=UTF-8&useSSL=false username: root password: 123456 #配置user的数据源 db3: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/user?characterEncoding=UTF-8&useSSL=false username: root password: 123456 ## 分库策略,以user_id为分片键,分片策略为user_id % 2 + 1,user_id为偶数操作db1数据源,否则操作db2。 sharding: tables: #配置db3的数据节点 users: actual-data-nodes: db$->{3}.users table-strategy: inline: sharding- column: id algorithm-expression: users orderinfo: actual-data-nodes: db$->{1..2}.orderinfo key-generator: column: order_id type: SNOWFLAKE database-strategy: inline: sharding-column: user_id algorithm-expression: db$->{user_id % 2 + 1} props: sql: show: trueserver: servlet: context-path: /sharding-jdbcmybatis: configuration: map-underscore-to-camel-case: true接下来就是去写一组插入语句,然后我们把数据插入到数据库测试一下。@RunWith(SpringRunner.class)@SpringBootTest(classes = RunBoot.class)public class UsersDaoTest { @Autowired UsersDao usersDao; @Test public void testInsert(){ for (int i = 0; i < 10; i++) { Long id = i+100L; usersDao.insertUser(id,"大佬"+i, "17458236963","1"); } } } /** * 新增用户 * */ @Insert("insert into users(id,username,phone,status) values(#{id},#{username},#{phone},#{status})") int insertUser(@Param("id") Long id, @Param("username") String username, @Param("phone") String phone,@Param("status") String status);看着截图的样子,阿粉感觉是没啥问题,我们再去数据库验证一下。也确定了数据保存进去了,这就是垂直分库俺么我们什么时候垂直分库呢?答案是根据业务逻辑进行分割。比如我们可以把用户表和用户相关的表分配到用户数据库中,而把商品表和商品相关的数据分配到商品数据库中。阿粉觉得这种垂直分库分表,实际上就是通过不同的数据源来进行操作的,而通过给mybatis的mapper配置不同的数据源也是能实现的,但是还是看个人选择吧。大家学会如何使用 Sharding-JDBC 进行分库分表了么?来源:https://www.51cto.com/article/712153.html
  • [技术干货] 立足国产数据库重大需求,探索课程体系建设新模式
    专访对象:杜小勇。中国人民大学二级教授、博士生导师。现任中国人民大学校长助理、理工学科建设处处长、明理书院院长、数据工程与知识工程教育部重点实验室主任,数据库课程虚拟教研室和“101计划”数据库系统课程虚拟教研室负责人,CCF大数据专家委员会主任,国家重点研发计划项目首席科学家。数据库是信息系统的基础和核心,国产数据库实现自主可控、自主创新已成为信息产业的发展战略重点,人才需求逐年递增,人才培养迫在眉睫。  为贯彻落实“十四五”教育发展规划有关部署,助力高质量创新型人才培养,2022年2月,教育部公布首批虚拟教研室建设试点名单,数据库课程虚拟教研室榜上有名。该项目旨在探索数据库课程教研改革与人才培养的新模式、新路径,是首批15个教育部—华为“智能基座”课程虚拟教研室试点之一。  虚拟教研室作为数字时代新型教学研究的组织形式,备受各方关注。聚焦数据库领域,虚拟教研室建设能否助力数据库人才培养问题的解决?虚拟教研室该如何建设运行?如何创建面向产业需求的人才培养新范式?近日,中国教育在线专访了数据库课程虚拟教研室牵头人杜小勇教授,深入了解数据库课程虚拟教研室的建设思路和社会价值。  指向数据思维,高校数据库人才培养模式亟待改进  数据库是计算机软件皇冠上的明珠,在数字经济时代,小到一个企业,大到一个国家,都离不开数据库。杜小勇介绍说:“国内数据库产业发展非常迅速,目前做国产数据库的企业已经有200多家,像华为这样的头部企业,已经都有了自己的数据库产品。”国产数据库厂商迎来了弯道超车的机会,而如何更好地培养数据库人才,提升数据库行业竞争力,则成为迫在眉睫的事。  杜小勇指出:“数据库是一门非常传统的学科,在我们国家最早的计算机专业培养方案里,数据库就是7门核心课程之一。随着新技术地不断涌现,人才需求不断变化。而且,在大数据时代,数据库已经从一种工具演变成一种思维——数据思维。但传统数据库课程既满足不了企业对数据库内核研发人才的需求,也不能让学生感受到数据思维的作用。”在数据库课程教学上,高校作为人才培养的第一阵地,面临着理论课程内容依赖国外或开源数据库、教学案例与生动的应用实际脱节、缺少基于国产数据库的操作实践学习等痛点,高校数据库人才培养模式亟待改进。  探索共建共享新机制,为人才培养提供新动能  2021年7月,《教育部高等教育司关于开展虚拟教研室试点建设工作的通知》发布。以此为契机,数据库课程虚拟教研室启动。该虚拟教研室由中国人民大学牵头,发起单位包括清华大学、东北大学、山东大学、华为等各层次各区域高校和企业。截止目前,数据库课程虚拟教研室共有106家成员单位。  在运行模式上,虚拟教研室以立德树人为根本任务,以提高人才培养能力为核心,以CMOOC 联盟数据库课程工作组、教育部-华为“智能基座”联合工作组以及获批的国家级线上一流本科课程、国家级线下一流本科课程、国家级线上线下混合一流本科课程为依托,在前期建设的数据库课程“跨校协作组”和教育部-华为“智能基座”项目基础上,进一步按照开源软件社区的模式进行共建与共享,系统化开展数据库类课程的教学研究和建设,深化课程教学内容、教学方法、教学资源、教学评价等方面建设,为高等教育高质量发展提供有力支撑。  在运行机制上,数据库虚拟教研室以“开放、奉献、竞争、有序”为指导思想,崇尚“人人为我、我为人人”的志愿者精神,强调成果贡献,淡化身份标签,采用民主决策制度,遵循“木兰”协议共享成果,以开源社区的方式运行。“数据库虚拟教研室是架构在互联网之上的面向全国的跨校的组织,没有经费支持,所以我们一定要强调开放、奉献。而组织里面引入竞争机制,也能让那些想干事、能干事、干成事的老师逐渐显露出来。不过教研室毕竟是一个组织,我们要在制度上让它有序运行。为此,虚拟教研室发起单位共同组建了委员会,作为最高决策机构进行民主决策。”杜小勇解释说。  在国产数据库实现自主可控、自主创新成为信息产业发展战略重点的背景下,虚拟教研室的推出及其跨校协作、校企合作的实践探索将极大提升高校人才培养的效果,为专业人才培养工作的实施提供了新动能。  校企协同,为虚拟教研室建设提供有力支撑  数据库作为关键基础软件,是我国面临的35项需要重点突破的技术之一,国产数据库行业内核技术开发人才缺口很大。针对国产数据库人才的宏观需求、高新技术对数据库类课程群建设的全新挑战以及高校实践教学的设计痛点,杜小勇带领的数据库课程虚拟教研室还着力探索推动高校与产业界的全方位合作。杜小勇表示:“无论是数据库内核开发人才的培养,还是大数据应用人才的培养,单靠高校的师资和资源,我们深感力不从心,在这种情况下,校企合作显得特别重要。”  据介绍,数据库课程虚拟教研室以产业发展的新需求、新成果为导向,与国产数据库头部企业产教融合,加深与华为公司在创新人才培养模式、促进师生发展、改进数据库课程教学设置等方面的合作,探索课程体系建设新模式,建设合作共享的优质教研资源,全面提高国产数据库创新人才培养水平。杜小勇提到:“我们希望有更多的高校学生实践能够在国产数据库上开展,在学生一代就解决那些先入为主的国产数据库不行的观念。校企还可以联合办竞赛,通过开源的方式把同学们的兴趣吸引到数据库系统的开发和发展上来。”  针对数据库的未来发展以及人才的培养,杜小勇表示:“数据库人才培养的方向要从过去的数据库使用者变为适应新时代新需求的数据库内核开发者,同时让学生感受数据思维,实现大数据的多样性应用。我相信校企合作在虚拟教研室里大有可为。”  对于国产数据库而言,未来的竞争本质就是人才的竞争。在新型智能时代,课程体系建设的新模式离不开产学研用,校企协同,产业聚集人才,为高校人才提供动能,人才同时也将更好地引领产业发展。理论应用到教学实践,数据库课程虚拟教研室的建设也将为其他高校培养创新型人才提供示范和借鉴意义。共创新、共发展,才能共建坚实的数字世界底座。来源:中国教育在线
  • [技术干货] 写着简单跑得又快的数据库语言 SPL[转载]
    文章目录数据库语言的目标SQL为什么不行SPL为什么能行数据库语言的目标要说清这个目标,先要理解数据库是做什么的。数据库这个软件,名字中有个“库”字,会让人觉得它主要是为了存储的。其实不然,数据库实现的重要功能有两条:计算、事务!也就是我们常说的OLAP和OLTP,数据库的存储都是为这两件事服务的,单纯的存储并不是数据库的目标。我们知道,SQL是目前数据库的主流语言。那么,用SQL做这两件事是不是很方便呢?事务类功能主要解决数据在写入和读出时要保持的一致性,实现这件事的难度并不小,但对于应用程序的接口却非常简单,用于操纵数据库读写的代码也很简单。如果假定目前关系数据库的逻辑存储模式是合理的(也就是用数据表和记录来存储数据,其合理性与否是另一个复杂问题,不在这里展开了),那么SQL在描述事务类功能时没什么大问题,因为并不需要描述多复杂的动作,复杂性都在数据库内部解决了。但计算类功能却不一样了。这里说的计算是个更广泛的概念,并不只是简单的加加减减,查找、关联都可以看成是某种计算。什么样的计算体系才算好呢?还是两条:写着简单、跑得快。写着简单,很好理解,就是让程序员很快能写出来代码来,这样单位时间内可以完成更多的工作;跑得快就更容易理解,我们当然希望更短时间内获得计算结果。其实SQL中的Q就是查询的意思,发明它的初衷主要是为了做查询(也就是计算),这才是SQL的主要目标。然而,SQL在描述计算任务时,却很难说是很胜任的。SQL为什么不行先看写着简单的问题。SQL写出来很象英语,有些查询可以当英语来读和写(网上多得很,就不举例了),这应当算是满足写着简单这一条了吧。且慢!我们在教科书上看到的SQL经常只有两三行,这些SQL确实算是写着简单的,但如果我们尝试一些稍复杂化的问题呢?这是一个其实还不算很复杂的例子:计算一支股票最长连续上涨了多少天?用SQL写出来是这样的:select max (consecutive_day)from (select count(*) (consecutive_day      from (select sum(rise_mark) over(order by trade_date) days_no_gain            from (select trade_date,                         case when closing_price>lag(closing_price) over(order by trade_date)                              then 0 else 1 END rise_mark                  from stock_price ) )      group by days_no_gain)这个语句的工作原理就不解释了,反正有点绕,同学们可以自己尝试一下。这是润乾公司的招聘考题,通过率不足20%;因为太难,后来被改成另一种方式:把SQL语句写出来让应聘者解释它在算什么,通过率依然不高。这说明什么?说明情况稍有复杂,SQL就变得即难懂又难写!再看跑得快的问题,还是一个经常拿出来的简单例子:1亿条数据中取前10名。这个任务用SQL写出来并不复杂:SELECT TOP 10 x FROM T ORDER BY x DESC1但是,这个语句对应的执行逻辑是先对所有数据进行大排序,然后再取出前10个,后面的不要了。大家知道,排序是一个很慢的动作,会多次遍历数据,如果数据量大到内存装不下,那还需要外存做缓存,性能还会进一步急剧下降。如果严格按这句SQL体现的逻辑去执行,这个运算无论如何是跑不快的。然而,很多程序员都知道这个运算并不需要大排序,也用不着外存缓存,一次遍历用一点点内存就可以完成,也就是存在更高性能的算法。可惜的是,用SQL却写不出这样的算法,只能寄希望于数据库的优化器足够聪明,能把这句SQL转换成高性能算法执行,但情况复杂时数据库的优化器也未必靠谱。看样子,SQL在这两方面做得都不够好。这两个并不复杂的问题都是这样,现实中数千行的SQL代码中,这种难写且跑不快的情况比比皆是。为什么SQL不行呢?要回答这个问题,我们要分析一下用程序代码实现计算到底是在干什么。本质上讲,编写程序的过程,就是把解决问题的思路翻译成计算机可执行的精确化形式语言的过程。举例来说,就象小学生解应用题,分析问题想出解法之后,还要列出四则运算表达式。用程序计算也是一样,不仅要想出解决问题的方法,还要把解法翻译成计算机能理解执行的动作才算完成。用于描述计算方法的形式语言,其核心在于所采用的代数体系。所谓代数体系,简单说就是一些数据类型和其上的运算规则,比如小学学到的算术,就是整数和加减乘除运算。有了这套东西,我们就能把想做的运算用这个代数体系约定的符号写出来,也就是代码,然后计算机就可以执行了。如果这个代数体系设计时考虑不周到,提供的数据类型和运算不方便,那就会导致描述算法非常困难。这时候会发生一个怪现象:翻译解法到代码的难度远远超过解决问题本身。举个例子,我们从小学习用阿拉伯数字做日常计算,做加减乘除都很方便,所有人都天经地义认为数值运算就该是这样的。其实未必!估计很多人都知道还有一种叫做罗马数字的东西,你知道用罗马数字该怎么做加减乘除吗?古罗马人又是如何上街买菜的?代码难写很大程度是代数的问题。再看跑不快的原因。软件没办法改变硬件的性能,CPU和硬盘该多快就是多快。不过,我们可以设计出低复杂度的算法,也就是计算量更小的算法,这样计算机执行的动作变少,自然也就会快了。但是,光想出算法还不够,还要把这个算法用某种形式语言写得出来才行,否则计算机不会执行。而且,写起来还要比较简单,都要写很长很麻烦,也没有人会去用。所以呢,对于程序来讲,跑得快和写着简单其实是同一个问题,背后还是这个形式语言采用的代数的问题。如果这个代数不好,就会导致高性能算法很难实现甚至实现不了,也就没办法跑得快了。就象上面说的,用SQL写不出我们期望的小内存单次遍历算法,能不能跑得快就只能寄希望于优化器。我们再做个类比:上过小学的同学大概都知道高斯计算1+2+3+…+100的小故事。普通人就是一步步地硬加100次,高斯小朋友很聪明,发现1+100=101、2+99=101、…、50+51=101,结果是50乘101,很快算完回家午饭了。听过这个故事,我们都会感慨高斯很聪明,能想到这么巧妙的办法,即简单又迅速。这没有错,但是,大家容易忽略一点:在高斯的时代,人类的算术体系(也是一个代数)中已经有了乘法!象前面所说,我们从小学习四则运算,会觉得乘法是理所当然的,然而并不是!乘法是后于加法被发明出来的。如果高斯的年代还没有乘法,即使有聪明的高斯,也没办法快速解决这个问题。目前主流数据库是关系数据库,之所以这么叫,是因为它的数学基础被称为关系代数,SQL也就是关系代数理论上发展出来的形式语言。现在我们能回答,为什么SQL在期望的两个方面做得不够好?问题出在关系代数上,关系代数就像一个只有加法还没发明乘法的算术体系,很多事做不好是必然的。关系代数已经发明五十年了,五十年前的应用需求以及硬件环境,和今天比的差异是很巨大了,继续延用五十年前的理论来解决今天的问题,听着就感觉太陈旧了?然而现实就是这样,由于存量用户太多,而且也还没有成熟的新技术出现,基于关系代数的SQL,今天仍然是最重要的数据库语言。虽然这几十年来也有一些改进完善,但根子并没有变,面对当代的复杂需求和硬件环境,SQL不胜任也是情理之中的事。而且,不幸的是,这个问题是理论上的,在工程上无论如何优化也无济于事,只能有限改善,不能根除。不过,绝大部分的数据库开发者并不会想到这一层,或者说为了照顾存量用户的兼容性,也没打算想到这一层。于是,主流数据库界一直在这个圈圈里打转转。SPL为什么能行那么该怎样让计算写着更简单、跑得更快呢?发明新的代数!有“乘法”的代数。在其基础上再设计新的语言。这就是SPL的由来。它的理论基础不再是关系代数,称为离散数据集。基于这个新代数设计的形式语言,起名为SPL(Structured Process Language)。SPL针对SQL的不足(更确切地说法是,离散数据集针对关系代数的各种缺陷)进行了革新。SPL重新定义了并扩展许多结构化数据中的运算,增加了离散性、强化了有序计算、实现了彻底的集合化、支持对象引用、提倡分步运算。把前面的问题用SPL重写一遍有个直接感受。一支股票最长连续上涨多少天:stock_price.sort(trade_date).group@i(closing_price<closing_price[-1]).max(~.len())1计算思路和前面的SQL相同,但因为引入了有序性后,表达起来容易多了,不再绕了。1亿条数据中取前10名:T.groups(;top(-10,x))1SPL有更丰富的集合数据类型,容易描述单次遍历上实施简单聚合的高效算法,不涉及大排序动作。限于篇幅,这里不能介绍SPL(离散数据集)的全貌。我们在这里列举SPL(离散数据集)针对SQL(关系代数)的部分差异化改进:游离记录离散数据集中的记录是一种基本数据类型,它可以不依赖于数据表而独立存在。数据表是记录构成的集合,而构成某个数据表的记录还可以用于构成其它数据表。比如过滤运算就是用原数据表中满足条件的记录构成新数据表,这样,无论空间占用还是运算性能都更有优势。关系代数没有可运算的数据类型来表示记录,单记录实际上是只有一行的数据表,不同数据表中的记录也不能共享。比如,过滤运算时会复制出新记录来构成新数据表,空间和时间成本都变大。特别地,因为有游离记录,离散数据集允许记录的字段取值是某个记录,这样可以更方便地实现外键连接。有序性关系代数是基于无序集合设计的,集合成员没有序号的概念,也没有提供定位计算以及相邻引用的机制。SQL实践时在工程上做了一些局部完善,使得现代SQL能方便地进行一部分有序运算。离散数据集中的集合是有序的,集合成员都有序号的概念,可以用序号访问成员,并定义了定位运算以返回成员在集合中的序号。离散数据集提供了符号以在集合运算中实现相邻引用,并支持针对集合中某个序号位置进行计算。有序运算很常见,却一直是SQL的困难问题,即使在有了窗口函数后仍然很繁琐。SPL则大大改善了这个局面,前面那个股票上涨的例子就能说明问题。离散性与集合化关系代数中定义了丰富的集合运算,即能将集合作为整体参加运算,比如聚合、分组等。这是SQL比Java等高级语言更为方便的地方。但关系代数的离散性非常差,没有游离记录。而Java等高级语言在这方面则没有问题。离散数据集则相当于将离散性和集合化结合起来了,既有集合数据类型及相关的运算,也有集合成员游离在集合之外单独运算或再组成其它集合。可以说SPL集中了SQL和Java两者的优势。有序运算是典型的离散性与集合化的结合场景。次序的概念只有在集合中才有意义,单个成员无所谓次序,这里体现了集合化;而有序计算又需要针对某个成员及其相邻成员进行计算,需要离散性。在离散性的支持下才能获得更彻底的集合化,才能解决诸如有序计算类型的问题。离散数据集是即有离散性又有集合化的代数体系,关系代数只有集合化。分组理解分组运算的本意是将一个大集合按某种规则拆成若干个子集合,关系代数中没有数据类型能够表示集合的集合,于是强迫在分组后做聚合运算。离散数据集中允许集合的集合,可以表示合理的分组运算结果,分组和分组后的聚合被拆分成相互独立的两步运算,这样可以针对分组子集再进行更复杂的运算。关系代数中只有一种等值分组,即按分组键值划分集合,等值分组是个完全划分。离散数据集认为任何拆分大集合的方法都是分组运算,除了常规的等值分组外,还提供了与有序性结合的有序分组,以及可能得到不完全划分结果的对位分组。聚合理解关系代数中没有显式的集合数据类型,聚合计算的结果都是单值,分组后的聚合运算也是这样,只有SUM、COUNT、MAX、MIN等几种。特别地,关系代数无法把TOPN运算看成是聚合,针对全集的TOPN只能在输出结果集时排序后取前N条,而针对分组子集则很难做到TOPN,需要转变思路拼出序号才能完成。离散数据集提倡普遍集合,聚合运算的结果不一定是单值,仍然可能是个集合。在离散数据集中,TOPN运算和SUM、COUNT这些是地位等同的,即可以针对全集也可以针对分组子集。SPL把TOPN理解成聚合运算后,在工程实现时还可以避免全量数据的排序,从而获得高性能。而SQL的TOPN总是伴随ORDER BY动作,理论上需要大排序才能实现,需要寄希望于数据库在工程实现时做优化。有序支持的高性能离散数据集特别强调有序集合,利用有序的特征可以实施很多高性能算法。这是基于无序集合的关系代数无能为力的,只能寄希望于工程上的优化。下面是部分利用有序特征后可以实施的低复杂度运算:1)数据表对主键有序,相当于天然有一个索引。对键字段的过滤经常可以快速定位,以减少外存遍历量。随机按键值取数时也可以用二分法定位,在同时针对多个键值取数时还能重复利用索引信息。2)通常的分组运算是用HASH算法实现的,如果我们确定地知道数据对分组键值有序,则可以只做相邻对比,避免计算HASH值,也不会有HASH冲突的问题,而且非常容易并行。3)数据表对键有序,两个大表之间对位连接可以执行更高性能的归并算法,只要对数据遍历一次,不必缓存,对内存占用很小;而传统的HASH值分堆方法不仅比较复杂度高,需要较大内存并做外部缓存,还可能因HASH函数不当而造成二次HASH再缓存。4)大表作为外键表的连接。事实表小时,可以利用外键表有序,快速从中取出关联键值对应的数据实现连接,不需要做HASH分堆动作。事实表也很大时,可以将外键表用分位点分成多个逻辑段,再将事实表按逻辑段进行分堆,这样只需要对一个表做分堆,而且分堆过程中不会出现HASH分堆时的可能出现的二次分堆,计算复杂度能大幅下降。其中3和4利用了离散数据集对连接运算的改造,如果仍然延用关系代数的定义(可能产生多对多),则很难实现这种低复杂的算法。除了理论上的差异, SPL还有许多工程层面的优势,比如更易于编写并行代码、大内存预关联提高外键连接性能等、特有的列存机制以支持随意分段并行等。这里还有更多SPL代码以体现其思路及大数据算法:性能优化技巧:遍历复用提速多次分组性能优化技巧:TopN性能优化技巧:预关联性能优化技巧:部分预关联性能优化技巧:外键序号化性能优化技巧:维表过滤或计算时的关联性能优化技巧:有序归并性能优化技巧:有序定位关联提速主子关联后的过滤性能优化技巧:附表性能优化技巧:小事实表与大维表关联性能优化技巧:大事实表与大维表关联性能优化技巧:有序分组性能优化技巧:后半有序分组性能优化技巧:前半有序时的排序原文链接:https://blog.csdn.net/wangyuxiang946/article/details/124921223
  • [问题求助] 【gaussdbT1.1.0】【恢复功能】数据库恢复后,执行ALTER DATABASE OPEN报错
    【功能模块】执行数据恢复,切换数据库状态时报错.【操作步骤&问题现象】python zctl.py -t start -m NOMOUNT1、RESTORE DATABASE FROM '/etc/sdata/GSDBT/73882EAB-781A-9953-AF99-950E7669E39A/mount/FULL_20220622142823'2、RECOVER DATABASE;3、ALTER DATABASE OPEN【截图信息】1、前两步执行成功,再执行 ALTER DATABASE OPEN时【日志信息】(可选,上传日志内容或者附件)1、/opt/gaussdb/data/log/run/zengine.rlog
  • [公告] WeAutomate各版本信息汇总及说明
    最新版本V3.0.3   构建于2022.05.30下载地址:跳转官网下载设计器(WeAutomate Studio)        【新增】        1.Studio支持画中画回放。        2.Studio支持麒麟 V10 SP1和统信(UOS) V20系统上使用流程编排和流程回放功能,流程回放支持web自动化回放,鼠标键盘自动化回放和基于图像的自动化回放。        3.优化提升扩展批量安装/卸载性能。        【优化】        修复了一些已知问题机器人助手(WeAutomate Robot)        【新增】        1.支持配置多个管理中心连接,提供配置管理页面和切换连接功能。        2.支持全新对话框控件,包括预置对话框和自定义对话框执行。        3.支持获取管理中心下发的浏览器驱动文件。        4.增加版本更新日志查看功能。        5.助手、连接器支持在国产麒麟系统运行;连接器支持连接到国产麒麟系统。        【优化】        1.修复连接器在N版、KN版windows及部分win server上因缺少媒体包连接失败的问题。        2.录屏时动态获取屏幕参数,修复录屏不完整的问题。        3.支持随机生成端口列表。        4.支持在设置页面配置主窗口的默认关闭行为。        5.优化任务创建界面,支持在独立窗口编辑调度策略及参数。        6.日志打印增强与优化,提供独立的错误日志error.log。        7.优化license显示,支持在主页面查看当前license状态。        8.修复作业多次执行超时后脚本执行出现阻塞的问题。        9.优化磁盘空间不足时的执行结果提示。        10.修复本地列表和远程列表中脚本版本冲突的问题。        11.在线调度支持自动备份脚本,优化运行前准备耗时与不稳定问题。    历史版本V3.0.0 构建于2022.01.31下载地址:跳转官网下载设计器        【新增】        1.对于团队协作开发场景,Studio 支持使用 GIT 开发和管理 RPA 项目。        2.新增火狐浏览器、360安全浏览器、微软Edge浏览器、紫鸟浏览器的自动化能力及相关插件安装工具(设置-工具)。        3.新增 UI 控件库,支持对元素拾取器选择的元素进行管理和复用。        4.增加了流程大纲,使流程逻辑和结构以树的方式进行展示。        5.新增多级目录创建能力和通过拖拽移动文件的能力。        6.新增网页数据拾取(extractWebData)控件,支持整表或指定列区域表数据的提取,支持多页自动抓取,支持相似元素数据抓取(即相同标签的元素数据提取)。        7.全局参数新增Attachment List类型,支持选择文件目录。        8.Studio支持导出项目检查的检查标准,方便用户查看检查规则,规范开发流程。        9.模版项目支持通过Studio直接打开编辑。        10.增强数据库自动化能力,新增JDBC自动化模块,支持业界通用数据库的自动化操作。        11.在创建人机交互任务时,createInteractiveTask命令新增指定处理人的参数配置。        12.新增桌面自动化控件截图控件(takeElementshot),支持win32,java,jab控件的截图保存功能。        13.Studio中Python运行环境升级至3.9.2版本。        14.提高sftp自动化能力中上传和下载的性能。        15.mc.uploadFile, mc.downloadFile, app.uploadFile 和 app2.uploadFile支持批量操作。        【优化】        修复了一些已知问题机器人助手        【新增】        1.增加支持Firefox、Edge、360、IE几款浏览器的的扩展程序和驱动管理。        2.新建客户端任务增加高级设置项,支持设置是否清理环境及是否打开日志窗口        【优化】        1.优化网络不稳定时的失败重试策略        2.修复获取执行机资源使用率偶现报错问题        3.修复并发执行时偶现的白名单读取失败或校验失败问题        4.启动时自动连接管理中心增加失败重试
  • [技术干货] 基于华为云产品上线部署---qqfarm—原创
    1.项目准备 准备一台云服务器(华为云、vmware) 使用远程连接工具连接服务器 项目开始之前一定要保证你的系统环境是干净的(准备一台新装的服务器) 项目部署 注意:使用vmware的同学,需要在系统中关闭防火墙以及selinux 1. 关闭防火墙 [root@ecs-8e60 ~]# systemctl stop firewalld ---关闭服务 [root@ecs-8e60 ~]# systemctl disable firewalld ---开机自动关闭 2. 查看防火墙规则 [root@ecs-8e60 ~]# iptables -L --- 查看防火墙规则 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@ecs-8e60 ~]# iptables -F ---临时清空防火墙规则 ----------------------------------------------------------------- 2. 关闭selinux 1) 编辑 vim /etc/selinux/config文件把SELIUX=disabled,修改完成后需要重启系统生效 2) [root@ecs-8e60 ~]# getenforce ---查看selinux状态 Disabled [root@ecs-8e60 ~]# setenforce 0 ---临时关闭selinux setenforce: SELinux is disabled1.安装LNMP架构 (nginx、php、mariadb) 2.启动三大服务并设置为开机自动启动 使用vmware安装软件时 需安装epel扩展源 # yum install -y epel-* 1. nginx安装 [root@ecs-17cc ~]# yum install -y nginx 2. php安装 [root@ecs-17cc ~]# yum -y install php php-fpm php-mysql php-gd php-intl php- mcrypt php-mbstring php-xml php-dom 3. Mariana安装 [root@ecs-17cc ~]# yum install -y mariadb mariadb-server 启动服务 [root@ecs-17cc ~]# systemctl start nginx php-fpm mariadb 设置开机自启 [root@ecs-17cc ~]# systemctl enable nginx php-fpm mariadb 查看服务是否启动成功 [root@ecs-8e60 ~]# ss -antp | grep nginx LISTEN 0 511 *:80 *:* users:(("nginx",pid=14616,fd=6),("nginx",pid=14615,fd=6), ("nginx",pid=14613,fd=6)) LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=14616,fd=7),("nginx",pid=14615,fd=7), ("nginx",pid=14613,fd=7)) [root@ecs-8e60 ~]# ss -antp | grep mysqld LISTEN 0 50 *:3306 *:* users:(("mysqld",pid=14871,fd=14)) [root@ecs-8e60 ~]# ss -antp | grep php-fpm LISTEN 0 128 127.0.0.1:9000 *:* users:(("php-fpm",pid=14636,fd=0),("php-fpm",pid=14635,fd=0),("php- fpm",pid=14633,fd=0),("php-fpm",pid=14632,fd=0),("php-fpm",pid=14630,fd=0), ("php-fpm",pid=14595,fd=6))3.配置三大服务 mariadb配置 nginx配置 原图: 1. 设置mariadb数据库密码并创建farm数据库 设置密码: [root@ecs-17cc ~]# mysqladmin -u root password '123' 使用密码登录数据库: [root@ecs-17cc ~]# mysql -u root -p123 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 5.5.68-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> 在数据库中创建farm数据库 MariaDB [(none)]> create database farm; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | farm | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) 删除旧的配置文件: [root@qf-docker ~]# rm -rf /etc/nginx/nginx.conf 生成新的配置文件 : [root@qf-docker ~]# cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf 修改配置文件: [root@qf-docker ~]# vi /etc/nginx/nginx.conf修改后: 原图:修改后: 验证配置文件: php服务部署 4.重启三大服务 [root@bogon ~]# httpd -t Syntax OK [root@qf-docker ~]# vim /etc/php.ini [root@ecs-17cc ~]# systemctl restart nginx php-fpm mariadb5.项目上线 1.上传代码包 2.安装解压工具进行解压文件 3.创建项目网站发布目录 4.拷贝相关文件到发布目录 使用finashell进行上传 [root@ecs-17cc ~]# du -h farm-ucenter1.5.zip 22M farm-ucenter1.5.zip [root@ecs-17cc ~]# yum install -y unzip [root@ecs-17cc ~]# unzip farm-ucenter1.5.zip [root@ecs-17cc ~]# mkdir /farm [root@ecs-17cc ~]# cp -r upload/* /farm5.设置项目所需要的文件权限 6.导入数据库 3.项目验收 [root@ecs-17cc ~]# chmod -R 777 /farm/* [root@ecs-17cc ~]#mysql -u root -p123 farm < upload/qqfarm.sql4.报错解决方式 mysql 1146报错解决方法 ## 1. 进入数据库 # mysql -u root -p123 >drop database farm; > create database farm; > use farm > source /root/upload/qqfarm.sql; ### 命令执行完后退出数据库 exit 2. 删除/farm 目录里面的内容 # rm -rf /farm/* 3. 重新复制数据并给权限 # cp -r upload/* /farm # chmod -R 777 /farm/ 
  • [技术干货] 智慧园区数据平台DO GaussDB 100数据库关键字合集
    关键字GaussDB 100数据库中关键字就是有特殊用途的标识符,是数据库事先定义好的,有保留字和非保留字之分。根据标准,保留字决不能用做其他标识符,如:不能用作保留字段做表名、字段名等。非保留字只是在特定的环境里有特殊的含义,而在其他环境里是可以用做标识符的。表1 GaussDB 100关键字1ABORTABSOLUTEACCESSACCOUNT2ACTIONADDADMINAFTER3AGGREGATEALIASALLALSO4ALTERALWAYSANALYSEANALYZE5ANDANYARRAYAS6ASCASSERTIONASSIGNMENTASYMMETRIC7ATATTRIBUTEAUTHIDAUTHORIZATION8AUTOEXTENDBACKWARDBEFOREBEGIN9BETWEENBIGINTBINARYBINARY_DOUBLE10BINARY_INTEGERBITBLOBBOOLEAN11BOTHBYBYTEACACHE12CALLCALLEDCASCADECASCADED13CASECASTCATALOGCHAIN14CHARCHARACTERCHARACTERISTICSCHECK15CHECKPOINTCLASSCLOBCLOSE16CLUSTERCOALESCECOLLATECOLLATION17COLUMNCOMMENTCOMMENTSCOMMIT18COMMITTEDCOMPILECONCURRENTLYCONFIGURATION19CONNECTCONNECTIONCONSTRAINTCONSTRAINTS20CONTENTCONTENTSCONTEXTCONTINUE21CONVERSIONCOPYCOSTCREATE22CROSSCSVCURRENTCURRENT_CATALOG23CURRENT_DATECURRENT_ROLECURRENT_SCHEMACURRENT_TIME24CURRENT_TIMESTAMPCURRENT_USERCURSORCYCLE25DATADATABASEDATAFILEDATAFILES26DATEDAYDBTIMEZONEDEALLOCATE27DEBUGDECDECIMALDECLARE28DECODEDEFAULTDEFAULTSDEFERRABLE29DEFERREDDEFINERDELETEDELIMITER30DELIMITERSDESCDETAILDETERMINISTIC31DIAGNOSTICSDICTIONARYDIRECTORYDISABLE32DISCARDDISTINCTDODOCUMENT33DOMAINDOUBLEDROPDUMP34EACHELSEELSEIFELSIF35ENABLEENCODINGENCRYPTEDEND36ENUMERRCODEERRORESCAPE37EXCEPTEXCEPTIONEXCLUDEEXCLUDING38EXCLUSIVEEXECEXECUTEEXISTS39EXITEXPLAINEXTENSIONEXTERNAL40EXTRACTFALSEFAMILYFETCH41FIRSTFLOATFOLLOWINGFOR42FORALLFORCEFOREACHFOREIGN43FORWARDFREEZEFROMFULL44FUNCTIONFUNCTIONSGETGLOBAL45GRANTGRANTEDGREATESTGROUP46HANDLERHAVINGHEADERHINT47HOLDHOURIDENTIFIEDIDENTITY48IFILIKEIMMEDIATEIMMUTABLE49IMPLICITININCLUDINGINCREMENT50INDEXINDEXESINDEXTYPEINFO51INHERITINHERITSINITIALINITIALLY52INITRANSINLINEINNERINOUT53INPUTINSENSITIVEINSERTINSTEAD54INTINTEGERINTERSECTINTERVAL55INTOINVOKERISISNULL56ISOLATIONJOINKEYLABEL57LANGUAGELARGELASTLC_COLLATE58LC_CTYPELEADINGLEASTLEFT59LESSLEVELLEXERLIKE60LIMITLINKLISTENLOAD61LOCALLOCALTIMELOCALTIMESTAMPLOCATION62LOCKLOGLOGGINGLOOP63MAPPINGMATCHMAXEXTENTSMAXSIZE64MAXTRANSMAXVALUEMESSAGEMESSAGE_TEXT65MINEXTENTSMINUSMINUTEMINVALUE66MODEMODIFYMONTHMOVE67NAMENAMESNATIONALNATURAL68NCHARNEXTNLSSORTNO69NOCACHENOCYCLENOLOGGINGNONE70NOMAXVALUENOMINVALUENOORDERNOREVERSE71NOTNOTHINGNOTIFYNOTICE72NOTNULLNOWAITNULLNULLIF73NULLSNUMBERNUMERICNVARCHAR274NVLOBJECTOFOFF75OFFSETOIDSONONLY76OPENOPERATOROPTIONOPTIONS77ORORDEROUTOUTER78OVEROVERLAPSOVERLAYOWNED79OWNERPARAMETERSPARSERPARTIAL80PARTITIONPASSINGPASSWORDPCTFREE81PERFORMPG_EXCEPTION_CONTEXTPG_EXCEPTION_DETAILPG_EXCEPTION_HINT82PLACINGPLANSPOSITIONPRECEDING83PRECISIONPREPAREPREPAREDPRESERVE84PRIMARYPRIORPRIVILEGEPRIVILEGES85PROCEDURALPROCEDUREPROFILEQUERY86QUOTERAISERANGERAW87READREALREASSIGNRECHECK88RECURSIVEREFREFERENCESREINDEX89RELATIVERELEASERENAMEREPEATABLE90REPLACEREPLICARESETRESTART91RESTRICTRESULT_OIDRETURNRETURNED_SQLSTATE92RETURNINGRETURNSREUSEREVERSE93REVOKERIGHTROLEROLLBACK94ROWROWIDROWNUMROWS95ROWTYPEROW_COUNTRULESAVEPOINT96SCHEMASCROLLSECONDSECURITY97SELECTSEQUENCESEQUENCESSERIALIZABLE98SERVERSESSIONSESSIONTIMEZONESESSION_USER99SETSETOFSHARESHOW100SIMILARSIMPLESIZESLICE101SMALLINTSOMESQLSTATESTABLE102STACKEDSTANDALONESTARTSTATEMENT103STATISTICSSTDINSTDOUTSTOPLIST104STORAGESTRICTSTRIPSUBSTRING105SYMMETRICSYSDATESYSIDSYSTEM106SYSTIMESTAMPSYS_REFCURSORTABLETABLES107TABLESPACETEMPTEMPLATETEMPORARY108TEXTTHANTHENTIME109TIMESTAMPTOTRAILINGTRANSACTION110TREATTRIGGERTRIMTRUE111TRUNCATETRUSTEDTYPETYPES112UNBOUNDEDUNCOMMITTEDUNENCRYPTEDUNION113UNIQUEUNKNOWNUNLIMITEDUNLISTEN114UNLOCKUNLOGGEDUNTILUPDATE115USE_COLUMNUSE_VARIABLEUSERUSING116VACUUMVALIDVALIDATEVALIDATOR117VALUEVALUESVARCHARVARCHAR2118VARIABLE_CONFLICTVARIADICVARRAYVARYING119VERBOSEVERSIONVIEWVOLATILE120WARRINGWHENWHEREWHILE121WHITESPACEWINDOWWITHWITHOUT122WORKWRAPPERWRITEXML123XMLATTRIBUTESXMLCONCATXMLELEMENTXMLEXISTS124XMLFORESTXMLPARSEXMLPIXMLROOT125XMLSERIALIZEYEARYESZONE
  • [技术干货] 智慧园区数据平台DO GaussDB 200数据库关键字合集
    GaussDB 200数据库中,保留字决不能用做其他标识符。非保留字只是在特定的环境里有特殊的含义,而在其他环境里是可以用做标识符的。保留关键字和非保留关键字的约束与其他数据库一致,保留字任何地方都不能用。非保留,在特定场景下可以用。一般建议不要使用关键字做表名或者字段名。表1 GaussDB 200关键字1ABORTABSABSOLUTEACCESS2ACCOUNTACTIONADAADD3ADMINAFTERAGGREGATEALIAS4ALLALLOCATEALSOALTER5ALWAYSANALYSEANALYZEAND6ANYAPPAREARRAY7ASASCASENSITIVEASSERTION8ASSIGNMENTASYMMETRICATATOMIC9ATTRIBUTEAUTHIDAUTHORIZATIONAUTOEXTEND10AUTOMAPPEDAVGBACKWARDBARRIER11BEFOREBEGINBETWEENBIGINT12BINARYBINARY_DOUBLEBINARY_INTEGERBIT13BITVARBIT_LENGTHBLOBBOOLEAN14BOTHBUCKETSBREADTHBY15CCACHECALLCALLED16CARDINALITYCASCADECASCADEDCASE17CASTCATALOGCATALOG_NAMECHAIN18CHARCHARACTERCHARACTERISTICSCHARACTER_LENGTH19CHARACTER_SET_CATALOGCHARACTER_SET_NAMECHARACTER_SET_SCHEMACHAR_LENGTH20CHECKCHECKEDCHECKPOINTCLASS21CLEANCLASS_ORIGINCLOBCLOSE22CLUSTERCOALESCECOBOLCOLLATE23COLLATIONCOLLATION_CATALOGCOLLATION_NAMECOLLATION_SCHEMA24COLUMNCOLUMN_NAMECOMMAND_FUNCTIONCOMMAND_FUNCTION_CODE25COMMENTCOMMENTSCOMMITCOMMITTED26COMPATIBLE_ILLEGAL_CHARSCOMPLETECOMPRESSCOMPLETION27CONCURRENTLYCONDITIONCONDITION_NUMBERCONFIGURATION28CONNECTCONNECTIONCONNECTION_NAMECONSTRAINT29CONSTRAINTSCONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMA30CONSTRUCTORCONTAINSCONTENTCONTINUE31CONVERSIONCONVERTCOORDINATORCOPY32CORRESPONDINGCOSTCOUNTCREATE33CROSSCSVCUBECURRENT34CURRENT_CATALOGCURRENT_DATECURRENT_PATHCURRENT_ROLE35CURRENT_SCHEMACURRENT_TIMECURRENT_TIMESTAMPCURRENT_USER36CURSORCURSOR_NAMECYCLEDATA37DATE_FORMATDATABASEDATAFILEDATE38DATETIME_INTERVAL_CODEDATETIME_INTERVAL_PRECISIONDAYDBCOMPATIBILITY39DEALLOCATEDECDECIMALDECLARE40DECODEDEFAULTDEFAULTSDEFERRABLE41DEFERREDDEFINEDDEFINERDELETE42DELIMITERDELIMITERSDELTADEPTH43DEREFDESCDESCRIBEDESCRIPTOR44DESTROYDESTRUCTORDETERMINISTICDIAGNOSTICS45DICTIONARYDIRECTDISABLEDISCARD46DISCONNECTDISPATCHDISTINCTDISTRIBUTE47DISTRIBUTIONDODOCUMENTDOMAIN48DOUBLEDROPDYNAMICDYNAMIC_FUNCTION49DYNAMIC_FUNCTION_CODEEACHELASTICELSE50ENABLEENCODINGENCRYPTEDEND51END-EXECENFORCEDENUMEOL52EQUALSERRORSESCAPEESCAPING53EVERYEXCEPTEXCEPTIONEXCHANGE54EXCLUDEEXCLUDINGEXCLUSIVEEXEC55EXECUTEEXISTINGEXISTSEXPLAIN56EXTENSIONEXTERNALEXTRACTFALSE57FAMILYFASTFENCEDFETCH58FILEHEADERFILL_MISSING_FIELDSFINALFIRST59FIXEDFLOATFOLLOWINGFOR60FORCEFOREIGNFORMATTERFORTRAN61FORWARDFOUNDFREEFREEZE62FROMFULLFUNCTIONFUNCTIONS63GGENERALGENERATEDGET64GLOBALGOGOTOGRANT65GRANTEDGREATESTGROUPGROUPING66HANDLERHAVINGHEADERHIERARCHY67HOLDHOSTHOURIDENTIFIED68IDENTITYIFIGNOREIGNORE_EXTRA_DATA69ILIKEIMMEDIATEIMMUTABLEIMPLEMENTATION70IMPLICITININCLUDINGINCREMENT71INDEXINDEXESINDICATORINFIX72INHERITINHERITSINITIALINITIALIZE73INITIALLYINITRANSINLINEINNER74INOUTINPUTINSENSITIVEINSERT75INSTANCEINSTANTIABLEINSTEADINT76INTEGERINTERNALINTERSECTINTERVAL77INTOINVOKERISISNULL78ISOLATIONITERATEJOINK79KEYKEY_MEMBERKEY_TYPELABEL80LANGUAGELARGELASTLATERAL81LC_COLLATELC_CTYPELEADINGLEAKPROOF82LEASTLEFTLENGTHLESS83LEVELLIKELIMITLISTEN84LOADLOCALLOCALTIMELOCALTIMESTAMP85LOCATIONLOCATORLOCKLOG86LOGGINGLOGINLOOPLOWER87MMAPMAPPINGMATCH88MATCHEDMAXMAXEXTENTSMAXSIZE89MAXTRANSMAXVALUEMERGEMESSAGE_LENGTH90MESSAGE_OCTET_LENGTHMESSAGE_TEXTMETHODMIN91MINEXTENTSMINUSMINUTEMINVALUE92MODMODEMODIFIESMODIFY93MODULEMONTHMOREMOVE94MOVEMENTMUMPSNAMENAMES95NATIONALNATURALNCHARNCLOB96NEWNEXTNLSSORTNO97NOCOMPRESSNOCYCLENODENOLOGGING98NOLOGINNOMAXVALUENOMINVALUENONE99NOTNOTHINGNOTIFYNOTNULL100NOWAITNULLNULLABLENULLIF101NULLSNUMBERNUMERICNUMSTR102NVARCHAR2NVLOBJECTOCTET_LENGTH103OFOFFOFFSETOIDS104OLDONONLYOPEN105OPERATIONOPERATOROPTIMIZATIONOPTION106OPTIONSORORDERORDINALITY107OUTOUTEROUTPUTOVER108OVERLAPSOVERLAYOVERRIDINGOWNED109OWNERPACKAGEPADPARAMETER110PARAMETERSPARAMETER_MODEPARAMETER_NAMEPARAMETER_ORDINAL_POSITION111PARAMETER_SPECIFIC_CATALOGPARAMETER_SPECIFIC_NAMEPARAMETER_SPECIFIC_SCHEMAPARSER112PARTIALPARTITIONPARTITIONSPASCAL113PASSINGPASSWORDPATHPCTFREE114PERPERMPERCENTPERFORMANCE115PLACINGPLANPLANSPLI116POLICYPOOLPOSITIONPOSTFIX117PRECEDINGPRECISIONPREFERREDPREFIX118PREORDERPREPAREPREPAREDPRESERVE119PRIMARYPRIORPRIVATEPRIVILEGE120PRIVILEGESPROCEDURALPROCEDUREPROFILE121PUBLICQUERYQUOTERANGE122RAWREADREADSREAL123REASSIGNREBUILDRECHECKRECURSIVE124REFREFERENCESREFERENCINGREINDEX125REJECTRELATIVERELEASERELOPTIONS126REMOTERENAMEREPEATABLEREPLACE127REPLICARESETRESIZERESOURCE128RESTARTRESTRICTRESULTRETURN129RETURNED_LENGTHRETURNED_OCTET_LENGTHRETURNED_SQLSTATERETURNING130RETURNSREUSEREVOKERIGHT131ROLEROLLBACKROLLUPROUTINE132ROUTINE_CATALOGROUTINE_NAMEROUTINE_SCHEMAROW133ROWSROW_COUNTRULESAVEPOINT134SCALESCHEMASCHEMA_NAMESCOPE135SCROLLSEARCHSECONDSECTION136SECURITYSELECTSELFSENSITIVE137SEQUENCESEQUENCESSERIALIZABLESERVER138SERVER_NAMESESSIONSESSION_USERSET139SETOFSETSSHARESHIPPABLE140SHOWSIMILARSIMPLESIZE141SMALLDATETIMESMALLDATETIME_FORMATSMALLINTSNAPSHOT142SOMESOURCESPACESPECIFIC143SPECIFICTYPESPECIFIC_NAMESPILLSPLIT144SQLSQLCODESQLERRORSQLEXCEPTION145SQLSTATESQLWARNINGSTABLESTANDALONE146STARTSTATESTATEMENTSTATEMENT_ID147STATICSTATISTICSSTDINSTDOUT148STORAGESTORESTRICTSTRIP149STRUCTURESTYLESUBCLASS_ORIGINSUBLIST150SUBSTRINGSUMSUPERUSERSYMMETRIC151SYNONYMSYS_REFCURSORSYSDATESYSID152SYSTEMSYSTEM_USERTABLETABLES153TABLE_NAMETEMPTEMPLATETEMPORARY154TERMINATETEXTTHANTHEN155TIMETIME_FORMATTIMESTAMPTIMESTAMP_FORMAT156TIMEZONE_HOURTIMEZONE_MINUTETINYINTTO157TRAILINGTRANSACTIONTRANSACTIONS_COMMITTEDTRANSACTIONS_ROLLED_BACK158TRANSACTION_ACTIVETRANSFORMTRANSFORMSTRANSLATE159TRANSLATIONTREATTRIGGERTRIGGER_CATALOG160TRIGGER_NAMETRIGGER_SCHEMATRIMTRUE161TRUNCATETRUSTEDTYPETYPES162UESCAPEUNBOUNDEDUNCOMMITTEDUNDER163UNENCRYPTEDUNIONUNIQUEUNKNOWN164UNLIMITEDUNLISTENUNLOCKUNLOGGED165UNNAMEDUNNESTUNTILUNUSABLE166UPDATEUPPERUSAGEUSER167USER_DEFINED_TYPE_CATALOGUSER_DEFINED_TYPE_NAMEUSER_DEFINED_TYPE_SCHEMAUSING168VACUUMVALIDVALIDATEVALIDATION169VALIDATORVALUEVALUESVARCHAR170VARCHAR2VARIABLEVARIADICVARYING171VCGROUPVERBOSEVERIFYVERSION172VIEWVOLATILEWHENWHENEVER173WHEREWHITESPACEWINDOWWITH174WITHINWITHOUTWORKWORKLOAD175WRAPPERWRITEXMLXMLATTRIBUTES176XMLCONCATXMLELEMENTXMLEXISTSXMLFOREST177XMLPARSEXMLPIXMLROOTXMLSERIALIZE178YEARYESZONE-
  • [技术干货] openGauss开源两周年:根社区的健壮,哺育了生态的枝繁叶茂
    开源,中国新一代数据库发展的最优解目前全球基础软件行业有两个重要的趋势:一方面是“软件吞噬世界”,每一家公司都在变成软件公司;另一方面是“开源吞噬软件”,越来越多的公司在拥抱开源,使用开源软件。开源是当今基础软件在全球范围内取得成功最优路径。就数据库领域来说,全球数据库产业正在从商业数据库时代走向开源数据库时代。DB-Engines数据显示,开源数据库的流行度和数量都超过了商业数据库,正成为技术与市场变革的新引擎。国内情况也是如此。几乎每一家主流的数据库厂商都在拥抱开源。开源数据库已经成为国产数据库实现突围的主要途径,也是新一代数据库发展的最佳选择。根据IDC预测,2025年全球数据量将达到175ZB,根据中国信通院测算,2020年全球数据库市场规模为671亿美元,其中中国数据库市场规模为35亿美元,占全球5.2%。预计到2025年,中国数据库市场总规模将达到688亿元,年复合增长率为23.4%。进入万物智能的时代,数据是智能的柴米油盐,是智能的基石,而中国市场的需求是巨大的,如果没有开源,传统数据库很难以现在的迭代和扩张速度去支撑中国市场的场景爆发,也难以支撑智能化时代的挑战。其次,在迫切需要发展壮大基础软件的当下,开源有助于扩大人才规模及上下游生态影响力,达到多方共赢目的。所以,开源成为中国当下新一代数据库发展的最优选择。不断迭代新版本,构建多场景支持能力从2年前openGauss发布首个社区版本开始,已经迭代发布了3个Preview版本,2个Release版本。在openGauss社区的带领下,现在已有十多家合作伙伴发布基于openGauss的商业发行版,并且在金融、运营商、政府、能源、大企业等行业的核心场景中规模商用落地。例如,在中国邮政储蓄银行的新一代个人业务核心系统中, openGauss成功落地。项目在2022年4月23日全面成功上线,数据库5倍处理能力提升,支取&查询性能提升25%,支撑日均20亿笔交易。从这就可以看到,开源在数据库行业已经不仅仅是一个主流的软件开发模式,而是突破了开发者圈层,得到越来越多圈外人的关注,尤其是来自金融、电信、能源领域大型企业的关注,成为一种主流的商业模式。openGauss强大的落地能力主要来自于其强大的企业级特性:具备高性能、高可靠、高安全、高智能等特性,提供面向多核的极致性能、全链路的业务和数据安全、基于AI的调优和高效运维的能力,全面友好开放。这些优势让中国海洋石油集团有限公司毅然选择openGauss作为智能油田数字化转型关键底座。7X24实时健康监控、面向新型智能油田数字化建设要求、打通传统数据库在监控、操作层面的两难问题,都被基于openGauss构建的融管家逐一解决。在最近发布的3.0版本中,openGauss还针对应用场景进行重大升级,发布四项新的能力:包括面向边缘场景的轻量化版本;完备的集群管理组件;支持MySQL语法兼容和数据迁移;面向分布式应用场景,联合分布式中间件推出高性能的分布式解决方案。随着openGauss3.0社区发行版发布,海量数据、云和恩墨、神舟通用、中国联通、超图软件和南大通用等伙伴和行业客户也将在近期发布基于openGauss3.0的商业发行版。例如,云和恩墨基于openGauss研发的商业发行版MogDB3.0集成了openGauss3.0的全部特性,具备“安”、“稳”、“易”、“用”四大核心能力,正基于openGauss生态加速成长;神通openGauss版结合了神舟通用公司多年的技术积累,在openGauss基础上多方面展开扩展研发,包括高可用性增强,提供易用的管理工具,进行通用开发接口的兼容性开发,集成第三方插件等,已成为诸多重要行业和应用系统的重要支撑软件;海量数据基于openGauss,结合自身多年的技术积累和丰富的行业经验研发的海量Vastbase数据库实现了从架构到引擎等多维度的优化,拥有极致性能与高兼容、高可用、高并发等多种特性,已广泛应用于各行各业。正是通过云和恩墨、神舟通用、海量数据等诸多伙伴持续、积极的贡献,openGauss正持续打造面向数字基础设施的开源数据库,面向千行百业构建起多场景支持能力,支撑数字化转型。而对于开源数据库来说,根技术和根社区又占据着极其重要的位置。根技术和根社区的健壮发展,往往会在短时间内“聚伙伴、集众智”,滋补整个产业链,不仅可以快速落地到各个行业,还能对数字经济系统运行发挥主导作用,占据在价值链的高端。作为开源数据库根社区的openGauss,根植于中国数字经济的沃土,目前已吸引130余家企业加入,有3300余名开发者参与社区贡献,共计80余万次软件下载,在各行业累计商用部署1.5万多套,在今年4月最新的国內数据库流行度排行榜中名列榜首。从开源起步、稳健推进到加速成长,2年来,openGauss焕发出巨大的创新力和生长活力。以创新基因使能数据库全产业链加速发展数字时代,数据库企业迎来了最好的发展时期。开源数据库社区在致力技术创新、坚持自力更生发展、不断提高自主创新能力的同时,还应不断完善产业生态,快速成长。面对开发者和生态伙伴等不同主体,openGauss提供多方面的使能工具。面向开发者,打造体系化赋能平台,加速人才能力提升,通过教育部智能基座项目,以及人才发展计划、各项创新大赛等举措,加速人才能力提升;面向面向发行商(DBV)和专业服务商(CSP),建立发行版与专业服务标准,牵引伙伴投入和成长,提升客户满意度;面向应用开发商(ISV),投入平台、工具及专家资源,多维度使能ISV集成openGauss系数据库,加快行业解决方案构建,提升伙伴在核心场景的商用能力。为了更好地使能核心场景,社区将持续创新,未来将在在资源池化架构、引擎插件化架构、数据安全架构、可观测内核架构四方面进行架构创新,引领数据库根技术持续演进,提升openGauss的技术竞争力。“独行快,众行远”,数据库是公认的计算机体系最为复杂,跨技术领域最多,投入大,见效慢的重型软件产品。无论是对于一个开源社区,还是对中国开源的发展,都应该聚伙伴、集众智,共建共享。openGauss开源社区过去两年的快速发展,源于每个开发者、每个伙伴、每个用户,用户开放场景,伙伴积极投入,通过共同培育健壮的根系,持续滋养着“枝繁叶茂”的生态。而openGauss开源社区的未来,通过不断依托企业、伙伴、开发者共同贡献智慧,成长为中国最具创新力的开源社区,成为整个中国数据库产业源源不断发展的动力源泉。来源 ITPUB
  • [技术干货] 乾坤云管理解密之通过命令行手动配置交换机(R19C00及之后版本)上线及debug
    通过命令行手动配置交换机上线1、执行命令system-view,进入系统视图。2、执行命令netconf,使能NETCONF功能并进入NETCONF视图。3、执行命令management-vlan(NETCONF视图),配置交换机和DHCP服务器通信使用的VLAN。management-vlan 14、执行命令controller ip-address ip-address port port-number,配置iMaster NCE-Campus的IP地址;或者执行命令controller url url-string port port-number,配置iMaster NCE-Campus的URL信息。URL和IP只能二选一,即设备要么配置的是iMaster NCE-Campus的URL,要么配置的是iMaster NCE-Campus的IP。对于乾坤云:controller ip-address 139.9.137.139 port 10020或者controller url device.qiankun-saas.huawei.com port 100205、在任意视图下执行命令display netconf connect-status查看交换机上的NETCONF配置。6、在任意视图下执行命令display netconf configuration命令用来查看设备配置的iMaster NCE-Campus信息。注意:请不要使用eth-trunk0作为上行口。=========================================================静态IP地址方式的,需要采用如下 call  home方式:配置交换机的NETCONF功能。[SwitchA] netconf[SwitchA-netconf] source ip 192.168.10.1[SwitchA-netconf] callhome controller[SwitchA-netconf-callhome-controller] ip address 139.9.137.139 port 10020   //该端口号必须与iMaster NCE-Campus使用的端口号一致[SwitchA-netconf-callhome-controller] return注意:当交换机的上行口设置为Eth-Trunk时,设备侧预配置上行口为Eth-Trunk,需要先在iMaster NCE-Campus侧配置上行口为Eth-Trunk口,配置与设备侧相同,再配置管理VLAN。-------------常用命令---------1、reset netconf db-configuration命令用来清除设备上的数据库信息。# 清除设备上的数据库信息。<HUAWEI> system-view[HUAWEI] reset netconf db-configurationWarning: This operation will clear the database configuration and saved configuration file and restart the device. Continue? [Y/N]:2、display netconf configuration命令用来查看设备配置的iMaster NCE-Campus信息。# 查看当前设备配置的iMaster NCE-Campus信息。<HUAWEI> display netconf configuration--------------- Configuration begin---------------controller ip-address 10.1.1.1 port 10020controller ip-address 192.168.2.2 port 10020 (redirected)--------------- Configuration end-----------------3、display netconf connect-status命令用来查看交换机上的NETCONF配置。4、display netconf offline-record命令用来查看交换机下线原因。5、display netconf register-fail-record命令用来查看设备向iMaster NCE-Campus注册失败的记录。# 查看设备向iMaster NCE-Campus注册失败的记录。<HUAWEI> display netconf register-fail-record------------------------------------------------------------------------------  Time                        Error Info------------------------------------------------------------------------------  2019/11/09 22:21:02         Failed to apply IP address2019/11/09 23:12:13         Failed to create TCP link to controller (192.168.1.1)6、display work-mode命令用来查看当前设备的工作模式。# 查看当前设备的工作模式。<HUAWEI> display work-modeCurrent work-mode       : NETCONFWork-mode before upgrade: Cloud-mng7、compare configuration命令用来比较当前的配置文件(包含离线配置)与下次启动的配置文件内容是否一致。使用实例# 比较当前的配置文件(包含离线配置)与下次启动的配置文件内容是否一致。<HUAWEI> compare configurationInfo: The system is now comparing the configuration, please wait....Warning: The current configuration is not the same as the next startup configuration file. There may be several differences, and the following are some configurations beginning from the first: ====== Current configuration line 6 ====== vlan batch 1 to 2 10 to 11 15 70 to 71 91 to 92 100 111 230 240 901 vlan batch 911 1111# l2protocol-tunnel vtp group-mac 0100-0ccd-ffff ====== Configuration file line 6 ====== vlan batch 1 to 2 10 to 11 15 70 91 to 92 100 111 230 240 901 vlan batch 911 1111# l2protocol-tunnel vtp group-mac 0100-0ccd-ffff8、display changed-configuration time命令用来查看最后一次配置变更的时间。# 显示最后一次配置变更的时间。<HUAWEI> display changed-configuration time9、display configuration recover-result命令用来查看配置恢复结果。# 显示配置恢复结果。<HUAWEI> display configuration recover-resultThe current startup saved-configuration file is flash:/vrpcfg.zip.The number of failed commands is 2. ----------------------------------------------------------------------Command : ip address 10.85.1.1 255.255.255.0View    : Vlanif85Line    : 414Reason  : Failed to parse the command.Time    : 10:00:06  2012-07-25 UTC+08:00 DSTCommand : ip address 10.86.1.1 255.255.255.0View    : Vlanif86Line    : 417Reason  : Failed to parse the command.Time    : 10:00:06  2012-07-25 UTC+08:00 DST
  • [技术干货] 乾坤云管理解密之通过命令行手动配置交换机(R19C00及之后版本)上线及debug
    通过命令行手动配置交换机上线1、执行命令system-view,进入系统视图。2、执行命令netconf,使能NETCONF功能并进入NETCONF视图。3、执行命令management-vlan(NETCONF视图),配置交换机和DHCP服务器通信使用的VLAN。management-vlan 14、执行命令controller ip-address ip-address port port-number,配置iMaster NCE-Campus的IP地址;或者执行命令controller url url-string port port-number,配置iMaster NCE-Campus的URL信息。URL和IP只能二选一,即设备要么配置的是iMaster NCE-Campus的URL,要么配置的是iMaster NCE-Campus的IP。对于乾坤云:controller ip-address 139.9.137.139 port 10020或者controller url device.qiankun-saas.huawei.com port 100205、在任意视图下执行命令display netconf connect-status查看交换机上的NETCONF配置。6、在任意视图下执行命令display netconf configuration命令用来查看设备配置的iMaster NCE-Campus信息。注意:请不要使用eth-trunk0作为上行口。=========================================================静态IP地址方式的,需要采用如下 call  home方式:配置交换机的NETCONF功能。[SwitchA] netconf[SwitchA-netconf] source ip 192.168.10.1[SwitchA-netconf] callhome controller[SwitchA-netconf-callhome-controller] ip address 139.9.137.139 port 10020   //该端口号必须与iMaster NCE-Campus使用的端口号一致[SwitchA-netconf-callhome-controller] return注意:当交换机的上行口设置为Eth-Trunk时,设备侧预配置上行口为Eth-Trunk,需要先在iMaster NCE-Campus侧配置上行口为Eth-Trunk口,配置与设备侧相同,再配置管理VLAN。-------------常用命令---------1、reset netconf db-configuration命令用来清除设备上的数据库信息。# 清除设备上的数据库信息。<HUAWEI> system-view[HUAWEI] reset netconf db-configurationWarning: This operation will clear the database configuration and saved configuration file and restart the device. Continue? [Y/N]:2、display netconf configuration命令用来查看设备配置的iMaster NCE-Campus信息。# 查看当前设备配置的iMaster NCE-Campus信息。<HUAWEI> display netconf configuration--------------- Configuration begin---------------controller ip-address 10.1.1.1 port 10020controller ip-address 192.168.2.2 port 10020 (redirected)--------------- Configuration end-----------------3、display netconf connect-status命令用来查看交换机上的NETCONF配置。4、display netconf offline-record命令用来查看交换机下线原因。5、display netconf register-fail-record命令用来查看设备向iMaster NCE-Campus注册失败的记录。# 查看设备向iMaster NCE-Campus注册失败的记录。<HUAWEI> display netconf register-fail-record------------------------------------------------------------------------------  Time                        Error Info------------------------------------------------------------------------------  2019/11/09 22:21:02         Failed to apply IP address2019/11/09 23:12:13         Failed to create TCP link to controller (192.168.1.1)6、display work-mode命令用来查看当前设备的工作模式。# 查看当前设备的工作模式。<HUAWEI> display work-modeCurrent work-mode       : NETCONFWork-mode before upgrade: Cloud-mng7、compare configuration命令用来比较当前的配置文件(包含离线配置)与下次启动的配置文件内容是否一致。使用实例# 比较当前的配置文件(包含离线配置)与下次启动的配置文件内容是否一致。<HUAWEI> compare configurationInfo: The system is now comparing the configuration, please wait....Warning: The current configuration is not the same as the next startup configuration file. There may be several differences, and the following are some configurations beginning from the first: ====== Current configuration line 6 ====== vlan batch 1 to 2 10 to 11 15 70 to 71 91 to 92 100 111 230 240 901 vlan batch 911 1111# l2protocol-tunnel vtp group-mac 0100-0ccd-ffff ====== Configuration file line 6 ====== vlan batch 1 to 2 10 to 11 15 70 91 to 92 100 111 230 240 901 vlan batch 911 1111# l2protocol-tunnel vtp group-mac 0100-0ccd-ffff8、display changed-configuration time命令用来查看最后一次配置变更的时间。# 显示最后一次配置变更的时间。<HUAWEI> display changed-configuration time9、display configuration recover-result命令用来查看配置恢复结果。# 显示配置恢复结果。<HUAWEI> display configuration recover-resultThe current startup saved-configuration file is flash:/vrpcfg.zip.The number of failed commands is 2. ----------------------------------------------------------------------Command : ip address 10.85.1.1 255.255.255.0View    : Vlanif85Line    : 414Reason  : Failed to parse the command.Time    : 10:00:06  2012-07-25 UTC+08:00 DSTCommand : ip address 10.86.1.1 255.255.255.0View    : Vlanif86Line    : 417Reason  : Failed to parse the command.Time    : 10:00:06  2012-07-25 UTC+08:00 DST标签:数据库
总条数:2169 到第
上滑加载中