自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小城我家

菜鸟成长记

  • 博客(54)
  • 资源 (20)
  • 问答 (1)
  • 收藏
  • 关注

原创 FastDFS 集群和配置优化

FastDFS 集群和配置优化FastDFS集群架构设置3台CentOS 7 虚拟机3个tracker 3个storage192.168.181.135192.168.181.134192.168.181.128trackertrackertrackerstorage(group1)storage(group1)storage(group2)nginxnginxnginx全部按单个的配置https://blog.csdn.net/ko0491/a

2020-09-30 18:50:45 987

原创 FastDFS 系统架构和功能原理

FastDFS 系统架构和功能原理storage server:存储服务器(又称存储节点或数据服务器),文件和文件属性(meta data)都保存到存储服务器上。Storage server直接利用OS的文件系统调用管理文件Storage server(后简称storage)以组(卷,group或volume)为单位组织,一个group内包含多台storage机器,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的

2020-09-30 16:53:20 438

原创 JAVA 访问fastdfs

官网https://github.com/happyfish100/fastdfs-client-java依赖 <dependencies> <!--fastdfs的java客户端--> <dependency> <groupId>cn.bestwu</groupId> <artifactId>fastdfs-client-java</a

2020-09-30 16:27:39 340

原创 Linux下FastDFS 安装

官方https://github.com/happyfish100/fastdfs/wiki安装编译环境yum install git gcc gcc-c++ make automake vim wget libevent -y安装libfastcommon 基础库cd /user/localmkdir fastdfscd fastdfsgit clone https://github.com/happyfish100/libfastcommon.git --depth 1cd li

2020-09-30 15:49:34 254

原创 FastDFS 基础概念

FastDFS是一个开源的 轻量级 分布式文件系统。它解决了大数据量存储和负载均衡问题。特别适合以中小[4k-500M]文件为载体的在线服务为什么要有分布式文件系统单机时代优点:文件访问比较便利,项目直接引用,实现起来简单,无需任何复杂技术,保存文件和访问文件都很方便。缺点:一方面,文件和代码耦合在一起,文件越多存放越混乱。另一方面,如果流量比较大,静态文件访问会占据一定的资源,影响正常业务进行,不利于网站快速发展独立文件服务器优点:Web/App服务器可以更专注发挥动态处理的能力。独立存储,更

2020-09-30 14:35:37 164

原创 Mongodb -分片集群搭建-安全认证

下载https://www.mongodb.com/节点关系| 192.168.181.138| 192.168.181.139| 192.168.181.137|192.168.180.132||–|--|–|| mongos 27017 | mongos 27017 | mongos 27017 ||| 配置17017节点| 分片shard1节点37017 | 分片shard2节点47017 |分片shard3节点57017|| 配置17087节点| 分片shard1节点370

2020-09-29 19:15:44 654

原创 Neo4j之Admin管理员操作

Neo4j之Admin管理员操作Neo4j - 数据库备份和恢复在对Neo4j数据进行备份、还原、迁移的操作时,首先要关闭neo4j/bin/neo4j stop数据备份到文件./bin/neo4j-admin dump --database=graph.db --to=/root/qyn.dump还原、迁移之前 ,关闭neo4j服务。操作同上./bin/neo4j-admin load --from=/root/qyn.dump --database=graph.db --force

2020-09-28 18:55:48 1105

原创 Neo4j CQL高级

Neo4j CQL高级CQL 函数字符串函数MATCH (p:Person)RETURN ID(p),LOWER(p.character)match(p:Person) returnp.character,lower(p.character),p.name,substring(p.name,2),replace(p.name,"子","zi")聚合函数MATCH (p:Person)RETURN MAX(p.money),SUM(p.money)关系函数match p =

2020-09-28 17:00:02 267

原创 Neo4j CQL

