年归档:2017年

MySQL FullText

1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能 … 继续阅读

发表在 db | 标签为 | MySQL FullText已关闭评论

5种开源协议比较

BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以” … 继续阅读

发表在 article | 标签为 | 5种开源协议比较已关闭评论

iptables cases

#查看iptables现有规则 iptables -L -n #先允许所有,不然 … 继续阅读

发表在 linux | 标签为 | iptables cases已关闭评论

移动网络NAT心跳过期时间

心跳典型值 WhatsApp Line GCM WIFI 4分45秒 3分20秒 … 继续阅读

发表在 android, network, push/pull | 移动网络NAT心跳过期时间已关闭评论

中国国际互联网的接口

海底光缆是国际互联网的骨架。光缆的多少,代表一国与互联网的联系是否紧密。 有人利 … 继续阅读

发表在 network | 中国国际互联网的接口已关闭评论

some license

BSD-3 + 专利 Facebook => React (license … 继续阅读

发表在 article | some license已关闭评论

OpenSSL 生成自签名证书(简)

OpenSSL 是 SSL 和 TLS 协议的开放式源代码实现。它在标准通信层上 … 继续阅读

发表在 web server | OpenSSL 生成自签名证书(简)已关闭评论

Protocol Buffers

RPC(Remote Procedure Call,远程过程调用)框架是分布式服 … 继续阅读

发表在 rpc | Protocol Buffers已关闭评论

Apache Thrift

Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交 … 继续阅读

发表在 rpc | Apache Thrift已关闭评论

大数据量存储见解

百万级的数据,无论侧重OLTP还是OLAP,当然就是MySql了。
过亿级的数据,侧重OLTP可以继续Mysql,侧重OLAP,就要分场景考虑了

实时计算场景:强调实时性,常用于实时性要求较高的地方,可以选择Storm;
批处理计算场景:强调批处理,常用于数据挖掘、分析,可以选择Hadoop;
实时查询场景:强调查询实时响应,常用于把DB里的数据转化索引文件,通过搜索引擎来查询,可以选择solr/elasticsearch;
企业级ODS/EDW/数据集市场景:强调基于关系性数据库的大数据实时分析,常用于业务数据集成,可以选择Greenplum;

数据库系统一般分为两种类型:
一种是面向前台应用的,应用比较简单,但是重吞吐和高并发的OLTP类型;
一种是重计算的,对大数据集进行统计分析的OLAP类型。

传统数据库侧重交易处理,即OLTP,关注的是多用户的同时的双向操作,在保障即时性的要求下,系统通过内存来处理数据的分配、读写等操作,存在IO瓶颈。
OLTP(On-Line Transaction Processing,联机事务处理)系统也称为生产系统,它是事件驱动的、面向应用的,比如电子商务网站的交易系统就是一个典型的OLTP系统。OLTP的基本特点是:
数据在系统中产生;
基于交易的处理系统(Transaction-Based);
每次交易牵涉的数据量很小;
对响应时间要求...

继续阅读

发表在 db | 大数据量存储见解已关闭评论

.NET Core 2.0

点击查看原图

  下载 Visual Studio 2017 version 15.3

  下载 .NET Core 2.0

  下载 Visual Studio for Mac

点击查看原图

  微软今天发布了.NET Core 2.0 版本,属于一次非常大的版本迭代。

  .NET Core 2.0 主要包括一些让 .NET Core 更容易使用的改进,并增强其平台能力。亮点如下:

  Runtime

  SDK

继续阅读

发表在 .net | .NET Core 2.0已关闭评论

CPU/GPU

CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

  于是CPU和GPU就呈现出非常不同的架构(示意图):

点击查看原图

  图片来自nVidia CUDA文档。其中绿色的是计算单元,橙红色的是存储单元,橙黄色的是控制单元。

GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分

点击查看原图

  从上图可以看出:

Cache, local memory: CPU > GPU

Threads(线程数): GPU > CPU

Registers: GPU > CPU  多寄存器可以支持非常多的Thread,thread需要用到register,thread数目大,register也必须得跟着很大才行。

SIMD Unit(单指令多数据流,以同步方式,在同一时间内执行同一条指令): GPU > CPU。

 

CPU 基于低延时的设计:

点击查看原图

CPU有强大的ALU(算术运算单元),它可... 继续阅读

发表在 technologys | 标签为 , | CPU/GPU已关闭评论

mysqldump

mysqldump 用来转储数据库或搜集数据库进行备份或将数据转存为文件
如在服务器上进行备份并且表均为MyISAM表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。

1.mysqldump的几种常用方法:

(1)导出整个数据库(包括数据库中的数据)

    mysqldump -u username -p dbname > dbname.sql    

(2)导出数据库结构(不含数据)

    mysqldump -u username -p -d dbname > dbname.sql    

(3)导出数据库中的某张数据表(包含数据)

    mysqldump -u username -p dbname tablename > tablename.sql    

(4)导出数据库中的某张数据表的表结构(不含数据)

    mysqldump -u username -p -d dbname tablename > tablename.sql  
    
(5)转储几个数据库
 ... 继续阅读

发表在 db | 标签为 , | mysqldump已关闭评论

mysqldump error

mysqldump备份有时报错了,内容如下:

mysql@localhost mysql]$ mysqldump --single-transaction -A -uroot -proot123 --master-data=2 > /u01/backup/testbk.sql
Warning: Using a password on the command line interface can be insecure.
Error: Couldn't read status information for table slave_master_info ()
mysqldump: Couldn't execute 'show create table `slave_master_info`': Table 'mysql.slave_master_info' doesn't exist (1146)

