![](https://img-blog.csdnimg.cn/20190927214900324.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
文章平均质量分 86
Vic·Tory
Make your hands dirty
展开
-
Prometheus+Grafana监控Mysql数据库
使用Prometheus + Grafana对mysql数据库进行监测原创 2024-01-22 12:14:23 · 2062 阅读 · 2 评论 -
OceanBase的HTAP的实现
记录了OceanBase关于HTAP(Hybrid Transaction / Analytical Processing,混合事务分析处理)数据库的思考和实现思路转载 2022-08-10 18:55:52 · 598 阅读 · 0 评论 -
模拟物化视图的实现
物化视图在数据库的数据分析中占有很重要的作用(相关概念记录链接),但是MySQL等数据库只有普通视图,没有实现物化视图。我们可以根据物化视图的思路手动实现类似的功能,即用一个实体表存储经常访问的数据,并按需对其进行更新。创建物化视图表首先创建一个物品表并为其填充数据CREATE TABLE sales ( sales_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , product_name VARCHAR(128)原创 2021-07-23 20:46:45 · 232 阅读 · 0 评论 -
Postgre的规则系统
规则就是在指定表上执行指定动作的时候,定义执行一些额外的动作。规则系统位于解析器和规划器之间,它将解析器输出的查询树经过用户自定义的重写规则处理后,输出新的查询树给规划器。PostgreSQL的视图就是通过规则系统来实现的。原创 2021-07-01 19:54:51 · 457 阅读 · 0 评论 -
Oracle物化视图的刷新
物化视图(MATERIALIZED VIEW)是一个包含查询结果的数据库对象。将经常使用的数据拷贝并存储下来,在查询时就可以直接返回数据。本质上是一个物理表,会占用磁盘空间。本文主要记录了物化视图刷新的方法、时机等相关特性。原创 2021-06-24 20:20:01 · 7467 阅读 · 1 评论 -
数据库分片和分区
数据库的数据量达到一定程度之后,为避免带来系统性能上的瓶颈。需要进行数据的处理,采用的手段是分区、分片、分库、分表。原创 2021-05-27 20:31:19 · 5927 阅读 · 2 评论 -
ANTLR中自定义语法分析过程
使用ANTLR对语法规则节点进行访问时,通过自定义方式进行访问,而不是自带的监听器和访问器原创 2021-05-19 19:31:21 · 563 阅读 · 0 评论 -
ANTLR使用访问器遍历语法树
计算器语法文件实现一个简单的计算器,可以对如下表达式进行识别193a = 5b = 6a+b*2(1+2)*3如下为匹配规则的语法文件Expr.g4grammar Expr;/** 起始规则,语法分析的起点 */prog: stat+ ; stat: expr NEWLINE //匹配expr表达式 + 换行 | ID '=' expr NEWLINE //匹配 变量 = 表达式 换行 | NEWLINE原创 2021-05-18 15:50:50 · 2488 阅读 · 4 评论 -
ANTLR使用监听器遍历语法分析树
使用ANTLR实现一个简单编译器,对Java中的short数组转化为字符串。通过antlr构建语法、词法生成器,并通过监听器对语法生成树进行遍历原创 2021-05-17 17:18:33 · 916 阅读 · 1 评论 -
使用ANTLR进行语法分析
1 使用ANTLR 1.1 安装 1.2 运行并测试2 ANTLR语法 2.1 构成 2.2 歧义 2.3 语法分析树 2.4 监听器 2.5 访问器原创 2021-05-14 16:53:49 · 2218 阅读 · 0 评论 -
编译的基本概念
编译器(compiler)可以将Java、C 这类的高级语言转换成计算机可以识别的机器语言解释器(interpreter)根据用户的输入执行指定的操作编译器组成编译器内部可以分为分析(analysis)部分和 整合(synthesis) 两部分。分析过程把源程序分成多个结构,分别对其格式进行校验,如果违反语法格式则进行提醒。分析部分还会收集有关源程序的信息,会把收集到的信息存放在一个被称为符号表(symbol table) 的数据结构中。符号表和中间表示形式一起传给整合部分。整合过程是根据分析过原创 2021-05-10 19:43:16 · 1320 阅读 · 0 评论 -
MongoDB、Hbase、Redis和ElasticSearch对比
对比常用的几款非关系型数据库MongoDB、Hbase、Redis和ElasticSearch对比。并分析其底层存储结构B树、LSM树、跳表、倒排索引的实现,在理解其基本存储结构的基础上更好地选择合适的数据库。原创 2021-03-30 23:18:02 · 1677 阅读 · 0 评论 -
MySQL基础回顾
1、数据库操作以root用户名登录数据库:mysql -uroot -p,之后会提示输入密码# 显示数据库列表show databases;# 切换到demo数据库use demo;# 修改密码,通过IDENTIFIED BY指定用户的登录密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql1234!';# 创建用户CREATE USER 'work'@'%' IDENTIFIED BY 'work1234';# 重命名用户:原创 2021-03-01 21:54:57 · 164 阅读 · 0 评论 -
MySQL主从数据库配置
通过两个MySQL数据库实现主从数据库存储,实时库由于数据存储在内存中,具有读写速度快、存储量小、断电丢失数据等特点,适宜存储实时数据,历史库由于数据存储在硬盘中,具有读写速度相对较慢、数据量大、断电不会丢失等特点,适宜存储历史数据。系统定时将实时库中的数据追加到历史库中并清空实时库,完成数据备份。主从数据库工作原理如下在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。从库通过SQ原创 2021-01-08 15:46:54 · 420 阅读 · 0 评论 -
使用Spring Data Neo4j操作Neo4j数据库
Neo4j是目前最为流行的图数据库,如何在Java中对其进行简单的节点操作呢?Spring Data Neo4j为我们提供了方便的接口对Neo4j进行简单的操作。引入依赖在Spring Boot中使用Spring Data Neo4j首先需要引入依赖,使用maven进行管理如下 <dependency> <groupId>org.springframework.boot</groupId> <art原创 2020-12-13 22:25:10 · 2533 阅读 · 8 评论 -
Python通过happybase操作HBase数据库
1、安装与Java可以直接操作HBase数据库不同,python需要借助thrift完成对hbase数据库的操作。Thrift是Facebook公布的一款开源跨语言的RPC框架,而RPC (Remote Procedure Call Protocal),远程过程调用协议是指在一台机器上调用另一台机器上进程的协议,这样在客户端通过thrift调用分布式HBase进程从而完成相关操作。通过yum完成thrift安装,并查看版本号yum install thrift -ythrift --version原创 2020-09-28 21:31:43 · 1283 阅读 · 2 评论 -
HBase伪分布式系统的安装配置
简单的对HBase相关概念进行了记录,了解HBase分布式结构。并且在Linux单节点上以伪分布式的方式安装Hadoop、Zookeeper、HBase。简单记录了HBase Shell的简单操作原创 2020-09-17 22:42:09 · 878 阅读 · 3 评论 -
Neo4j数据库语言Cypher
Cypher是图数据库Neo4j的操作语言,通过它可以实现对Neo4j的存储和查询等操作。受SQL启发,Cypher采用陈述性的语言去描述图结构。而且我们只需要指出图数据库中希望增删改查的数据而不必关心如何实现它。Cypher语法用一种可视化的且符合逻辑的方式去匹配图数据库中的节点和关系。这种方式叫做ASCII-art,即通过字符的形式来抽象表示图结构,例如neo4j通过()表示节点,-->...原创 2019-10-20 22:37:05 · 1527 阅读 · 0 评论 -
Python操作MySQL数据库
1、安装通过Python连接MySQL数据库有很多库,这里使用官方推荐的MySQL Connector/Python库,其官网为:https://dev.mysql.com/doc/connector-python/en/。通过pip命令安装:pip install mysql-connector-python默认安装的是最新的版本,我安装的是8.0.17,对应MySQL的8.0...原创 2019-10-14 22:37:43 · 308 阅读 · 0 评论 -
py2neo操作图数据库neo4j
1、概念图:数据结构中的图由节点和其之间的边组成。节点表示一个实体,边表示实体之间的联系。图数据库:以图的结构存储管理数据的数据库。其中一些数据库将原生的图结构经过优化后直接存储,即原生图存储。还有一些图数据库将图数据序列化后保存到关系型或其他数据库中。之所以使用图数据库存储数据是因为它在处理实体之间存在复杂关系的数据具有很大的优势。使用传统的关系型数据库在处理数据之间的关系时其实很不...原创 2019-09-06 08:37:33 · 9072 阅读 · 24 评论 -
MongoDB的安装配置、基本操作
1、简介NO SQL:NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是对不同于传统的关系数据库管理系统(RDBMS)的统称。NoSQL用于超大规模数据的存储,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。RDBMS NOSQL - 高度组织化结构化数据 - 结构化查询语言(SQL) - 数据和关系都存储在单独的表中...原创 2018-03-20 17:22:27 · 271 阅读 · 0 评论 -
MySQL数据库基础回顾
1、 修改数据表添加一列:ALTERTABLE tab_name ADD col_name column_defi[FIRST|AFTER col_name];可以指定新列的位置关系,位于最开头(FIRST)或者位于某列之后(AFTER…),否则新列默认位于最后。添加多列:ALTERTABLE tab_name ADD(col_name1 column_defi1,col_name2...原创 2017-02-13 18:03:31 · 340 阅读 · 0 评论