Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13395
  • 博文数量: 10
  • 博客积分: 210
  • 博客等级: 二等列兵
  • 技术积分: 115
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-24 11:33
文章分类
文章存档

2011年(10)

我的朋友
最近访客

分类: Mysql/postgreSQL

2011-09-12 11:41:06

brighthouse.ini配置文件

------------------------------------------------

ServerMainHeapSize

IB主要使用的内存大小,通常取系统自动生成值即可,但遇到特殊的应用场景,可进行调整,避免出现swap交换

LoaderMainHeapSize

当遇到列数很多的表据时(1000列),适当调大;

长文本字段,适当调大;

CacheFolder

临时文件的路径,可以和data目录放在不同的IO上,适当分担压力

AllowMySQLQueryPath

设置为0禁止,infobright无法优化的查询也不会使用Mysql进行优化。

KNFolder

知识网格的存储地址,默认是在数据文件同目录下,约占数据文件容量的1%

ControlMessages

IB自身bh.err日志记录的详细度

IB支持与配置信息

------------------------------------------------

查询版本

/usr/local/infobright/bin/mysqld --version

show variables like '%version%';

查询默认存储引擎

show engines;

支持的数据类型和范围

Image(3)

Image(4)

Image(5)

支持的DDL操作

alter table

rename,add column,drop column,

列定义 Comment选项

----------------------------

for lookup

对于长varchar和char字段,增加lookup定义后,ib会自动将文本内容映射到一固定数字,查询时提高性能并减少解压操作。但该列必须满足一下条件:

1.文本没有大小写区分;

2.有大量的重复数据,生成的数字映射会全部加载到内存中,所以要考量非重复数据数量select count(distince column) from table;并且该列的压缩比要大于10,show full column from table;查看comment中的压缩比

语法

create table

(name varchar(32) comment 'lookup'

)engine=brighthouse;

-------------------------------------------------

for insert

Infobright提供了对列的附加调整,可以帮助优化insert操作的性能。被定义为for insert的列会将数据块保持未压缩状态,来实现更快的数据插入,提高autocommit开启情况下,1.大量的单条insert,2.小频率load(小于10000行)的性能。

如果你需要进行上述的两种操作,最好将for_insert定义在字符列和大数字列上;小叔子列的压缩和解压过程很快,所以对其并不会提高明显的性能。而对以已经定义为lookup的列,for insert能提高的性能也很少。

另外,如果你的磁盘空间很有限,请不要使用这个定义,来最大化的减少磁盘空间的消耗。

create table

(name varchar(32) comment 'for_insert'

)engine=brighthouse;

-----------------------------------------------------

不支持的列选项

1.默认值

2.主键外键

3.unsigned

不支持的索引

key

index

unique

aoto_increment

查看表格信息

SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE ‘pattern’];

SHOW CREATE TABLE tbl_name;

SHOW TABLE STATUS [FROM db_name] [LIKE ‘pattern’];

查看压缩比统计

压缩比统计compression ratio是ib特殊提供的信息,它根据未压缩前数据(表或列)的自然大小来进行比较。

压缩比是在数据插入时生成的,如果进行了DML操作,并不会更新。

压缩比计算出的数据大小通常比实际磁盘占用要小,因为还需要保存知识网格等数据。

说明:1.标记为not null的列会多消耗1bit,对与null的每个值

          2.date列的自然大小计算,是按照实际保存的varchar字段进行的。

数据类型的自然大小大约的等于二进制导入导出的格式。

A查看表格的压缩比

show table status from test like 'large'\G

B查看列的压缩比

show full columns for large.....\G

-----------------------------------

字符集支持

Ib提供所有的ansi和utf8支持。

使用utf8字符集的性能会比asc2满。因为知识网格暂时不支持utf8,会在将来的版本中完善。

---------------------------------

导入导出数据

三种方式:

1.Insert

2.mysql loader

3.ib loader

Ibloader

速度更快,更少的健壮性,严格的文件格式要求(文本或二进制),更少的错误容忍性

MySqlloader

速度较慢,更好的健壮性,宽松的导入文件支持(包含变长数据)

Insert

支持几乎所有的ETL工具

速度很快,并取决于处理和commit频率

如果使用ETL工具,最好是采用ib loader和二进制格式。

阅读(592) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~