我从事仓储工作已经有一段时间了。
我对柱状数据库和它们为数据检索提供的速度很感兴趣。
我有一个多部分的问题:
发布于 2010-01-25 15:14:19
专栏数据库是如何工作的?
柱状数据库是一个概念,而不是一个特定的体系结构/实现。换句话说,对于这些数据库的工作方式没有一种特定的描述;实际上,有些数据库是建立在传统的、面向行的DBMS基础上的,只需将信息存储在表中,只有一列(或者更多的是两列)(并添加必要的层以方便地访问列数据)。
它们与关系数据库有什么不同?它们通常与传统的(面向行的)数据库在.
...in特定的DBMSes用例。
特别是,当典型的使用是计算有限数量的列上的聚合值,而不是尝试检索给定实体的所有/大多数列时,它们在提到的领域中提供了优势。
有一个试用版的柱状数据库,我可以安装来玩吗?(我在Windows 7上)是的,有商业的,免费的,也有开放源码的专栏数据库实现。请参阅维基百科文章末尾的列表。
请注意,这些实现中有几个是为了满足特定的需求而引入的(比如非常小的占用空间、高度可压缩的数据分布或备用矩阵模拟等等)。而不是提供一个通用的、面向列的DBMS。
注意:关于几个专栏DBMSes的“单一用途取向”的评论并不是对这些实现的批评,而是一个额外的迹象,表明DBMSes的这种方法偏离了更“自然”(当然更广泛使用)的存储记录实体的方法。因此,当面向行的方法不能令人满意时,就会使用这种方法。
( a)以某一特定目的为目标b)获得的资源/兴趣少于“一般目的”、“试验和测试”、表格方法的工作。
试探性地,实体-属性值 (EAV)数据模型可能是您想要考虑的另一种存储策略。虽然EAV不同于“纯”柱状DB模型,但它具有柱状DB的几个特性。
发布于 2010-02-15 04:23:39
列数据库是如何工作的?列存储的定义概念是表的值是按列连续存储的。因此,CJ Date的供应商和部件数据库中的经典供应商表:
SNO STATUS CITY SNAME
--- ------ ---- -----
S1 20 London Smith
S2 10 Paris Jones
S3 30 Paris Blake
S4 20 London Clark
S5 30 Athens Adams将存储在磁盘或内存中,类似于:
S1S2S3S4S5;2010302030;LondonParisParisLondonAthens;SmithJonesBlakeClarkAdams 这与传统的存储数据的行商店形成了对比,后者存储的数据更像这样:
S120LondonSmith;S210ParisJones;S330ParisBlake;S420LondonClark;S530AthensAdams从这个简单的概念出发,列存储和行存储在性能上的所有基本差异,无论好坏,都是流动的。例如,列存储将擅长于进行总计和平均值之类的聚合,但插入单行可能会很昂贵,而行存储的情况则相反。从上面的图表可以看出这一点。
它们与关系数据库有什么不同?关系数据库是一个逻辑概念。柱状数据库或列存储是一个物理概念.因此,这两个术语在任何有意义的方面都没有可比性。面向列的DMBSs可能是关系的,也可能不是关系的,就像面向行的DBMS或多或少地坚持关系原则一样。
发布于 2012-07-26 16:24:33
我想说,了解面向列数据库的最佳选择是检查HBase (阿帕奇Hbase)。您可以签出代码并进一步探索,以了解实现情况。
https://stackoverflow.com/questions/2133017
复制相似问题