columnar formats

In-Memory Column Store内存列存储

Starting in Oracle Database 12c Release 1 (12.1.0.2), the In-Memory Column Store (IM column store) is an optional, static SGA pool that stores copies of tables and partitions in a special columnar format optimized for rapid scans.
从12.1.0.2开始,有一个可选项叫In-Memory column store(IM column store),可使静态SGA存储为了快速扫描优化过的指定列格式(column format)的表和分区的复制。

The IM column store does not replace the buffer cache, but acts as a supplement so that both memory areas can store the same data in different formats. By default, only objects specified as INMEMORY using DDL are candidates to be populated in the IM column store.
内存列存储不是为了替代Buffer Cache,而是作为补充可以让所有内存区域存储同样的数据用不同的格式。默认的,需要用DDL对指明的对象用INMEMEORY选项才会加入队列等待存入内存列存储中。

It is not necessary for objects populated in the IM column store to be loaded into the database buffer cache.
完全不需要把内存中的填充对象加载到buffer cache中。
柱状格式只存在于内存中。下图展示了SH模式中存储在内存列存储中的三个表:customers,products,sales。内存列存储使用列存储数据而不是行。数据库保证柱状格式的数据与buffer cache中的数据是一致的,只是存储格式不同而已。

Benefits of the IM Column Store
使用内存列存储的好处

The IM column store enables the database to perform scans, joins, and aggregates much faster than when it uses the on-disk format exclusively.
使用内存列存储可以使数据库的扫描scans、连接joins、聚合aggregates比用on-disk format快很多。

In particular, the IM column store is useful for:
特别是内存列存储用在:
l Performing fast full scans of large tables
l 执行大表快速扫描;
l Evaluating predicate filters that use operators such as =, <, >, and IN
l 评估用<>=和in操作的谓语过滤;
l Querying a subset of columns in a table, for example, selecting 5 of 100 columns
l 查询表中列的子集,如:select 5of 100 columns.
l Accelerating joins by converting predicates on small dimension tables into filters on a large fact table
l 通过转换小的维度表的谓语到一个大的事实表的过滤来加速join。

Business applications, ad-hoc analytic queries, and data warehouse workloads benefit most. Pure OLTP databases that perform short transactions using index lookups benefit less.
商业应用,即席分析查询,以及数据仓库负载收益最多。完全的OLTP数据库,使用索引查询短事物,收益较小。

The IM column store also provides the following advantages:
内存列存储优势:
l 1.All existing database features are supported, including High Availability features (see "Overview of High Availability").
l 支持现有所有数据库特性,包括高可用。
l No application changes are required.
l 不需要更改应用。
l 2.The optimizer automatically takes advantage of the columnar format.
l 优化器自动利用柱状格式。
l 3.Configuration is simple.
l 配置简单。
l The INMEMORY_SIZE initialization parameter specifies the amount of memory reserved for use by the IM column store. DDL statements specify the tablespaces, tables, partitions, or columns to be read into the IM column store.
l 只需要对INMEMORY_SIZE初始化参数指定为使用IM column store保留的内存大小。然后DDL语句指定表空间、表、分区或者需要被读入IM column store的列就可以。

l 4.Compression is optimized for query performance.
l 为查询性能优化了压缩。
l These compression techniques increase the effective memory bandwidth by enabling sessions to read more data into memory.
l 这些压缩技术提高了内存带宽的使用效率,使会话可以读入更多数据到内存中。

l 5.Fewer indexes, materialized views, and OLAP cubes are required.
l 更少的需要索引、物化视图和OLAP多维数据集。
l The reduction in the number of pre-built objects results in reduced storage space and significantly less processing overhead.
l 预创建对象数量的减少使存储空间降低并且显著地减少处理开销。

DUAL Memory Format:columnar and row
双内存模式:柱模式和行模式

When fetching data, Oracle Database can read either the IM column store or the database buffer cache, or both within the same query.
取数据的时候,oracle既可以读取内存列存储的,也可以读取buffer cacho中的,或者同时用他们查询同样的数据。
The database transparently sends OLTP queries (such as primary key lookups) to the buffer cache, and analytic and reporting queries to the IM column store. Thus, dual memory formats provide the best of both worlds.
数据库透明地发送OLTP查询(如主键查询)到buffer cache中,并且也分析、报告基于内存列存储的查询。因此,双内存格式提供比两个单独的(IM column store/buffer cache)方式更好的方式。

In the execution plan, the operation TABLE ACCESS IN MEMORY FULL indicates use of the IM column store.
在执行计划中,TABLE ACCESS IN MEMORY FULL表明使用的是内存列存储。
The following figure shows a sample IM column store. The sh.sales table is stored on disk in traditional row format. The SGA stores the data in columnar format in the IM column store, and in row format in the database buffer cache.
下图展示了内存列存储的样例,sh.sales表被存在磁盘上以传统的行格式。SGA在IM column store上以柱状格式存储数据,并且在buffer cache中以行格式存储数据。

How Background Processes Populate IMCUs
后台进程如何填充IMCUs

在填充数据期间,数据库从磁盘上以行的形式读取数据,并且以行为单位创建列,然后压缩数据到In-Memory-Compression-Units(IMCU),worker process(Wnnn)进程填充数据到内存列存储,每个worker进程操作一个对象上的数据块子集,填充是一个流机制,压缩并且同时转换数据为柱状格式。

