Qter 发表于 2019-12-31 13:16:09

infobright

他就是mysql的一个数据引擎,和平时的innodb和myisam等都属于数据引擎
分布式列式数据库



其他选型对比其他选型介绍1、 greenplum db: 优势: 支持PB级数据量,单个节点数据规模无限制。支持1000个以上的节点规模。不足:并发性不好,随并发用户的增多,效率呈线性下降。                  对于imsi等数据离散度特别高的键值的查询,还需建立索引。                  数据库的性能受限于集群中性能最差的服务器。2、 hadoop:非关系型数据存储系统,在互联网上应用广泛,一般是组成大规模的服务器集群。入库速度快,要求服务器数目较多。对比:
 名称成熟度硬件成本软件成本入库速度查询速度可并发度后续扩展性
方案一Greenplum中中高高中低高
方案二ORACLE高高高低低高低
方案二hadoop 低中低高中高高
方案三infobright中低中高高中高


Qter 发表于 2019-12-31 21:48:47

Infobright是开源的MySQL数据仓库解决方案,
引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类)

infobright 是基于mysql的,但不装mysql亦可,因为它本身就自带了一个。
mysql可以粗分为逻辑层和物理存储引擎,infobright主要实现的就是一个存储引擎,
但因为它自身存储逻辑跟关系型数据库根本不同,所以,它不能像InnoDB那样直接作为插件挂接到mysql,
它的逻辑层是mysql的逻辑层加上它自身的优化器。

Qter 发表于 2019-12-31 21:49:24

灰色部分是mysql原有的模块,白色与蓝色部分则是 infobright自身的。   
系统结构分析:
  跟mysql一样的两层结构,上面的逻辑层处理查询逻辑,下面的是存储引擎。
逻辑层右端的loader与unloader是infobright的数据导入导出模块,也即处理SQL语句里LOAD DATA INFILE … 与SELECT … INTO FILE任务,
由于infobright面向的是海量数据环境,所以这个数据导入导出模块是一个独立的服务,并非直接使用mysql的模块。
逻辑层的infobright优化器包在mysql查询优化器的外面,如下面将会提到的,因为它的存储层有一些特殊结构,所以查询优化方式也跟 mysql有很大差异。
存储层最底层是一个个的Data Pack(数据块)。每一个Pack装着某一列的64K个元素,所有数据按照这样的形式打包存储,
每一个数据块进行类型相关的压缩(即根据不同数据类型采 用不同的压缩算法),压缩比很高。它上层的压缩器与解压缩器就做了这个事情。
压缩层再向上就是infobright最重要的概念:Knowledge Grid(知识网格),这也是infobright放弃索引却能应用于大量数据查询的基础。
它包含两类结点:每个Data Pack Node(知识节点)对应于一个Data Pack,存储该Data Pack的一些统计信息,如min, max, avg, null的个数,甚至不同值的量等等;
Knowledge Node则存储了一些更高级的统计信息,以及与其它表的连接信息,这里面的信息有些是数据载入时已经算好的,有些是随着查询进行而计算的,
所以说是具备一 定的“智能”的。



Qter 发表于 2019-12-31 21:50:12

事务型数据库的首选引擎,支持ACID事务,支持行级锁定。InnoDB是为处理巨大数据量时的最大性能设计。
在技术上,InnoDB 是一套放在 MySQL 后台的完整数据库系统,InnoDB 在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。
在 MySQL 的源代码中,从 3.23.34a 开始包含 InnoDB 表引擎,并在 MySQL -Max 的二进制版本中激活。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
2008年1月16号MySQL AB被Sun公司收购。而2009年,SUN又被Oracle?收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。
MySQL是一个开放源码的小型关联式数据库管理系统,
关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

系统特性:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.支持多种存储引擎。
页: [1]
查看完整版本: infobright