持久化技术
xihuanyuye
企业级Web服务、机器学习
展开
-
error converting YAML to JSON: yaml: line 10: found character that cannot start any token
在采用k8s进行容器部署时,发生解析报错但虽然报错在10行,但是最终定位,是在后面的一个添加中,其中type前的本来是两个空格,直接写成了回车键。所以是该报错提示产生了误导。原创 2022-06-08 14:24:52 · 1831 阅读 · 0 评论 -
连表查询
例如:按照 department_id 查询 employees(员工表)和 departments(部门表) 的信息。 方式一 SELECT … FROM … WHERE SELECT e.last_name,e.department_id,d.department_name FROM employees e,departments d where e.department_id = d....原创 2018-08-20 20:21:03 · 1772 阅读 · 0 评论 -
mysql系列(一)char,varchar与text类型的区别
text 、 char、varchar 是数据在数据库中的存放策略问题,设定数据类型的目的为了合理应用存储空间,是数据库服务器数据类型划分的方式。对于应用程序,把它们和string对应就可以了。三种类型做个比较(1)char: char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,MySQL会用空格来填充剩下的字符。因此在读取数据时,cha...原创 2018-11-10 20:25:48 · 160 阅读 · 0 评论 -
一文看懂LDAP数据库
其实在这里直接将LDAP协议表述数据库有失严谨,但是这是最好和最简单的理解这个东东的方式。下面以小明经历的一个故事来了解其优势和作用。认证的烦恼小明的公司有很多IT系统, 比如邮箱、SVN、Jenkins , JIRA,VPN, WIFI… 等等 。新人入职时需要在每个系统中申请一遍账号,每个系统对用户名和密码的要求还不一样, 实在是烦人。这还不算, 按照公司的策略, 这些密码每隔三个月...原创 2018-11-10 21:58:43 · 9553 阅读 · 1 评论 -
JNDI这个奇怪的存在
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface)!这种不是人话的称谓,就像把水称谓“一氧化二氢”一样招人厌恶。一、做什么用?我们常规将Web应用连接数据库,都说通过JDBC在代码层进行连接,写上连接地址,用户名密码。JNDI就是把连接数据库的具体参数配置交给了容器,让容器直接提供给我们一个调用接口。二、例子还是说复杂了,直接看例...原创 2018-11-10 22:17:25 · 292 阅读 · 0 评论 -
Redis优化,为何key-value要存byte数组
总体上说,就是可以提高存取效率,并且在底层存储中节省空间。代码参考:redis存储对象与对象序列化详解参考:redis的两种存储方式string和byte对比Redis优化,存byte数组的好处...原创 2018-12-09 18:34:34 · 10391 阅读 · 0 评论 -
mysql系列(二)搭建主从复制
一、Mysql主从复制原理:Mysql中有一种日志叫做bin日志(二进制日志)。这个日志会记录下所有修改了数据库的SQL语句(insert,update,delete,ALTER TABLE,grant等)。主从复制的原理其实就是把主服务器上的bin日志复制到从服务器上执行一遍,这样从服务器上的数据就和主服务器上的数据相同了。复制流程图:1、主从复制过程1、主节点必须启用二进制日志,记...原创 2018-12-17 14:45:40 · 311 阅读 · 0 评论 -
mysql系列(四)异步复制、全同步复制与半同步复制
这里虽然说的是Mysql数据库,但对应其他数据库,原理没有什么差异。只是在具体实现和配置上不同。一、异步复制(Asynchronous replication) 1、逻辑上MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从库上,如果此时,强...原创 2018-07-26 15:09:53 · 12473 阅读 · 0 评论 -
一篇文章看懂三种存储方式DAS、NAS、SAN
一、DAS、NAS、SAN在存储领域的位置随着主机、磁盘、网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文主要介绍目前主流的存储架构。根据服务器类型分为: 封闭系统的存储(封闭系统主要指大型机) 开放系统的存储(开放系统指基于Windows、UNIX、Linux等操作系统的服务器)开放系统的存储分为:内置存储和外挂存储;外挂存储根据连接的方式分为:直连式存储(Dir...原创 2018-07-25 15:14:56 · 9950 阅读 · 0 评论 -
Spring Data JPA、 MyBatis与Hibernate到底该用谁
数据库持久层,这三者是主流,这三者到底有什么区别和优略呢?一、技术简述1、Spring Data JPA与HibernateSpring Data JPA是Spring Data的子模块。使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易。Spring Data JPA的目标是大大简化数据访问层代码的编码。作为使用者,我们只需要编写自己的rep...原创 2018-07-25 14:35:15 · 16424 阅读 · 2 评论 -
数据库事务的四大特性以及事务的隔离级别
先分析问题,表示很高大上,其实根本说明的就是两个问题。一个是事务都有什么特点,再就是如果多个用户同时进行操作时,相互之间如何保证不影响,美其名曰隔离级别,其实就是几种相互隔离的方式。 一、事务的四个特性 ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,...原创 2018-06-26 08:54:04 · 166 阅读 · 0 评论 -
论清楚Redis、Memcache和MongoDB的关系(一)
一、三者的优略MemcachedMemcached的优点: Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于单机最大程度扛量,支持直接配置为session handle。 Memcached的局限性: 只支持简单的key/value数据结构,不像Red...原创 2018-07-06 20:48:53 · 222 阅读 · 0 评论 -
数据库ACID和CAP理论
对于数据库领域,有两个重要且经典的理论,这两个理论是单点数据库系统及分布式数据库系统(Nosql,通常强调分布式扩展)构建的基础理论。通过这篇文章,希望能帮助小伙伴理解这两个理论的具体含义。一、ACID是RDBMS的理论基石1、名词解释A原子(Atomiclty )事务原子性;C一致(Consistency)插入一张表数据,会影响其它(索引/其它表)等一致。I 隔离性(iosl...原创 2018-07-24 21:12:00 · 396 阅读 · 0 评论 -
论清楚Redis、Memcache和MongoDB的关系(二)
从以下几个维度,对redis、memcache、mongoDB 做了对比1、性能都比较高,性能对我们来说应该都不是瓶颈总体来讲,TPS方面redis和memcache差不多,要大于mongodb2、操作的便利性memcache数据结构单一redis丰富一些,数据操作方面,redis更好一些,较少的网络IO次数mongodb支持丰富的数据表达,索引,最类似关系型数据库,支...原创 2018-07-06 21:02:32 · 269 阅读 · 0 评论 -
用CAS解决并发
说明 CAS = Compare And Set 其实就是通过逻辑,对更新的操作再进行一次查询来判定是否需要操作,解决并发导致的数据变化问题。 一、业务场景 业务场景为,购买商品的过程要对余额进行查询与修改,大致的业务流程如下:(1)从数据库查询用户现有余额 SELECT money FROM t_yue WHERE uid=$uid,不妨设查询出来的$old_money=100元 ...原创 2018-07-06 21:15:11 · 2855 阅读 · 1 评论 -
ElasticSearch存储集群扩展及连接(集群系列一)
互联网时代数据量很大,因此几乎所有的存储都会支持分布式集群工作方式。从横向扩展应用的性能。这里对常见的工具做思路上的梳理,暂不涉及到具体细节。 一、ElasticSearch 扩容 1、可以通过增加机器来进行动态扩容; 2、需要修改各个机器上的配置文件; 3、最终需要重启机器;说明: 1、重启机器可以轮流单个重启,但是因为涉及到重启过程中该节点停止服务会导致该节点的数据分片不足,其...原创 2018-07-25 09:27:15 · 7171 阅读 · 0 评论 -
数据处理之OLTP与OLAP
简述 本质就是对数据处理的两种不同场景 联机事务处理OLTP(on-line transaction processing) 联机分析处理OLAP(On-Line Analytical Processing) OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。...原创 2018-07-25 10:10:28 · 323 阅读 · 0 评论 -
HBase和Hive的区别
Hive常规对于HDSF存储中的数据都是用MapReduce来进行操作的,但是该代码的书写非常复杂。Hive是为简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用户编程接口。Hive本身不存储和计算数据,它完全依赖於HDFS和MapReduce。虽然Hive也需要安装M...原创 2018-07-25 11:02:35 · 5545 阅读 · 0 评论 -
数据库Server与数据库Client
虽然知道是客户端与服务端的关系,但是最开始只在Linux上用了Mysql,发现每次安装必须要把server和client都安装上,就有了疑问,这些产品到底是怎么回事。这次好好捋清楚在oracle和mysql中的这些概念。 Mysql-windows 下载社区版,安装时会提示是否是开发版本,或者是仅仅安装server。 客户–client是操作数据库实例的工具 服务器–mysql-serve...原创 2018-06-03 18:27:42 · 2571 阅读 · 0 评论