The INMEMORY_MAX_POPULATE_SERVERS initialization parameter specifies the maximum number of worker processes to use for IM column store population. By default, the setting is one half of CPU_COUNT. Set this parameter to an appropriate value for your environment. More worker processes result in faster population, but they use more CPU resources. Fewer worker processes result in slower population, which reduces CPU overhead.
INMEMORY_MAX_POPULATE_SERVERS初始化参数指定用来执行内存列存储填充任务的worker进程最大数量。该参数默认为CPU_COUNT的一半。Worker越多,填充越快,但是也越消耗CPU,所以需要根据实际环境设置该参数。
注意,如果该参数设置为0,则意味着禁用了填充功能。
喜欢阅读
  • 假如你不再深情

    假如你不再深情

    他是我丈夫的顶头上司,却是我的裙下臣子。睡他的目的只有一个:报复!一夜旖旎,我成了这个男人的笼中鸟。给我的丈夫大大扣上一顶绿帽。

  • 流年对不起我爱你

    流年对不起我爱你

    七年前——他将浓妆艳抹的她逼入墙角,冷声质问:“你眼里除了钱,还有什么!”年仅十八岁的江若雪展笑得花枝招颤:“还有黄金、宝石、美玉,一切能够换到钱的东西。”他又问:“是不是为了钱,你什么都肯做,包括出卖自己的身体!”“是!只要给我够多的钱,我什么都愿意做。”听到她毫不犹豫的回答,他放声大笑,眼神却是失望之极:“江若雪,就当我从来没有认识过你这样的女人,我们之间最好再也不要见面。”望着他离去的背影,前一秒还笑得花痴乱颤的女人,下一秒却是泣不成声:“赵寒舟,承你吉言,愿你我永不再见。”七年后,再次相遇——望着女人身边那个长相酷似自己的小男孩,赵寒舟眉头紧皱:“这孩子是谁的?”江若雪耸耸肩膀:“废话,当然是我的。”

  • 霸道鬼夫勿纠缠

    霸道鬼夫勿纠缠

    我在梦里跟鬼结了婚,我很害怕,直到他冰冷的身体爬上我的床,我才知道这一切都是真的!我厌恶极了……可是当奶奶失踪,我也深受降头之苦的时候,却是他义无反顾的救了我。等我醒过来,我记得所有的人和事,却唯独忘了他……

  • 你踏过处皆是繁花

    你踏过处皆是繁花

    一纸协议,她成了他的妻。原以为他们之间不过一场戏,可新婚夜,她被压在他身下。才知道这场戏,自己还是要付出些代价的。“宝贝儿,你知道你很勾人么?”他低笑,将这漫漫长夜织成张情欲的网。而他们,在这网里,沉沦迷醉。阴谋与权利,背叛与守护。她为了一个真相,苦苦寻觅。尝过绝望的滋味,见过悲伤的形状。而他,则是从头到尾,想要的不过一个她罢了。幼年的相遇,有人早已忘记,却有人铭刻至今。而兜兜转转了一路,回头看时,原来你还在。

  • 万灵劫尊

    万灵劫尊

    苍穹有天共九重,一重天高八万里。苍天之下,神朝林立,圣地角逐,大道争锋!阴阳逆乱,时空轮转,辜雀被当作一派先祖召唤而来,历成神三劫,天人五衰,成就不朽!不朽!无上之道也!踏天而行,一念出而神魔灭!一拳出而苍穹崩!当九重苍穹崩裂,一个浩瀚恐怖的大千宇宙展现开来!于是,一个万劫不灭的大千之主,便由此而生。

  • 万古流芳

    万古流芳

    青苍大陆,一个传说中的地方。少年秦朗,一个山野小民,因为一次意外,踏上了寻觅青苍大陆的征途。修行之路,佳丽相伴,心之所向,一往无前!有朝一日,我定让这天星大陆再无战事!有朝一日,我定让这月华各族和平共处!有朝一日,我定能到青苍看看星河万里!有朝一日,我定让这后宫日益......咳咳,暴露了......君子一诺言出必行;一不留神众女倾心;入主月华千世留名;终到青苍万古流芳!与天斗,与地斗,与人斗,其乐无穷!

  • 随身空间:天降娇女

    随身空间:天降娇女

    林家万倾草地一朵花,孙女孙子都是顶呱呱。偏偏金贵皇子被放逐,可见最是无情帝王家。好在有空间作弊器在手,娇娇和八皇子这对儿命定姻缘的小儿女,一路混合双打,踩小人,斗BOSS,成长的彪悍又凶险。最终登上帝王宝座,带领大越奔向现代化,威震四海八荒。

  • 噬魂灭仙

    噬魂灭仙

    少年陈枫偶然之间获得一枚魔珠,竟无意间开启了人体大秘魂锁,踏入强大的武者之列。从此以后,脚踏诸天万界,拳震洪荒九幽,杀伐无尽虚空。所有欺辱过我的人,都要在我脚下匍匐,所有威胁过我的人,只有一个下场,死!!!

  • 猜你喜欢
  • 热门推荐
  • barbie朱可儿球
  • mg rast id
  • 二胡曲赛马宋飞
  • ier-h500a怎么样
  • 南通市青年西路109号
  • 贴了墙砖还能做门套吗
  • 郡县治天下安 出自
  • 外国明星在车上唱歌
  • 三星s6安全模式怎么关
  • 孕妇能吃隔夜白米饭吗
  • 松山湖cbd规划
  • 女生穿白丝视频
  • 花都芙蓉飞瀑要门票吗
  • 2018年七月国内新闻
  • bo a1和战鼓
  • 北京沙河餐饮商铺出租
  • family of sex video
  • drz400新车
  • 飞跃需要多少点券
  • 过去的钱值多少钱
  • All Right Reserved 知识库