●数据库
代立冬
StayHungryStayFoolish外功修行内功修神
展开
-
BS架构下使用消息队列的工作流程
异步通信对于BS(Browser-Server 浏览器)架构,很多情景下server的处理时间较长。如果浏览器发送请求后,保持跟server的连接,等待server响应,那么一方面会对用户的体验有负面影响;另一方面,很有可能会由于超时,提示用户服务请求失败。对于这种情景,消息队列提供了一个较好的解决方案,如图2所示:原创 2015-03-09 16:54:07 · 2603 阅读 · 0 评论 -
Redis3未授权访问漏洞导致服务器被入侵
Redis未授权访问漏洞原创 2017-06-06 16:03:28 · 4962 阅读 · 0 评论 -
开源数据库中间件对比
本文比较了360(Atlas)、美团点评(DBProxy)、Kingshard、携程(DAL)、蘑菇街(TSharding)、阿里(TDDL)、当当(Sharding-JDBC 360)、MyCAT 共8种当下流行的开源数据库中间件,从总体来看mycat占据优势转载 2017-04-16 14:52:31 · 12096 阅读 · 6 评论 -
Redis 为什么用跳表而不用平衡树
Redis 为什么用跳表而不用平衡树?本文是《Redis内部数据结构详解》系列的第六篇。在本文中,我们围绕一个Redis的内部数据结构——skiplist展开讨论。Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这种数据结转载 2016-10-10 22:52:10 · 4701 阅读 · 1 评论 -
数据库拆分的几种方式
数据库做拆分的几种方式:1.按功能划分(垂直切分)将不同功能相关的表放到不同的数据库中,这样做的好处是非常直观。但当某一部分的功能其数据量或性能要求超出了可控的范围,就需要继续对其进行深入的再切分。2.按表中某一字段值的范围划分(水平切分)当伴随着某一个表的数据量越来越大,以至于不能承受的时候,就需要对它进行进一步的切分。一种选择是根据key 的范围来做切分,譬如ID 为 1-10000的放到A上原创 2016-05-04 00:22:39 · 6763 阅读 · 0 评论 -
com.mongodb.MongoException$CursorNotFound: cursor not found on server异常处理
java链接MongoDB处理大量数据时经常碰到cursor not found 的异常,其实是超时所致Exception in thread "main" com.mongodb.MongoException$CursorNotFound: cursor not found on server at com.mongodb.DBApiLayer$Result.init(DBApiLayer.java:379) at com.mongodb.DBApiLayer$Result原创 2015-06-11 15:35:15 · 5572 阅读 · 0 评论 -
Maatkit--Mysql的高级管理工具
Maatkit是不错的mysql管理工具,包含以下主要工具:1、mk-table-checksum 检查主从表是否一致的有效工具2、mk-table-sync 有效保证表一致的工具,不必重载从表而能够保证一致。3、mk-visual-explain exlpain解释工具4、mk-heartbeat 主从同步的监视工具,能够给出从落后于主多少5、mk-pa翻译 2014-02-12 22:37:41 · 2357 阅读 · 1 评论 -
为首次部署MongoDB做好准备:容量计划和监控
为首次部署MongoDB做好准备:容量计划和监控作者Mat Keep ,译者孙镜涛如果你已经完成了自己新的MongoDB应用程序的开发,并且现在正准备将它部署进产品中,那么你和你的运营团队需要讨论一些关键的问题:最佳部署实践是什么?为了确保应用程序满足它所必须的服务层次我们需要监控哪些关键指标?如何能够确定添加分片的时机?有哪些工具可以对数据库进行备份和恢复?怎样才能安全地转载 2015-07-10 18:33:22 · 1201 阅读 · 0 评论 -
分布式主键生成策略
在分布式高并发的情况下,分布式主键生成策略可参考mongodb的objectid实现ObjectId是一种轻量型的,不同的机器不同的进程都能用全局唯一的同种方法生成它,而不是采用传统的自增的主键策略,因为在多台服务器上同步自动增加主键既费力又费时。ObjectId是一个24位的字符串,它是由一组十六进制的字符构成,每个字节两位的十六进制数字,总共用了12字节的存储空间。MongoDB的这种原创 2016-02-17 13:25:14 · 3536 阅读 · 0 评论 -
mysql 存在update不存在insert
如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。例如,如果列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果:INSERT INTO test(a,c原创 2015-09-23 11:11:20 · 2078 阅读 · 0 评论 -
数据库事务隔离级别
一,事务的4个基本特征 Atomic(原子性): 事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要 么全部成功,要么全部失败。 Consistency(一致性): 只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初 状态。 Isolation(隔离性): 事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正 确性和完整性。转载 2015-11-14 10:53:45 · 934 阅读 · 0 评论 -
[解决] Error Code: 1044. Access denied for user 'root'@'%' to database
SQLException : SQL state: 42000 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'root'@'%' to database 'ranger' ErrorCode: 1044原创 2016-03-01 11:27:15 · 24237 阅读 · 1 评论 -
忘记mysq rootl密码后解决办法
如果mysql正在运行,kill掉: killall -TERM mysqld启动mysql(无需输入密码):bin/safe_mysqld –skip-grant-tables &然后>use mysql>update user set password=password(”new_pass”) where user=”root”;>flush privileges;原创 2015-12-06 17:54:59 · 3209 阅读 · 0 评论 -
mysql修改表、字段、库的字符集
mysql修改表、字段、库的字符集02 五月 2011 | 数据库 | Tags: charset, mysql,字符集修改数据库字符集:ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];把表默认的字符集和所有字符列(CHAR原创 2015-09-24 01:19:26 · 1148 阅读 · 0 评论 -
mysql数据库分库分表(Sharding)
mysql数据库切分前言通过MySQLReplication功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我们还是会面临到扩展瓶颈。这时候,我们就必须许找其他技术手段来解决这个瓶颈,那就是我们这一章所要介绍恶的数据切分技术。 何谓数据切分可能很多读者朋友在网上或者杂志上面都已经多次见到关于数据切分的相关文章了,只不过在有些文章中称之转载 2016-04-06 10:51:41 · 5129 阅读 · 2 评论 -
mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)
首先将ids_app_installed_top_1000_3_ratio_wrap_m_top5000W.txt放入到数据库数据目录/var/local/mysql/data/${db_name}/ 下,并确保导入用户拥有这个txt文件的权限,否则会报Error 13错误1.${table_name}换myisam,我们的场景对事务没啥要求2.导入前修改参数和禁止索引更新mysql> SET S原创 2017-07-16 11:38:53 · 11726 阅读 · 1 评论