列式数据库概述_列式数据库多张表

列式数据库概述_列式数据库多张表阐述列式数据库的基本定义,现状,以及一些开源数据库的性能比较。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

0、一张图描述列式数据库与行式数据库区别:

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、 列式数据库应用于对表中部分字段进行查询,或者是所谓的“大表”。

2、 大多数列式数据库不需要索引,因为列本身就是索引

3、 列式数据库能够自动评估逻辑和物理上的IO消耗,所以他不需要分区,也不需要物化视图。读取数据时,

      只跟当前列数据所在存储设备发生IO操作,基本上占传统数据库的10%。

4、 一般上讲,列式数据库的查询性能比传统行数据库快5—10倍,同时随着数据量成倍地增加,查询性能变

      化不会很大,基本上在一个数量级。

5、 列式数据库的物理文件小,压缩比基本上是传统的10-40倍;由于列数据类型相同,所以可以根绝不同

      的数据类型来压缩。

6、 什么情况下不适合用列式数据库:

  •  
    • 大多数情况下都是用select * 类似的查询,这时候列式数据库没有任何性能优势。
    • 频繁的单个的insert和delete操作
    • 小型数据库,性能提升不明显
    • 换句话说,传统的OLTP业务不适合列式数据库

7、 什么情况下适合用列式数据库

  •  
    • 非事务、非实时、非多并发的数据仓库的构建
    • 数据变化小,如日志,汇总的大量数据等
    • 换句话说,列式数据库适用于典型的BI分析和DW构建等应用场景。

8、 随着应用需求由简单的交易业务转向分析业务,套用SAP-Sybase(被SAP收购)的话“列式数据库正是在分析系统领域(OLAP)里最好的技术”。

9、 一种新观点——“5年内可能会,大多数数据仓库将以列模式存储;大多数 OLTP 数据库将可能是内存数据库 (IMDB),或完全驻留在内存内;大多数大型数据库服务器将通过集群方式进行横向扩展”。

10、 看看现在巨头们都有哪些列式数据库:

  •  
    • IBM:2010年大型机上推出智能分析优化器(SAO),自称列式设备。
    • Oracle:Oracle 11gR2中提供了针对它自己Exadata系统的列式存储技术
    • SAP-Sybase:Sybase IQ,据说人家十年前就研究这个了。
    • 开源:绝大部分是作为Mysql的数据存储引擎,如InfoBright, InfiniDB等。其中LucidDB的特点主要有:
      • i. 专门用于数据仓库和BI分析
      • ii. 以位图索引,Hash Join,聚合以及页级多版本并发控制技术为基础构建。
      • iii. 存储引擎上层采用Java实现,提供基于Java的扩展接口
      • iv. 与mondrian结合紧密,同时有针对ETL功能的优化。

11、 LucidDB及其他开源列式存储引擎性能基准测试:

http://www.percona.com/docs/wiki/benchmark:ssb:start

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234957.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 拜占庭将军问题_拜占庭为什么叫拜占庭

    拜占庭将军问题_拜占庭为什么叫拜占庭在https://blog.csdn.net/qq_41946557/article/details/102770531分布式系统之Paxos选举协议有提到Paxos有一个前提:没有拜占庭将军问题。,所以这里对拜占庭将军问题进行了解。拜占庭将军问题拜占庭将军问题(Byzantinefailures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试…

    2022年10月22日
    1
  • java try lock_ReentrantLock

    java try lock_ReentrantLockpackageconcurrent;importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;publicclassTestTryLock{privateListlist=…

    2022年10月15日
    0
  • 如何制作微信小程序_制作微信GIF表情

    如何制作微信小程序_制作微信GIF表情作为一个小程序从业人员,我经常在公众号推荐各种好玩的软件和小程序。题特意整理了一下,从工具类、娱乐类、游戏类分享一些值得推荐的小程序,希望有所帮助。整理内容花了大半天,觉得有用的话求个赞。娱乐类1.头像小助手这是一款微信头像制作工具,方便一键定制各种个性头像,功能包含给微信头像加V、加字、加1、粉丝头像等功能,轻松制作个性微信头像。2.昵称工具一款昵称制作工具,可以一键生成各种花式昵称,包括空白…

    2022年9月18日
    0
  • pytest fixtures_pytest allure

    pytest fixtures_pytest allurefixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

    2022年7月29日
    3
  • 谷歌如何换搜索引擎图片_Google谷歌搜索引擎

    谷歌如何换搜索引擎图片_Google谷歌搜索引擎1.如下图是默认的搜索引擎2.点击三个点3.点击设置->再点击搜索引擎4.选择自己喜欢的搜索引擎

    2022年9月4日
    4
  • volatile关键字作用

    volatile关键字作用一、作用简述内存可见性:保证变量的可见性:当一个被volatile关键字修饰的变量被一个线程修改的时候,其他线程可以立刻得到修改之后的结果。当一个线程向被volatile关键字修饰的变量写入数据的时候,虚拟机会强制它被值刷新到主内存中。当一个线程用到被volatile关键字修饰的值的时候,虚拟机会强制要求它从主内存中读取。 屏蔽JVM指令重排序(防止JVM编译源码生成class时使用重排序)…

    2022年6月1日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号