
数据库
MyObject-C
从事于游戏、广告、推荐、金融交易相关后台开发
展开
-
ssdb介绍
ssdb介绍ssdb是一款类似于redis的nosql数据库,不过redis是基于内存的,服务器比较昂贵,ssdb则是基于硬盘存储的,很容易扩展,对于一些对速度要求不是太高的应用,还是不错的选择。SSDB是一套基于LevelDB存储引擎的非关系型数据库(NOSQL),可用于取代Redis,更适合海量数据的存储。另外,rocksdb是FB在LevelDB的二次开发版本,因此也存在使用Ro...转载 2018-10-19 15:56:38 · 9907 阅读 · 0 评论 -
连表查询
连接查询包括合并、内连接、外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要。只有真正了解它们之间的区别,才能正确使用。1、UnionUNION 操作符用于合并两个或多个 SELECT 语句的结果集。UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消...转载 2018-04-14 14:47:07 · 631 阅读 · 0 评论 -
mysql explain含义
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select surname,first_name form a,b where a.id=b.id EXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接...转载 2018-04-13 14:45:00 · 157 阅读 · 0 评论 -
innodb的数据存储
对于innodb的数据存储文件,首先要解决两个概念性的问题: 共享表空间以及独占表空间。(innodb引擎与MYISAM引擎的区别很大。特别是它的数据存储方式等.)1、共享表空间和独占表空间介绍共享表空间以及独占表空间都是针对数据的存储方式而言的。共享表空间: 每一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目录下。 默认的文件名为:ibdata1 ...转载 2018-04-19 20:45:31 · 778 阅读 · 0 评论 -
数据库相关中间件
这里主要介绍互联网行业内有关数据库的相关中间件。数据库相关平台主要解决以下三个方面的问题:为海量前台数据提供高性能、大容量、高可用性的访问为数据变更的消费提供准实时的保障高效的异地数据同步应用层通过分表分库中间件访问数据库,包括读操作(Select)和写操作(update, insert和delete等,DDL, DCL)。写操作会在数据库上产生变更记录,MySQL的变更记录叫binlog, Or...转载 2018-05-18 19:22:57 · 396 阅读 · 0 评论 -
分布式和Nosql
CAP定理的常规解释是任何分布式系统只能在一致性(Consitency),可用性(Availability)和分区容忍性(Partition Tolerance)中三选二。这个解释很让人费解,笔者在看了一些文章后谈谈我对它的理解,还请斧正。从问题出发假设我们用一台服务器A对外提供存储服务,为了避免这台服务器宕机导致服务不可用,我们又在另外一台服务器B上运行了同样的存储服务。每次用户在往服务...转载 2018-07-06 11:53:27 · 2139 阅读 · 0 评论 -
LevelDB介绍
一、LevelDB入门LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景。LevelDB应用了LSM (Log Structured Merge) 策略,lsm_tree对索引变更进行延迟及批量处理,并通过一种类似于归并排序的方式高效地将更新迁移到磁盘,降低索引插入开销,...转载 2018-10-08 14:39:35 · 467 阅读 · 0 评论 -
MYSQL++介绍
简介MYSQL++是对于MYSQL C API的C++完全包装。 MYSQL++能够至少做如下几件事情1. 连接数据库通过TCP连接数据库 通过WINDOWS命名管道连接数据库 UNIX域SOCKET连接数据库所有的链接操作可以通过使用mysqlpp::Connection类型进行,为了方便起见,mysqlpp还提供了TCPConnection,UnixDomainSo...转载 2018-11-20 21:43:15 · 4484 阅读 · 0 评论 -
数据库读写分离一致性问题
说说思路1 半同步复制 简单的说就是: 主库发生增删改操作的时候,会等从库及时复制了并且通知了主库, 才会把这个操作叫做成功. 优点:保证数据一致性 缺点:就是会慢专业的讲: 半同步复制,是等待其中一个从库也接收到Binlog事务并成功写入Relay Log之后,才返回Commit操作成功给客户端;如此半同步就保证了事务成功提交后至少有两份日志记录,一份在主库Bin...转载 2018-12-21 19:28:10 · 13844 阅读 · 0 评论 -
mysql cluster几种方案
1.背景MySQL的cluster方案有很多官方和第三方的选择,选择多就是一种烦恼,因此,我们考虑MySQL数据库满足下三点需求,考察市面上可行的解决方案:高可用性:主服务器故障后可自动切换到后备服务器可伸缩性:可方便通过脚本增加DB服务器负载均衡:支持手动把某公司的数据请求切换到另外的服务器,可配置哪些公司的数据服务访问哪个服务器需要选用一种方案满足以上需求。在MySQL官方...转载 2018-12-17 16:37:01 · 7733 阅读 · 0 评论 -
TDSQL发展之路
导读:2017年,在英特尔、腾讯金融分布式数据库TDSQL团队的共同见证下,TDSQL采用英特尔提供的高端平台,跑出了创造历史的最快性能数据——峰值286万QPS。相比于上一代处理器,性能提升了近4倍,是32核/220GB实例的38倍,TDSQL正在打造数据库领域的“超音速战机”。2017年12月3日,腾讯TEG计费平台部技术总监潘安群在【DBAplus数据库年终盘点大会】上分享了TDSQL的十年...转载 2018-12-24 16:05:04 · 7982 阅读 · 0 评论 -
mysql高可用方案
前一篇转载啦mysql集群方案https://blog.youkuaiyun.com/nawenqiang/article/details/85051623接下来继续讲解其他方案。 一 、引子笔者刚开始进入公司的时候,主要是忙于分布式MySQL系统----MyShard的构建,公司使用了大量的IDC机房,基于这种网络特点,MyShard设计当初完全是为了是一套支持Multi-Master操...转载 2019-01-04 20:11:08 · 3532 阅读 · 0 评论 -
关系型与非关系型数据库
NoSql数据库四大分类:键值(Key-Value)存储数据库这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB....转载 2018-03-05 21:10:14 · 506 阅读 · 0 评论 -
index和key
查看索引mysql> show index from tblname;mysql> show keys from tblname;· Table表的名称。· Non_unique如果索引不能包括重复词,则为0。如果可以,则为1。· Key_name索引的名称。· Seq_in_index索引中的列序列号,从1开始。· Column_name列名称。· Collation列以什么方式存储...转载 2017-11-06 16:23:36 · 346 阅读 · 0 评论 -
MySQL 数据类型
MySQL 数据类型在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。Text 类型:数据类型描述CHAR(size)保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。VARCHAR(size)保存可变长度的字符串(可包含字母、数字以及转载 2014-04-28 15:44:15 · 456 阅读 · 0 评论 -
导入MySql文件
There was an error while executing a query.SET GLOBAL max_allowed_packet=67108864;原创 2014-10-30 13:28:04 · 549 阅读 · 0 评论 -
SQL学习一
daselect原创 2014-10-17 18:56:44 · 324 阅读 · 0 评论 -
mysql-connector-c++ 学习一
起初下载 mysql-connector-c++-1.1.4-win32.msimysql-connector-c++-1.1.4-win32.msi原创 2014-11-21 19:01:30 · 1372 阅读 · 2 评论 -
数据库连接池
连接池为了解决频繁的创建、销毁所带来的系统开销。简而言之,就是 自己先创建一定量的连接,然后在需要的时候取出一条连接使用。当然如果你只有一个线程连接数据库,而且不是实时返回结果,那么你完全不必用连接池。想一下网络大型游戏服务器,你就明白为什么需要连接池了。自己敲代码写了一个简单的类,实现连接池,虽然没有mysql++那么强大,但是还是自己有收获。 C转载 2014-11-24 17:22:54 · 586 阅读 · 0 评论 -
Mysql目前主要有以下几种索引方式
Mysql目前主要有以下几种索引方式:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一转载 2017-10-13 10:56:17 · 443 阅读 · 0 评论 -
mysql安装与基本操作
安装安装命令[root@xiaoluo ~]# yum install -y mysql-server mysql mysql-deve此时我们可以通过如下命令,查看刚安装好的mysql-server的版本[root@xiaoluo ~]# rpm -qi mysql-server这时我们会看到第一次启动mysql服务器以转载 2017-10-30 16:45:01 · 187 阅读 · 0 评论 -
mysql 参数详解
设置慢查询时间的长度,以及慢查询日志存放的位置:long_query_time=1slow_query_log_file = /var/log/mysql/mysql-slow.log避免Mysql的外部锁定,减少出错几率,增强稳定性:skip-external-locking禁止MySql对外部连接进行DNS解析,使用这一选项可以消除MySQL进行NDS解析的时间转载 2017-10-30 16:53:46 · 646 阅读 · 0 评论 -
mysql性能
innodb_flush_log_at_trx_commit一 参数意义innodb_flush_log_at_trx_commit如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。转载 2017-10-30 20:13:45 · 260 阅读 · 0 评论 -
MySQL数据库锁机制
MySQL中的锁概念Mysql中不同的存储引擎支持不同的锁机制。比如MyISAM和MEMORY存储引擎采用的表级锁,BDB采用的是页面锁,也支持表级锁,InnoDB存储引擎既支持行级锁,也支持表级锁,默认情况下采用行级锁。Mysql3中锁特性如下:表级锁:开销小,加锁块;不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;转载 2017-10-31 16:41:16 · 289 阅读 · 0 评论 -
mysql缓冲命中
缓冲池是一块内存区域,在对数据库进行读取操作时,首先将数据从磁盘中读取到缓冲池中,那缓冲池命中率则是客户端请求的数据在直接在缓冲池获取的比例。想象下如果缓冲池命中率很低,大部分数据都要从磁盘读取,可想而知一个数据库的性能。作为一个mysql OLTP系统,缓冲命中率最好在百分99以上。下面介绍几种mysql查看缓冲命中率的方法:方法一:mysql> show engine innodb s转载 2017-11-09 11:43:21 · 476 阅读 · 0 评论 -
MySql杂项
将SQL语句执行的结果输出到文件mysql -h10.10.10.10 -ucrazyant -p123456 -P3306 -Ne "use test; select * from tb_test;" > /tmp/rs.txt其中-Ne是执行这个SQL语句的选项,-N代表输出SQL语句执行结果中不带第一行的字段名称,-e表示要执行SQL语句;执行下面的命令,则可以执行SQL转载 2017-10-31 19:52:19 · 307 阅读 · 0 评论 -
MySql sql 语句
db是表所在的数据库名称,tb是要查询的表名原创 2014-05-24 12:48:23 · 392 阅读 · 0 评论