《NoSQL权威指南》——2.6 数据仓库和列式数据库

简介:

本节书摘来自异步社区出版社《NoSQL权威指南》一书中的第2章,第2.6节,作者:【美】Joe Celko(乔•塞科) ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.6 数据仓库和列式数据库

当只涉及少数列时,数据仓库可以将部分工作负载转移到列式数据库,以提高性能。多维数据库(Multidimensional database,MDB)或多维数据集(cube)是支持非常快速访问预先计算的汇总数据的不同的物理结构。当查询请求MDB大部分列的情况下,MDB将执行相当不错。

这些MDB数据库的物理存储是一个规范化的维度模型,通过存储计算结果消除了连接(join)操作。然而,随着列的增加,MDB会变得巨大,并且增长速度会比预期快。MDB中的数据可以使用与列式数据库大致相同的方式进行压缩,所以从多维数据集中提取列的子集相对容易。

对于列式数据库,最佳工作负载是查询,不去访问所用表的所有列就会有更好的性能表现。在这种情况下,少就是多。所需行的字节数越小,其性能就越好。

总结思考

很多重要的工作负载是与列选择相关的,因此可以在这个模型中获得巨大收益。列式数据库在大数据量、大规模扫描以及I/O密集型查询方面有很好的表现。在提供性能优势的同时,它们还具有独特的压缩其数据的能力。

列式数据库已经存在了一段时间,并在自己的优势方面表现非常好。但是,它们在当前市场得到特别的飞跃有两个原因。第一个原因是硬件改善,尤其是SSD,使得主存储和辅助存储的区别不那么明显。当主存储和辅助存储在性能上存在巨大差别时,在辅助存储内压缩和解压缩数据和在辅助存储外压缩和解压数据是开销巨大的。而在SSD中却没有什么差别。第二个因素是更好的算法。不但专门的压缩很不错,而且还有专为列式数据存储设计的并行算法。

相关文章
|
2月前
|
存储 监控 NoSQL
九大核心NoSQL数据库及使用场景详解
【10月更文挑战第6天】在当今大数据与云计算飞速发展的时代,NoSQL数据库以其灵活的数据模型、可扩展性和高性能,成为了众多应用场景下的首选。本文将为您详细介绍九大核心NoSQL数据库及其典型使用场景,帮助您在工作和学习中更好地选择和应用。
67 3
|
17天前
|
存储 缓存 NoSQL
常见的 NoSQL 数据库有哪些?
常见的 NoSQL 数据库有哪些?
26 2
|
2月前
|
存储 SQL JSON
介绍一下RDBMS和NoSQL数据库之间的区别
【10月更文挑战第21天】介绍一下RDBMS和NoSQL数据库之间的区别
64 2
|
2月前
|
存储 SQL NoSQL
数据库技术深度探索:从关系型到NoSQL的演变
【10月更文挑战第21天】数据库技术深度探索:从关系型到NoSQL的演变
42 1
|
2月前
|
存储 NoSQL 搜索推荐
nosql
【10月更文挑战第14天】nosql
23 2
|
2月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
2月前
|
存储 SQL 分布式计算
NoSQL 简介
10月更文挑战第10天
36 0
|
2月前
|
存储 NoSQL API
.NET NoSQL 嵌入式数据库 LiteDB 使用教程
.NET NoSQL 嵌入式数据库 LiteDB 使用教程~
|
2月前
|
存储 NoSQL Java
Java中NoSql 数据库的使用
Java中NoSql 数据库的使用
27 0
|
2月前
|
SQL 存储 NoSQL
SQL和NoSQL数据库的全面比较
不可否认,已有越来越多开发人员愿意使用NoSQL数据库,并且在不断地壮大着其相应的社区。但是,相对于成熟的SQL社区,该领域的专家和顾问可能需要更多的时间,去解决那些未曾被记录的NoSQL问题。
64 0