CQL简介CQL代表Cypher查询语言。 像关系型数据库具有查询语言SQL,Neo4j使用CQL作为查询语言。Neo4j CQL它是Neo4j图形数据库的查询语言。它是一种声明性模式匹配语言。它遵循SQL语法。它的语法是非常简单且人性化、可读的格式常用的Neo4j CQL命令/条款如下CREATECREATE (<node-name>:<label-name>[{<property1-name>:<property1-Value>

2020-09-28 16:50:03 451

原创 neo4j安装

Neo4j环境Linux下搭建切换到Linux下 到安装目录neo4j 上传安装包 或者 下载安装包使用 ftp 工具上传neo4j-community-3.5.17.tar 到 liunx 下或者 wget https://neo4j.com/artifact.php?name=neo4j-community-3.5.17-unix.tar.gz解压tar -xvf neo4j-community-3.5.17.tar修改配置文件 neo4j.confvi conf/neo4j.conf

2020-09-28 16:37:53 276

原创 MongoDB安全认证

MongoDB安全认证安全认证概述MongoDB 默认是没有账号的,可以直接连接,无须身份验证。实际项目中肯定是要权限验证的,否则后果不堪设想.首先用户对于数据库的安全不重视,其次用户在使用过程中可能没有养成定期备份的好习惯,最后是企业可能缺乏有经验和技术的专业人员。所以对MongoDB进行安全认证是必须要做的。用户相关操作切换到admin数据库对用户的添加use admin;db.createUser(userDocument):用于创建 MongoDB 登录用户以及分配权限的方法d

2020-09-28 15:08:17 236

原创 Mongo 分片集群 Shard Cluster

什么是分片分片(sharding)是MongoDB用来将大型集合水平分割到不同服务器(或者复制集)上所采用的方法。不需要功能强大的大型计算机就可以存储更多的数据,处理更大的负载为什么要分片1.存储容量需求超出单机磁盘容量。2.活跃的数据集超出单机内存容量,导致很多请求都要从磁盘读取数据,影响性能。3.IOPS超出单个MongoDB节点的服务能力,随着数据的增长,单机实例的瓶颈会越来越明显。4.副本集具有节点数量限制。垂直扩展:增加更多的CPU和存储资源来扩展容量。水平扩展:将数据集分布在多个

2020-09-27 20:49:32 365

原创 MongoDB 搭建复制集

下载https://blog.csdn.net/ko0491/article/details/108764916建立3个配置文件mongo_27017.conf#数据目录dbpath=/data/mongo/data/server1#端口号port=27017bind_ip=0.0.0.0#以后台运行fork=true# 日志路径logpath = /data/mongo/logs/server1.log# 追加logappend = true# 授权auth=false

2020-09-27 19:17:04 2690

原创 MongoDB集群高可用

MongoDB集群高可用MongoDB主从复制架构原理和缺陷master-slave架构中master节点负责数据的读写,slave没有写入权限只负责读取数据在主从结构中,主节点的操作记录成为oplog(operation log)。oplog存储在系统数据库local的oplog.$main集合中,这个集合的每个文档都代表主节点上执行的一个操作。从服务器会定期从主服务器中获取oplog记录,然后在本机上执行!对于存储oplog的集合,MongoDB采用的是固定集合,也就是说着操作过多,新的操作会覆

2020-09-27 10:10:35 596

原创 MongoDB 存储引擎

存储引擎概述存储引擎是MongoDB的核心组件,负责管理数据如何存储在硬盘和内存上。MongoDB支持的存储引擎有MMAPv1 ,WiredTiger和InMemory。InMemory存储引擎用于将数据只存储在内存中,只将少量的元数据(meta-data)和诊断日志(Diagnostic)存储到硬盘文件中,由于不需要Disk的IO操作,就能获取所需的数据,InMemory存储引擎大幅度降低了数据查询的延迟(Latency)。从mongodb3.2开始默认的存储引擎是WiredTiger,3.2版本之前的

2020-09-27 09:43:27 1337

原创 MongoDB索引Index

什么是索引索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引目标是提高数据库的查询效率,没有索引的话,查询会进行全表扫描(scan every document in a collection),数据量大时严重降低了查询效率。默认情况下Mongo在一个集合(collection)创建时,自动地对集合的_id创建了唯一索引索引

2020-09-25 09:30:37 1919

原创 MongoDB 聚合操作

MongoDB 聚合操作聚合是MongoDB的高级查询语言,它允许我们通过转化合并由多个文档的数据来生成新的在单个文档里不存在的文档信息。一般都是将记录按条件分组之后进行一系列求最大值,最小值,平均值的简单操作,也可以对记录进行复杂数据统计,数据挖掘的操作。聚合操作的输入是集中的文档,输出可以是一个文档也可以是多个文档。MongoDB 聚合操作分类单目的聚合操作(Single Purpose Aggregation Operation)聚合管道(Aggregation Pipeline)Ma

2020-09-24 18:01:27 337

原创 MongoDB基础操作

MongoDB的基本操作查看数据库show dbs;切换数据库 如果没有对应的数据库则创建use 数据库名;创建集合db.createCollection("集合名")查看集合show tables;show collections;删除集合db.集合名.drop();删除当前数据库db.dropDatabase();show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GB> show dbs;admin 0

2020-09-24 10:12:28 306

原创 MongoDB下载与单机安装

下载官网https://www.mongodb.com/mkdir /data/db -p启动ps -ef | grep mongo以前台进程启动启动参数参数 说明dbpath 数据库目录,默认/data/dbport 监听的端口,默认27017bind_ip 监听IP地址,默认全部可以访问fork 是否已后台启动的方式登陆logpath 日志路径logappend 是否追加日志auth 是开启用户密码登陆config 指定配置文件样例vim

2020-09-24 00:44:58 389

原创 MongoDB 体系结构

NoSQL 和 MongoDBNoSQL=Not Only SQL,支持类似SQL的功能, 与Relational Database相辅相成。其性能较高,不使用SQL意味着没有结构化的存储要求(SQL为结构化的查询语句),没有约束之后架构更加灵活。NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储MongoDBMongoDB 是一个基于分布式文件存储的数据库,由 C++ 编写,可以为 WEB 应用提供可扩展、高性能、易部署的数据存储

2020-09-23 23:58:05 1258

原创 Mycat事务

Mycat事务Mycat 数据库事务Mycat 目前没有出来跨分片的事务强一致性支持,单库内部可以保证事务的完整性,如果跨库事务,在执行的时候任何分片出错,可以保证所有分片回滚,但是一旦应用发起 commit 指令,无法保证所有分片都成功,考虑到某个分片挂的可能性不大所以称为弱 XAXA 事务使用Mycat 从 1.6.5 版本开始支持标准 XA 分布式事务,考虑到 MySQL 5.7 之前版本XA有bug,所以推荐最佳搭配 XA 功能使用 MySQL 5.7 版本。Mycat 实现 XA 标准

2020-09-21 19:33:20 1678

原创 mycat- schema.xml配置-rule.xml配置

schema.xml 作为 Mycat 中重要的配置文件之一,管理着 Mycat 的逻辑库、表、分片节点、主机等信息<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100

2020-09-21 11:02:16 411

原创 mycat- server.xml配置

server.xml几乎保存了所有 mycat 需要的系统配置信息user标签这个标签主要用于定义登录 mycat 的用户和权限。例如下面的例子中,我们定义了一个用户,用户名为 user、密码也为 user,可访问的 schema为lg_edu_order。 <user name="user"> <property name="password">user</property> <property name="schemas">TESTDB&

2020-09-21 10:49:48 411

原创 分布式事务理论

分布式事务理论CAP(强一致性)CAP 定理,又被叫作布鲁尔定理。对于共享数据系统,最多只能同时拥有CAP其中的两个,任意两个都有其适应的场景BASE(最终一致性)BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( EventualConsistency)。它的核心思想是即使无法做到强一致性(CAP 就是强一致性),但应用可以采适合的方式达到最终一致性BA指的是基本业务可用性,支持分区失败;S表示柔性状态,也就是允许短时间内不同步

2020-09-17 14:12:31 126

原创 Mysql -MHA环境搭建

安装一台虚拟机并安装mysql用户名密码 root/root克隆3台出来192.168.181.135 -master192.168.181.134 -slave1192.168.181.133-slave2192.168.181.132-mha 停止mysql systemctl stop mysqldip用途192.168.181.132MHA管理节点192.168.181.133slave2192.168.181.134slave1192.16

2020-09-14 15:16:17 611

原创 mysql-分库分表概述

分库分表概述互联网系统需要处理大量用户的请求。比如微信日活用户破10亿,海量的用户每天产生海量的数量;美团外卖,每天都是几千万的订单,那这些系统的用户表、订单表、交易流水表等是如何处理呢?数据量只增不减,历史数据又必须要留存,非常容易成为性能的瓶颈,而要解决这样的数据库瓶颈问题,“读写分离”和缓存往往都不合适,目前比较普遍的方案就是使用NoSQL/NewSQL或者采用分库分表。使用分库分表时,主要有垂直拆分和水平拆分两种拆分模式,都属于物理空间的拆分。分库分表方案:只分库、只分表、分库又分表。垂直

2020-09-11 19:44:13 223

原创 mysql-双主环境

搭建一个主从添加链接描述添加一台新的服务修改原来的master中的my.cnf# endable binloglog_bin=mysql-binserver-id=1sync-binlog=1# 哪些库同步不步不设置就全步binlog-ignore-db=information_schemabinlog-ignore-db=mysqlbinlog-ignore-db=performance_schemabinlog-ignore-db=sys# 同步的库# binlog-db-

2020-09-11 17:51:12 105

原创 mysql-双主模式

mysql-双主模式

2020-09-11 17:03:15 3631

原创 mysql-读写分离之 mysql-proxy安装

下载https://downloads.mysql.com/archives/proxy/上传服务器修改角本sudo vim /usr/local/mysql-proxy/mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy/rw-splitting.lua将min_idle_connections = 4, 改为1创建配置文件 任何地方都可以sudo vim /etc/mysql-proxy.cnf内容[my

2020-09-11 09:19:45 104

原创 mysql-主从环境搭建

准备2个机器分别都安装好mysqlhttps://blog.csdn.net/ko0491/article/details/108513400防火墙基本操作命令https://blog.csdn.net/ko0491/article/details/107374919关闭防火墙-同时禁止开机启动[root@localhost ~]# systemctl stop iptables;Failed to stop iptables.service: Unit iptables.service no

2020-09-10 19:33:49 658

原创 yum安装mysql

sudo wget https://repo.mysql.com//mysql-community-release-el7-7.noarch.rpmrpm -ivh mysql-community-release-el7-7.noarch.rpm查看仓库yum repolist enabled | grep mysql安装yum install mysql-community-server

2020-09-10 14:29:18 71

原创 mysql-集群概述

mysql-主从模式mysql-集群概述可用性设计站点高可用,冗余站点服务高可用,冗余服务数据高可用,冗余数据保证高可用的方法是冗余。但是数据冗余带来的问题是数据一致性问题实现高可用的方案有以下几种架构模式:主从模式简单灵活,能满足多种需求。比较主流的用法,但是写操作高可用需要自行处理。双主模式互为主从,有双主双写、双主单写两种方式,建议使用双主单写扩展性设计扩展性主要围绕着读操作扩展和写操作扩展展开。如何扩展以提高读性能加从库简单易操作,方案成熟。从库过多会

2020-09-10 14:28:50 614

原创 Mysql 锁机制

Mysql 锁机制在 MySQL中锁有很多不同的分类。从操作的粒度可分为表级锁、行级锁和页级锁*表级锁:每次操作锁住整张表。锁定粒度大,发生锁冲突的概率最高,并发度最低。应用在MyISAM、InnoDB、BDB 等存储引擎中。行级锁:每次操作锁住一行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在InnoDB 存储引擎中。页级锁:每次锁定相邻的一组记录,锁定粒度界于表锁和行锁之间,开销和加锁时间界于表锁和行锁之间,并发度一般。应用在BDB 存储引擎中从操作的类型可分为读锁和写锁

2020-09-09 19:24:08 135

原创 mysql 事务隔离级别

事务隔离级别隔离级别类型前面提到的“更新丢失”、”脏读”、“不可重复读”和“幻读”等并发事务问题,其实都是数据库一致性问题,为了解决这些问题,MySQL数据库是通过事务隔离级别来解决的,数据库系统提供了以下 4 种事务隔离级别供用户选择。读未提交Read Uncommitted 读未提交:解决了回滚覆盖类型的更新丢失,但可能发生脏读现象,也就是可能读取到其他会话中未提交事务修改的数据。读已提交读Read Committed 读已提交:只能读取到其他会话中已经提交的数据,解决了脏读。但可能发

2020-09-09 15:41:00 121

原创 mysql mvcc介绍

MVCC多版本控制MVCC,也就是Copy on Write的思想。MVCC除了支持读和读并行,还支持读和写、写和读的并行,但为了保证一致性,写和写是无法并行的。在事务1开始写操作的时候会copy一个记录的副本,其他事务读操作会读取这个记录副本,因此不会影响其他事务对此记录的读取,实现写和读并行。一、MVCC概念MVCC(Multi Version Concurrency Control)被称为多版本控制,是指在数据库中为了实现高并发的数据访问,对数据进行多版本处理,并通过事务的可见性来保证事务

2020-09-09 14:38:03 327

原创 MySQL事务和锁

MySQL事务和锁ACID 特性在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改—》Buffer Pool修改—》刷盘。可能会有下面两种情况:事务提交了,如果此时Buffer Pool的脏页没有刷盘,如何保证修改的数据生效? Red

2020-09-09 14:37:52 238

原创 MySQL索引

索引类型索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下:从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引从应用层次划分:普通索引、唯一索引、主键索引、复合索引从索引键值类型划分:主键索引、辅助索引(二级索引)从数据存储和索引键值逻辑关系划分:聚集索引(聚簇索引)非聚集索引(非聚簇索引)普通索引这是最基本的索引类型,基于普通字段建立的索引,没有任何限制。创建普通索引的方法如下:CREATE IND

2020-09-08 19:08:59 173

原创 mysql- Log

Undo Log介绍Undo:意为撤销或取消,以撤销操作为目的,返回指定某个状态的操作Undo Log:数据库事务开始之前,会将要修改的记录存放到 Undo 日志里,当事务回滚时或者数据库崩溃时,可以利用 Undo 日志,撤销未提交事务对数据库产生的影响Undo Log产生和销毁:Undo Log在事务开始前产生;事务在提交时,并不会立刻删除undolog,innodb会将该事务对应的undo log放入到删除列表中,后面会通过后台线程purge thread进行回收处理。Undo Log

2020-09-07 18:00:09 213

原创 InnoDB存储结构二

InnoDB线程模型IO Thread在InnoDB中使用了大量的AIO(Async IO)来做读写处理,这样可以极大提高数据库的性能。在InnoDB1.0版本之前共有4个IO Thread,分别是write,read,insert buffer和log thread,后来版本将read thread和write thread分别增大到了4个,一共有10个了。read thread : 负责读取操作,将数据从磁盘加载到缓存page页。4个write thread:负责写操作,将缓存脏页刷新到

2020-09-07 15:31:01 234

原创 InnoDB存储结构一

从MySQL 5.5版本开始默认使用InnoDB作为引擎,它擅长处理事务,具有自动崩溃恢复的特性,在日常开发中使用非常广泛。下面是官方的InnoDB引擎架构图,主要分为内存结构和磁盘结构两大部分InnoDB内存结构内存结构主要包括Buffer Pool、Change Buffer、Adaptive Hash Index和Log Buffer四大组件。Buffer Pool:缓冲池,简称BP。BP以Page页为单位,默认大小16K,BP的底层采用链表数据结构管理Page。在InnoDB访问表记录

2020-09-07 13:58:30 277

redis-desktop-manager-0.8.8.384.rar

redis-desktop-manager

2021-12-08

expert+one-on-one+j2ee+development+without+ejb中文版.rar

expert+one-on-one+j2ee+development+without+ejb中文版 e

2020-04-27

design-pattern-java.rar

design-pattern-java

2020-04-24

数据结构与算法 Python语言描述_裘宗燕.rar

数据结构与算法 Python语言描述_裘宗燕

2019-06-03

七周七并发模型.rar

七周七并发模型

2019-06-03

图解Java多线程设计模式.rar

图解Java多线程设计模式

2019-06-03

淘宝十年产品事 带书签目录 完整版.rar

淘宝十年产品事 带书签目录 完整版

2019-05-09

需求:缔造伟大商业传奇的根本力量完整版带.rar

需求:缔造伟大商业传奇的根本力量完整版带

2019-05-09

TCP IP详解卷1:协议 原书第2版

TCP IP详解卷1:协议 原书第2版TCP

2019-05-07

TCP IP详解卷1:协议 原书第2版

TCP IP详解卷1:协议 原书第2版

2019-05-07

C Primer Plus 第6版 非扫描版 中文版

C Primer Plus 第6版 非扫描版 中文版

2019-05-07

Netty实战 电子版

Netty实战 电子版

2019-05-07

Unix编程艺术--完整书签版

Unix编程艺术--完整书签版

2019-04-29

Go语言学习笔记

Go语言学习笔记

2019-04-04

Go实战

Go实战

2019-04-04

Go并发编程实战 第2版

Go并发编程实战 第2版

2019-04-04

GoWeb编程GoWeb编程

GoWeb编程GoWeb编程

2019-04-04

【Go程序设计语言】(详细书签、清晰完整版)

【Go程序设计语言】(详细书签、清晰完整版)

2019-04-04

Mybatis技术内幕

Mybatis技术内幕

2019-04-04

疯狂python讲义下载

疯狂python讲义下载

2019-04-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除