一. SYBASE 系统参数调整
1.内存
sp_configure "max memory",1500000 重启生效(设置为共享内存的75%) sp_configure "allocate max shared mem",1 启动的时候自动分配max memory指定的最大内存
sp_cacheconfig "default data cache","1500m" 设置数据缓存(设置为max memory的一半)
sp_cacheconfig "default data cache","cache_partition=2" 是CPU数量的倍数,对数据缓冲区分区
sp_poolconfig "default data cache","64m","16k" 设置16K 数据缓存 sp_poolconfig "default data cache","128m","8k" 设置8K 数据缓存 sp_configure "procedure cache size",90000 存储过程数据缓存
sp_cacheconfig 'tempdb_cache','200m','mixed' 创建命名高速缓存
sp_bindcache 'tempdb_cache',tempdb 捆绑临时数据库到tempdb_cache高速缓存
2.cpu
sp_configure "max online engines",2 设置使用的CPU数量
sp_configure "number of engines at startup",2 启动时使用CPU数量
3. 网络
sp_configure "default network packet size",2048 设置网络传送包的大小(重启动生效)
sp_configure "max network packet size",2048
4. 其他资源使用
sp_configure "number of locks",100000 锁使用数量
sp_configure "number of open indexes",5000 打开索引
sp_configure "number of open objects",5000 打开对象
sp_configure "number of user connections",1000 用户连接数
sp_configure "number of device",100 新建设备最大数量
二. sybase 设备调整
数据设备与日志设备必须分开,添加临时数据库设备
1. 数据设备
sp_deviceattr devname,"dsync",true
2.日志设备
sp_deviceattr devname,"dsync",false
3. 临时数据库设备
sp_deviceattr devname,"dsync",false
三. sybase 数据结构调整
1. 数据库对象表、索引。。
(1)对表新建合理的索引,定期分析表
update statistics tabname (不锁表)
(2)整理数据库空间 (锁表,剩余空间必须为最大表的1.2倍) reorg rebuild tabname
recreate clustered index
(3)重新编译存储过程与触发器
sp_recompile usertable (与表相关联的存储过程和触发器)
四. sybase 数据库监控
1. 数据库死进程
select * from master..syslogshold
五. sybase 数据库启动参数
-T3607 master
-T3608 其他数据
-m 单
第二篇:GBASE培训总结
问题
10PB/节点有效数据?支持infiniband网络?PB级支持能力?pdf2ppt?备份库不能选库必须为全量?集群内跨库操作映射不支持?按秒存储时间?
背景:
三大应用 OLTP-OLAP-NOSQL
One size fits all to much size fit all
集群架构特征:
应用程序(接口层SQL->任一节点访问)
数据库节点(集群)(负载平衡)
数据分发节点(ETL)
外部数据来源
集群结构:
节点192个规格(64组*3节点),内部高速互联
分布式任务下发与回应
集群管理工具-集群节点N
节点GCCLUSTER数据管理层分解SQL任务管理,不进行计算
节点NODE数据存储计算实例,直接加载数据,不需经过GCCLSTER
节点GCWARE节点管理,节点为单位,非数据位单位
SAFE GROUP:多个节点组成,数据互为备份,根据数据量高可用要求进行配置节点数,组数,扩展时以safe group为单位进行,不是以节点为单位扩展,多副本(目前最多2副本,3节点1个组)
上部是应用接口层下部是基础层(UNIX系统)再下是数据分发节点及外部数据来源
核心技术:
1, 列存储,数量大越大效率越高
2, 高效压缩 1:20,提升I/O性能,以列为单位选择灵活压缩,表级压缩,配置文件配置全局
压缩,优先级列-表-全局三层压缩;列压缩方式选择(0,0)(1,3)(5,5),新建表才能改数据列压缩模式,旧的存储不能更改。
3, 智能索引:以数据包为单位建立索引,可扩展,占领空间小
4, 双向并行:单表 300GB/小时,多表300GB/小时,集群(20节点以上)2TB/小时 5, 全文检索:增加工具doc2txt,建立全文检索等模块,并行完成
理论极值:
列存 1TB-100GB
自适应压缩 100GB-10GB
智能索引 10GB-1GB
并行
逐步提升处理效率
架构演进:
单机数据库计算集中,存储集中
共享数据库计算分布存储集中
MPP+Shared nothing 计算分布存储分布
场景应用:
分析类应用查询统计数据挖掘全文检索
优势体现:
优秀与适合比较
PCSERVER+LINUX+SATA vs 小型机+UNIX+阵列
硬件成本几万元
目标:20xx
结构化+半结构+非结构(30PB,500节点)
对接HADOOP可以处理非机构化数据如语音,视频等数据流
继续优化20xx实现的功能包括阵列混存等
安装与卸载
集群规划
a.数据模型规划
数据部署方式:复制表(节点内,小表,或与其他表join较多的as复制表)分布表(组内节点间,大表as分布表)
分布表:随机分布表轮询,易有瓶颈;HASH分布表,以某一列做HASH计算,算出每个行(现在已经是块,65536行就是一个块,不是行)的HASH值进行节点分布,若HASH值分布密集也可能存在瓶颈
b.空间规划
2节点or 3节点做安全组
单节点:数据存储空间(复制表,分布表,分布表复件,索引),运算存储空间
硬件高可用
多网卡绑定:适配器容错,主备方式;负载均衡
系统占用1TB空间,ext4格式化,OPT目录存储业务数据及元数据gcnode,索引与元数据 Gccluster
目录大小:节点/ 50GB, /opt TB级别
客户端安装
企业管理器JDBC节点
或者
Gccli用户文件复制客户端 cat ~/
日常维护
命令行方式
Gcadmin查看正常的集群工作状态 active(前集群中Olline的节点个数大于1/2时),locked(当前集群中Online的节点个数小于等于1/2 时),模式noarmalreadonly recover
节点工作状态 online offiline各模组进程的工作状态open close,datastate节点数据一致性[0]
[1] nodestate节点一致性
offline检查(节点硬件,gcware启动,)
模组进程close排除(7进程,ps–ef|grep进程名,service进程名 status,单独启动、停止
数据恢复datastate状态为1的故障排除(自动修复,节点内尽快恢复,集群层面加锁恢复后解锁,几秒周期比对,检查错误日志发现即触发,先DDL对表架构无操作后DML对表有增删改有操作)
手工节点故障排除(短时间无法修复需设置节点状态failure gcadminsetnodestatenodeip 192.168.1.2 failure)此时所有表锁住,然后自动恢复数据normal后再解锁。
Gcadmin–help
Gcadminshowlock(Orphan 孤儿锁孤节点)
nmon检查内存使用率
df–h 检查磁盘空间
批处理SQL文件(-f强制执行出错场景)
用户密码加引号’’,否则是加密的非明文密码,比如’123456’
授权grant all on test 收回revoke
查看本节点线程show[full] processlist
查看集群压缩
Desc test.t 查看列
扩容风险大,按组增加,需先规划(多种方案手工自动),再数据重分布(均匀分布或非对称分布)
Gcinstall.py
扩容数据重分布过程中集群状态:normal->readonly(耗时最长)->recover->normal
三个阶段:数据准备->数据切换->数据清理恢复
配置文件与原有最好修改为一致,避免因为默认与需求修改导致差异化
管理工具
集群加载
dispserver-dispcli-gbloader加载流程
错误数据日志,出现大量数据错误时,可以手工终止加载分析原因后再继续加载,比如任务文件定义不对导致的,分隔符问题,表定义不符,精度问题,datetime问题,空值问题等; 加载超时,比如网络故障;加载导致集群节点lock,需查看dispcli的log分析启动同步工具同步数据;磁盘空间不足,清理垃圾log。
Gcdump导出表结构和存储过程
(gcdump导出数据比较慢)
查询结果导出
(分布表可以导出为一个文本文件)
集群备份与恢复
(不能写readonly,全备,增备,从全备恢复故障数据,交互式或命令行式,定期任务执行命令行式,本地与异地备份恢复,银行异地恢复专门的备份服务器且空间占用小)
监控工具
查看,不能对节点做操作
采集中心
采集代理
生产环境不建议部署在同一台机器上
监控任务临时打开关闭
Show variables like ’%sql_sta%’
Set [globe]
SQL介绍
数据类型
严格和近似(是否四舍五入)
与其他数据库对比
Int1、8
Smallintbigint
系统函数
与其他数据库对比
Gbase length 、char-length
Oracle lengthb、length
trim去除语法
标识符64,256
Delimiter |
Delimiter ;
数据库对象
数据库gbk,utf8字符集;表;视图;索引;存储过程;自定义funtion;…
Alter table 表名,加减列,修改列位置,但不能修改列属性,字符集,数据类型等,因为压缩导致或字段字段变长?
Truncate table不记录日志,删除所有行比delete快(delete打删除标记,数据还在),和drop table 差不多快,都可以释放空间,空间大小不变,空间利用率变化?
表语法
hash分布-distributed by 列
选择count(distributed)大的等
复制表语法(select随机分布like复制与原表一致)
nocopies表(可以被gcdump出表结构,转换成非nocopies可以导出数据,即做复制) 临时表(不可以被gcdump出表结构,session关闭就消失,不会被备份,省空间)
索引index
globe(行),locale(DC datacell块,32K宽?)
系统表information——schema
全库查询每类数据库对象
Procedure、function
Creat /alter/drop,不能设断点,调试,直接使用select查询结果做判断比较麻烦
Delimiter |(begin end)
Delimiter ;
Show procedure
Declare
get diagnostics
不支持for需结合游标替换
静态游标(不可以嵌套,可以重复使用),动态游标(存储过程使用,不能用在函数,可以配对嵌套使用)
预处理使用prepare execute
SQL限制
20xx列,32k宽等
性能优化操作
1. 相关日志文件,trace,express,system,aduit保存目录下文件或者库系统表
2.
3.