HsqlDB多事务并发读写控制
原创 2022-11-18 13:56 阅读(547)次
最近发现我的工具项目中的hsqldb单表操作会有并发排斥,也就是说只能单线程写操作某张表,如果此时事务没有提交,那么别的线程连读取这张表都会被阻塞住。这下麻烦了,那么万一某个事务大一点,那么这张表不就是串行了么!!
查了半天官方文档,终于看出点眉目,官方说hsqldb目前是已经完全支持多线程操作事务了,原话如下:
```
HyperSQL
supports three live switchable transaction control models, including fully multi-threaded MVCC, and is suitable for
high per...
使用hsqldb工具连接嵌入式数据库hsqldb
原创 2022-10-08 17:42 阅读(1060)次
最近在写一个工具,用了HsqlDB来当作这个工具的本地数据库,但是有一个烦恼就是自己建的表和数据不能用工具浏览,查了一下官网说自带了swing操作界面的工具,于是研究了一下,还真能连接。
用这个工具要下载数据库,不大100多MB,操作如下:
下载数据库
https://sourceforge.net/projects/hsqldb/files/
解压到E:\mytools\hsqldb-2.7.0\中
执行E:\mytools\hsqldb-2.7.0\hsqldb\bin中的runManagerSwing.bat
但是里面的命令是java,要求jdk11以上,所以要下载一...
HsqlDB数据库自增长的两种方式
原创 2022-09-23 18:43 阅读(735)次
HsqlDB数据库自增长的两种方式:一种是IDENTITY,一种是使用SEQUENCE序列;下面介绍一下这两种方式,包括insert后如何获取最后的自增id;
自增:
CREATE TABLE mt_data_source (
id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,
name varchar(255) DEFAULT NULL,
);
序列自增:
CREATE SEQUENCE seq
CREATE TABLE star (id INTEGER...
java stream去重的几种方式
原创 2021-12-01 16:23 阅读(40164)次
我们在操作stream时,如果遇到转map时,如果不处理key重复,就会报错Duplicate key,今天就分享一下我们在操作java stream时如何去重,有哪几种方式。
例如我们源数据有,以下很多例子都使用list来操作
```java
List list = new ArrayList();
list.add(new UserInfo(1,"小明",1));
list.add(new UserInfo(2,"小s",2));
list.add(new UserInfo(1,"小明",2));
```
如果我们要将上面数据去重,按id转换成map,有三种...
存算分离与存算一体的优缺点比较
转载 2021-11-02 10:05 阅读(5280)次
#### 分布式数据库是时代的选择
从1970年IBM的E.F Codd在论文《A Ralational Model of Data for Large Shared Data Banks》中提出的数据库系统关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础,到1977年 Oracle数据库发布,开启了IBM DB2和Oracle等大型商业公司垄断数据库市场二十年。
直到90年代中期,随着互联网时代的来临,开源数据库MySQL,PostgreSQL的出现,这种垄断现象才被打破,以MySQL为代表的开源数据库开始迅速发展。
21世纪10年代,数据的井...
安装Hadoop伪分布式模式教程,版本为Hadoop3.1.4
原创 2021-05-22 18:33 阅读(1062)次
Hadoop有三种安装模式,今天分享其中一种:伪分布式模式。
下载地址:https://hadoop.apache.org/releases.html
安装过程中解决了一些坑点,具体如下:
这种模式只需要一台服务器即可
##### 1.上传hadoop-3.1.4.tar.gz到服务器中,解压
tar -zxvf hadoop-3.1.4.tar.gz
##### 2.修改机器名
hostnamectl set-hostname hd1
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node01
v...
clickhouse如何删除数据库和创建数据库以及分布式DDL创建数据库
原创 2021-02-25 17:20 阅读(6355)次
#### 前言
我们使用clickhouse大部分情况都是使用集群模式,那么我们希望创建库或删除库时都是一条语句在集群所有节点中运行,而不是手动在各节点单独执行创建或删除库。
语句如下:
#### 1.clickhouse删除数据库
```sql
drop database base_db
```
#### 2.存在时再删除数据库
```sql
drop database IF EXISTS base_db
```
IF EXISTS是可选的
#### 3.分布式DDL删除数据库
```sql
drop database IF E...
clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its
原创 2020-11-17 18:06 阅读(1511)次
clickhouse执行分布式DDL报错:Table `xxx` isn't replicated, but shard #2 is replicated according to its cluster definition执行的语句是:alter table engs_comp_clg_result_local on cluster shipin_cluster drop partition 20191101 我是想把我集群shipin_cluster中两个节点的本地表中一个分区删除掉,但是一执行报如上错误,说是我的本地表不是复制表,但是分片2却根据定义在复制。我的集群配置如下:<y...
修改seata server启动服务端口
原创 2019-09-24 09:46 阅读(9218)次
下载地址:https://github.com/seata/seata/releases里面都是linux、windows都同时可以用的绿色版安装包直接双击seata-server.bat就可以默认启动,默认端口为8091,如果想修改端口,也可以用配置项启动,参数如下:Options: --host, -h The host to bind. Default: 0.0.0.0 --port, -p The port to listen. Default: 8091 --storeMode, -m log store mode...
spring cloud+feign+mybatis中使用seata0.9实现分布式事务
原创 2019-09-23 17:11 阅读(6656)次
seata前身叫fescar,是阿里开源的实现分布式事务中间件。官网地址:https://github.com/seata/seata中文文档:https://github.com/seata/seata/wiki/Home_Chinese原理就不说了,话不多说,直接分享代码:首先需要安装seata服务,下载地址:https://github.com/seata/seata/releases里面都是linux、windows都同时可以用的绿色版安装包1.启动seata服务默认以file形式注册,直接可以启动,启动端口默认为8091sh seata-server.sh -p 8091加上-p参数...
spring cloud集成分布式事务中间件seata报错 not support register type: null
原创 2019-09-23 11:50 阅读(9003)次
在启动seata中的RM端时报错:Caused by: io.seata.common.exception.NotSupportYetException: not support register type: null
at io.seata.config.ConfigurationFactory.buildConfiguration(ConfigurationFactory.java:87)
at io.seata.config.ConfigurationFactory.getInstance(ConfigurationFactory.java:71)
at io.seata.s...
js格式化日期Date
原创 2019-09-14 22:16 阅读(1109)次
js格式化日期:Date.prototype.format = function(formatStr) {
var str = formatStr;
str = str.replace(/yyyy|YYYY/, this.getFullYear());
str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
str = str.replace(/dd|DD/, this.getDate() >...
spring事务管理与查询是否需要事务以及可重复读的问题
原创 2018-04-04 11:12 阅读(3229)次
我们先来看下通常的spring配置: <tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
...