
数据库
文章平均质量分 56
光@
这个作者很懒,什么都没留下…
展开
-
浅谈数据库操作的左连接、右连接、内外连接的作用
左连接: 左连接(left join)即为两张表进行连接时,是以处于left join语句左侧的表为基准去匹配left join语句右边的表,如果左表中的一条数据在右表中能找到与之对应的一条数据,那么就会出现在以虚表形式存在的结果表中,如果没有找到,那么会以null来代替右表中的数据去匹配左表。这样会有一个鲜明的对比,左表中的每一条数据中的对象在右表中的某个属性的存在性是一目了然的。同时在使...原创 2018-08-23 09:13:26 · 4431 阅读 · 0 评论 -
分页查询性能优化
最常见的分页采用的是skip+limit这种组合方式,这种方式对付小数据倒也可以,但是对付上几百上千万的大数据,只能力不从心,skip如果跳过大量的数据会很慢,并且会越查越慢,针对这一情况,可以通过条件查询+排序+限制返回记录,即 边查询,边排序,排序之后,抽取上一页中的最后一条记录,作为当前分页的查询条件,从而避免了skip效率低下的问题。 ...原创 2018-12-20 10:35:24 · 438 阅读 · 0 评论 -
MVCC原理
在并发读写数据库时,读操作可能会不一致的数据(脏读)。为了避免这种情况,需要实现数据库的并发访问控制,最简单的方式就是加锁访问。由于,加锁会将读写操作串行化,所以不会出现不一致的状态。但是,读操作会被写操作阻塞,大幅降低读性能。在java concurrent包中,有copyonwrite系列的类,专门用于优化读远大于写的情况。而其优化的手段就是,在进行写操作时,将数据copy一份,不会影响原有数...原创 2018-12-19 19:32:02 · 1815 阅读 · 1 评论 -
数据库评测指标
主要指标:1、高吞吐量 满足高并发下的大数据量交互需求,满足数据备份或ETL过程的大数据量迁移。具体需求信息获取参照以上数据库应用需求。2、负载均衡 满足高并发下数据库的负载均衡能力,需求分析需要收集数据库的部署架构、负载均衡策略等数据信息。3、读写分离 获取需求的要点是明确哪些是写节点,哪些是读节点,并且切换的策略什么,数据同步的策略是什么。4、分区分片(分库分表) 获取需求的要...原创 2018-12-05 19:15:01 · 6514 阅读 · 0 评论 -
Sql 和Nosql区别
SQL类型数据特点1.SQL表创建一个严格的数据模板,因此很难犯错误。2.SQL规范化,多表关联模式最大限度的减少数据的冗余 。3.SQL 具有强大的join 多表关联4.SQL 具有外键保障数据的完整性5.SQL 良好的事物支持6.SQL CRUD 语法是标准化的陈述性语言Nosql类型数据库特点:1.NoSQL更加的灵活和宽容,能够存储任何数据,可能会导致一致性的问题。...原创 2018-12-05 19:08:15 · 900 阅读 · 0 评论 -
memcache和redis对比
1.1 Memcached介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度,现在已被LiveJournal、hatena、Facebook、Vox、LiveJournal等公司所使用。 1.2 Memcached工作方式分析 ...原创 2018-11-13 10:28:38 · 1480 阅读 · 0 评论 -
MapD的结构信息(几个图解)
MapD的结构信息(几个图解)MapD开源了有两个月的时间了,终于公布了其内部的一些结构信息,如下:MapD连接方式: 下面也是连接方式的图解:下面是MapD的数据分类的图示: ...转载 2018-09-26 19:40:00 · 3719 阅读 · 1 评论 -
数据库原理
由于本文是个长篇技术文章,涉及到很多算法和数据结构知识,你尽可以慢慢读。有些概念比较难懂,你可以跳过,不影响理解整体内容。这篇文章大约分为3个部分:底层和上层数据库组件概况 查询优化过程概况 事务和缓冲池管理概况回到基础很久很久以前(在一个遥远而又遥远的星系……),开发者必须确切地知道他们的代码需要多少次运算。他们把算法和数据结构牢记于心,因为他们的计算机运行缓慢,无法承受对CP...转载 2018-10-11 11:05:57 · 252 阅读 · 0 评论 -
mapd环境部署
MapD Technologies将MapD Core数据库进行开源啦。MapD是使用图形处理单元(GPU)以毫秒为单位分析数十亿行数据的先驱,比传统的基于CPU的数据库快几个数量级。MapD Core数据库及其可视化库开源让每个人都可以使用这个世界上最快的分析平台。准备工具服务系统为: CentOS 7 64位 SSH登陆工具系统准备 下面全部在root用户下执行,...原创 2018-09-26 16:52:32 · 3323 阅读 · 0 评论 -
GPU数据库
1. CPU需要很强的通用性来处理各种不同的数据类型 针对逻辑进行分支和跳转 针对顺序串行优化 :逻辑控制, 串行运算, 通用计算2. GPU 数据类型统一、不依赖大量数据、不被打断的纯计算:高并发(简单)运算, 高吞吐量运算, 计算密集(ALU单元)主流GPU数据库介绍MapD MapD成立于2013年,总部位于旧金山,是一家为企业提供图形处理器GPU数据分析服务的初创企...原创 2018-09-20 11:31:12 · 1475 阅读 · 0 评论 -
浅谈B树、B+树索引
前言本文是在讲述什么样的数据结构适合作为索引,以及其适合作为索引的原因。而阅读本文需要对B树和B+树结构有稍微的理解。以及需要对磁盘操作知识有稍微的了解。什么是索引 索引(Index)是帮助数据库高效获取数据的数据结构。索引是在基于数据库表创建的,它包含一个表中某些列的值以及记录对应的地址,并且把这些值存储在一个数据结构中。最常见的就是使用哈希表、B+树作为索引。 为...原创 2019-01-29 16:39:18 · 444 阅读 · 0 评论