
数据存储
包含mysql,oracle,sqlserver,postgreensql,hadoop,hive,hbase,redis等数据存储经验和知识的收集
小凡致心
擅长电商领域和大数据应用,对高并发,高可用,高性能,高安全的系统搭建有一定理解,对平台治理和服务治理有一定了解,对技术有执着,懒人一个,喜欢偷懒,秉着能让机器做的,不要动手,所以喜欢各种通用设施的搭建,希望能把自己贡献给中台化,DDD建设,低代码和AICoding
展开
-
用户行为数据库SkyDB
Sky 是一个用于灵活、高性能的分析行为数据的开源数据库。 包括一些点击流和日志数据,使用 Sky 分析比传统方法 比如 SQL 数据库或者是 Hadoop 速度要快几个数量级。Sky 通过优化数据的组织、更快的查询执行。在一般的硬件上每个CPU核每秒钟可处理几百万的事件。sky 是一个用于跟踪随着时间变化的局部瞬时的哈希状态的数据库,这些哈希之所以是部分瞬态的,是因为哈希的个别属性可以将转载 2014-06-07 21:16:43 · 2583 阅读 · 0 评论 -
memcached使用与优化
1、客户端在与 memcached 服务建立连接之后,进行存取对象的操作,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。2、当存入cached的转载 2014-05-23 13:14:02 · 1055 阅读 · 0 评论 -
memcached常见命令
1、启动Memcache 常用参数-p 设置端口号(默认不设置为: 11211)-U UDP监听端口(默认: 11211, 0 时关闭) -l 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)-d 独立进程运行-u 绑定使用指定用于运行进程-m 允转载 2012-10-31 13:02:03 · 632 阅读 · 0 评论 -
Memcached常用命令及使用说明
一、存储命令存储命令的格式:?12 参数说明如下:set/add/replace查找关键字客户机使用它存储关于键值对的额外信息该数据的存活时间,0表示永远存储字节数存储的数据块(可直接理解为key-va转载 2013-02-17 17:12:44 · 812 阅读 · 0 评论 -
大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
大数据我们都知道hadoop,但并不都是hadoop.我们该如何构建大数据库项目。对于离线处理,hadoop还是比较适合的,但是对于实时性比较强的,数据量比较大的,我们可以采用Storm,那么Storm和什么技术搭配,才能够做一个适合自己的项目。下面给大家可以参考。可以带着下面问题来阅读本文章:1.一个好的项目架构应该具备什么特点?2.本项目架构是如何保证数据准确性的?3.什么是K转载 2014-12-04 18:12:01 · 1466 阅读 · 0 评论 -
Hadoop中MapReduce的原理
Hadoop中的MapReduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的式并 行处理上T级别的数据集。一个MapReduce作业(job)通常会把输入的数据集切分为若干独立的数据块,由map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序,然后把结果输入给reduce任务。通常作业的输入和输出都会原创 2014-02-20 10:39:50 · 1456 阅读 · 0 评论 -
Hadoop Shell命令 |HDFS Shell命令| HDFS 命令
FS Shell调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path 。对 HDFS文件系统,scheme是hdfs ,对本地文件系统,scheme是file 。其中scheme和 authority参数都是可选的,如果未加指定,就会使用配置中指定转载 2014-01-09 16:46:09 · 976 阅读 · 0 评论 -
hadoop :java.lang.OutOfMemoryError: Java heap space
常常被一些用户问到,说“为什么我的mapreduce作业总是运行到某个阶段就报出如下错误,然后失败呢?以前同一个作业没出现过的呀?” 10/01/10 12:48:01 INFO mapred.JobClient: Task Id : attempt_201001061331_0002_m_000027_0, Status : FAILED java.lang.OutOfMemoryErro转载 2013-11-27 13:45:09 · 1884 阅读 · 0 评论 -
Hadoop调度算法相关研究
现在,Hadoop自带的调度策略规定是先进先出(FIFO)的,很多系统也是直接用它。虽然FIFO策略简单稳定,但随着用户和服务的日益增多,特别是服务等级的区分日益明显,高资费的用户希望拥有更优先的服务,因此FIFO没有办法适应越来越多的Hadoop商业应用需求。相关的开发种也有人考虑队列容量分配和公平队列算法,但算法实现都不够实用,也没有认真分析Hadoop中服务优先区分的具体要求。因此,本文将重原创 2014-02-20 10:49:03 · 1179 阅读 · 0 评论 -
Reduce作业运行时错误:Too many fetch-failures
# bin/hadoop jar hadoop-*-examples.jar wordcount /test1 /test211/11/22 20:42:33 INFO input.FileInputFormat: Total input paths to process : 1411/11/22 20:42:33 INFO mapred.JobClient: Running job: j转载 2013-05-24 14:32:34 · 3194 阅读 · 0 评论 -
zookeeper原理(转)
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee转载 2016-01-17 15:04:39 · 463 阅读 · 0 评论 -
hadoop中map和reduce的数量设置问题
map和reduce是hadoop的核心功能,hadoop正是通过多个map和reduce的并行运行来实现任务的分布式并行计算,从这个观点来看,如果将map和reduce的数量设置为1,那么用户的任务就没有并行执行,但是map和reduce的数量也不能过多,数量过多虽然可以提高任务并行度,但是太多的map和reduce也会导致整个hadoop框架因为过度的系统资源开销而使任务失败。所以用户在提交m转载 2013-08-13 11:53:02 · 1975 阅读 · 0 评论 -
Hadoop 使用Combiner提高Map/Reduce程序效率
众所周知,Hadoop框架使用Mapper将数据处理成一个键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。 在上述过程中,我们看到至少两个性能瓶颈:如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的最大值即可。这样做不仅可转载 2013-08-13 11:52:14 · 1213 阅读 · 0 评论 -
Hadoop中map数的计算
Hadoop中在计算一个JOB需要的map数之前首先要计算分片的大小。计算分片大小的公式是:goalSize = totalSize / mapred.map.tasksminSize = max {mapred.min.split.size, minSplitSize}splitSize = max (minSize, min(goalSize, dfs.block.size))转载 2013-04-15 17:45:47 · 1054 阅读 · 0 评论 -
Hadoop运行流程分析
1. 概述Hadoop MapReduce基于“分而治之”的思想,将计算任务抽象成map和reduce两个计算过程,计算流程如下:map过程包括:1). 从磁盘读入数据2). 运行map任务3). 写结果到磁盘reduce过程包括:1). shuffle&sort2). 运行reduce任务3). 写结果到磁盘2. 分析在map的第三个阶转载 2013-08-13 11:51:19 · 1544 阅读 · 0 评论 -
Hadoop在MapReduce中使用压缩详解
hadoop对于压缩文件的支持hadoop对于压缩格式的是透明识别,我们的MapReduce任务的执行是透明的,hadoop能够自动为我们 将压缩的文件解压,而不用我们去关心。 如果我们压缩的文件有相应压缩格式的扩展名(比如lzo,gz,bzip2等),hadoop就会根据扩展名去选择解码器解压。hadoop对每个压缩格式的支持,详细见下表: 压缩格式转载 2013-12-27 17:52:42 · 1020 阅读 · 0 评论 -
mysql中如何设置默认时间为当前时间
修改日期类型为timestamp 并允许空,如下:CREATE TABLE `test` (`aaaa` varchar(50) NOT NULL,`createday` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8;如果转载 2015-11-03 17:44:16 · 3679 阅读 · 0 评论 -
PowerDesigner使用教程|使用方法
希望当接到一个新的工程项目时,程序员只需要根据项目需求,设计出数据库的结构(表,表的字段,表间关系),之后只要按一个按键,就能立刻得到基于该数据库的所有分层架构代码文件.也就是说,我们希望能在不敲一行代码的情况下获取所有我们想要的代码!而这就是这2个软件能做到的事情,也是我们安装它们的目的.好了,角色已经介绍完了,接着看看它们是如何演绎这场精彩的演出的吧:首先我们需要创建一个测转载 2014-07-03 10:58:49 · 1044 阅读 · 0 评论 -
MySQL如何利用索引优化ORDER BY排序语句
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作。通过索引优化来实现MySQL的ORDER BY语句优化:1、ORDER BY的索引优化。如果一个SQL语句形如:SELECT [column1],[column2],…. FRO转载 2015-01-06 12:26:59 · 1118 阅读 · 0 评论 -
mysql中修改数据表的引擎
对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam。 INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的。修改MySQL的引擎为INNODB,可以使用外键,事务等功能,性能高。查看数据表的状态 SHOW TABLE STATUS FROM sites WHERE NA原创 2013-03-12 11:54:39 · 1070 阅读 · 0 评论 -
mysql 如何将行数插入到数据库
需求:SQL语句:原创 2014-07-04 18:11:55 · 1205 阅读 · 0 评论 -
MySQL 索引最佳实践之问题反馈
问:我们团队中的一人想要使用 bigint 字段类型来代替 25-30 长度的 varchar 类型来存储 CRC64 数据,然后将索引也改成 bigint 的索引,这会节省索引的空间。请问这否是合理的性能优化方法?(需要注意到是自适应前缀哈希在这里是无效的,因为前 10 个字符重复率很高,因此 UNIQUE 索引不适合用在这里) 答:在很多时候,这是一个很好的优化方法。考虑到哈希碰撞的问题,你可转载 2015-08-03 14:15:42 · 802 阅读 · 0 评论 -
MySQL SHOW 语法命令汇总
MySQL SHOW语法汇总(基于MySQL 5.7)MySQL SHOW语法命令提供了多种形式获取数据库、表、列和状态等信息,是MySQL管理员和用户最常使用的命令,下面对SHOW 语法的命令进行整理汇总,一共40个,看看你认识几个,用过几个。1、SHOW BINARY LOGS; 或者 SHOW MASTER LOGS;显示MySQL上的Binlog文件信息2、 SHOW BINLOG...转载 2019-10-17 09:17:43 · 918 阅读 · 0 评论 -
InnoDB与Myisam的六大区别总结
MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义。 数据文件的扩展名为.MYD (MYData)。 索引文件的扩展名是.MYI (MYIndex)。 基于磁盘的资源是Inno原创 2014-08-13 10:47:44 · 750 阅读 · 0 评论 -
mysql驱动取别名报Column ×× not found 解决办法
从mysql-connector-java-5.0.8-bin.jar升级到mysql-connector-java-5.1.18-bin.jar后,当select语句用到别名的时候报错:Column ×× not found 。经查原因如下:用apache beanutils包对resultSet进行dyanbean转换时发现别名无法识别跟踪代码时发现mysql的jdbc实现的Res转载 2012-11-23 09:12:06 · 4821 阅读 · 0 评论 -
BoneCP的使用
BoneCP是一个Java数据库连接池库,官方介绍它的速度非常快,测试值高出C3P0、DBCP很多,性能也非常出色,值得一用。使用BoneCP有一些要求: 1)Google Guava library 2)The SLF4J logging library 3)JDK1.5 or higher1、在JDBC中直接使用。 1)classpa转载 2013-08-07 16:36:15 · 1376 阅读 · 0 评论 -
mysql 联合索引
一、联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。两个或更多个列上的索引被称作复合索引。利用索引中的附加列,您可以缩小搜转载 2015-12-31 11:38:10 · 1048 阅读 · 0 评论 -
MySQL中如何判断当前是字符
使用length与char_length两个函数length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符char_length:不管汉字还是数字或者是字母都算是一个字符对同一字段分别使用 length、char_length计算长度,并进行比较长度相同则字段中无汉字,不相同则肯定有汉字 SELECT * FROM t_ad t WHE原创 2013-05-24 11:23:41 · 1052 阅读 · 0 评论 -
Communications link failure,The last packet successfully received from the server was *** millisecon
使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误:Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server w转载 2013-11-14 18:13:21 · 4908 阅读 · 0 评论 -
mysql中int、bigint、smallint 和 tinyint的区别详细介绍
1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到1271.BIT[M]位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为12.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4很小的整数。带符号的范围是-128到127。无符号的范围是0到255。BO...转载 2018-09-05 11:33:59 · 658 阅读 · 0 评论 -
使用PowerDesigner画ER图详细教程
一、概念数据模型概述数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2)容易为人所理解3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。通常人们先将现实世界抽转载 2013-12-23 18:43:01 · 3097 阅读 · 0 评论 -
MySQL数据库服务器双机热备的实现方法两则
在实际的应用中,数据库是非常重要和关键的一个环节。在保障数据库安全的同时,提高应用性和缩短出故障后的恢复时间,也同等重要。特别是在一些持续性和实时性要求高的应用中,故障一小时,可能会让你损失几千到几万甚至更高。 本方案致力于数据库实时备份,并且在故障发生后以最短的时间恢复和修复。 在mysql数据库的备份应用中,主从复制结构是应用的比较广泛,数据同步和实时性都很高,基本上能满足转载 2015-04-02 16:43:16 · 1467 阅读 · 0 评论 -
MYSQL锁表的解决方法
很多时候!一不小心就锁表!这里讲解决锁表终极方法!案例一mysql>show processlist; 参看sql语句 一般少的话 mysql>kill thread_id; 就可以解决了 kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下. #!/bin/bashmys转载 2012-09-17 15:31:01 · 2905 阅读 · 0 评论 -
MYSQL中bit类型的作用及使用
DefaultTemplate bit(1) NOT NULL,//boolean类型//默认值false和true不能用引号括起来,因为是保留值DefaultTemplate bit(1) NOT NULL default false,//boolean类型默认为falseDefaultTemplate bit(1) NOT NULL default true,//boolea原创 2013-02-18 18:50:47 · 12013 阅读 · 0 评论 -
mysql中or和in的效率问题
在网上一直看到的是or和in的效率没啥区别,一直也感觉是这样,前几天刚好在看《mysql数据库开发的36条军规》的文章,里面提到了or和in的效率问题,文中提到or的效率为O(n),而in的效率为O(logn), 当n越大的时候效率相差越明显。今天进行一个测试,分如下case:第一种情况:in和or所在列为主键的情形。 第二种情况:in和or所在列创建有索引的情形。 第二种情况:in和or所在列转载 2016-05-17 13:01:17 · 1051 阅读 · 0 评论 -
MySQL大分页SQL的优化思路
延迟关联法,特别适用于倒排序和 LIMIT m,n 其中m很大的情况所谓的延迟关联,就是先找出目标数据的主键id,通过主键id再去关联主表拿其他字段。由于MySQL 8.0 之前都要不支持倒序索引,所以desc降序没办法通过索引排序,用延迟关联法效率要高很多。LIMIT m,n 的原理是从第1条数据(包含了所有字段)开始,往后顺序找第m条,定位到m位置后,再往后找n条数据。随着m的增大...原创 2019-06-21 10:33:48 · 472 阅读 · 0 评论 -
MYSQL字符串操作整理
ASCII(str)返回字符串str的第一个字符的ASCII值(str是空串时返回0)mysql> select ASCII(’2′);-> 50mysql> select ASCII(2);-> 50mysql> select ASCII(’dete’);-> 100ORD(str)如果字符串str句首是单字节返回与ASCII()函数返回的相同值。如果原创 2012-09-11 18:57:52 · 1878 阅读 · 0 评论 -
mysql乐观锁简介
乐观锁介绍:乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。那么我们如何实现乐观锁呢,一般来说有以下2种方式:1.使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据原创 2014-08-12 12:10:53 · 801 阅读 · 0 评论 -
execute、executeQuery和executeUpdate之间的区别
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。 方法executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。这个方法被用来执行 SELECT 语句,它几乎是使用最原创 2013-08-06 12:38:03 · 888 阅读 · 0 评论 -
DBCP,C3P0,Proxool,BoneCP参数介绍
1 Apache-DBCP: dataSource: 要连接的 datasource (通常我们不会定义在 server.xml) defaultAutoCommit: 对于事务是否 autoCommit, 默认值为 true defaultReadOnly: 对于数据库是否只能读取, 默认值为 false driverClassName:连接数据库所用的 JDBC Driver转载 2013-08-12 14:09:07 · 868 阅读 · 0 评论