错误提示有innodb_index_stats,innodb_table_stats,slave_master_info,slave_relay_log_info,slave_worker_info等几个
使用select语句进行查询时,也会提示这些表不存在

最终解决方法是:删除错误的表后重建

1.查询不可使用的表
show create table mysql.innodb_index_stats;
show create table mysql.innodb_table_stats;
show create table mysql.slave_master_info;
show create table mysql.slave_relay_log_info;
show create table mysql.slave_worker_info;

2.删除上述5张表或有错误的表
drop table mysql.innodb_index_stats;
drop table mysql.innodb_table_stats;
drop table mysql.slave_master_info;
drop table mysql.slave_relay_log_info;
drop table mysql.slave_worker_info;

3.进入data/mysql相应文件夹找到关于5张表的数据文件(.frm,.ibd)并删除
rm -rf innodb_index_stats.*
rm -rf innodb_table_stats.*
rm -rf slave_master_info.*
rm -rf slave_relay_log_info.*
rm -rf slave_worker_info.*

4. 查找表结构
去找$MYSQL_HOME/share/mysql_system_tables.sql,分别search到每一表的建表语句,然后重建设;

继续阅读

发表在 db | 标签为 , | mysqldump error已关闭评论

mysql innodb_table_stats does not exist

InnoDB: Error: table `mysql`.`innodb_table_stats` does not exist in the InnoDB internal

这个原因很明显 ,是mysql库的innodb_table_stats表损坏了。

再点击 mysql的innodb_index_stats 表,同样损坏。

 

解决方法:

损坏了,当然就是删除重补回来。

1,删除表,进入mysql库,把innodb前缀的表文件删除。

[root@AY140311174146476cc0Z mysql]# pwd
/usr/local/mysql/data/mysql
[root@AY140311174146476cc0Z mysql]# rm -f innodb_*

2,重新执行sql文件语句。当然语句来自安装包。

具体路径,如5.6为例:mysql-5.6.19/scripts/mysql_system_tables.sql

语句贴出来吧

CREATE TABLE IF NOT EXISTS innodb_index_stats (
    database_name           VARCHAR(64) NOT NULL,
    table_name          VARCHAR(64) NOT NULL,
    index_name          VARCHAR(64) NOT NULL,
    last_update         TIMESTAMP NOT NULL NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    /* there are at least:
    stat_name='size'
    stat_name='n_leaf_pages'
    stat_name='n_diff_pfx%' */
    stat_name           VARCHAR(64) NOT NULL,
    stat_value          BIGINT UNSIGNED NOT NULL,
    sample_size         BIGINT UNSIGNED,
    stat_description        VARCHAR(1024) NOT NULL,
    PRIMARY KEY (database_name, table_name, index_name, stat_name)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0
 
 
 
CREATE TABLE IF NOT EXISTS innodb_table_stats (
    database_name           VARCHAR(64) NOT NULL,
    table_name          VARCHAR(64) NOT NULL,
    last_update         TIMESTAMP NOT NULL NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    n_rows              BIGINT UNSIGNED NOT NULL,
    clustered_index_size        BIGINT UNSIGNED NOT NULL,
    sum_of_other_index_sizes    BIGINT UNSIGNED NOT NULL,
    PRIMARY KEY (database_name, table_name)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0

 

然后,再查询相关的innodb表。看下是否还有错误 。

这个错误到此解决了。

继续阅读

发表在 db | 标签为 | mysql innodb_table_stats does not exist已关闭评论