云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站服务器_60级数据库_企业级

小七 141 0

大家好!!!

在这篇文章中,我们将讨论一些通常被忽略的非常重要的东西,但在我看来,这是一个很好的资源,它使投资HANA变得值得,它增加了ROI,同时降低了TCO:数据压缩。

当然,任何一个有点计算机知识的人都听说过这一点,并且知道它节省了磁盘空间。但是在HANA的例子中,爱淘客,它节省了RAM,这可以带来更好的成本效益比,因为尽管最近价格下降,RAM仍然比磁盘内存贵得多,这使得开发像SAP HANA这样的内存平台成为可能。

逻辑很简单:假设贵公司的存储容量接近其极限,一年的存储容量为9TB10TB DW容量,这对IT经理来说基本上是一个红灯。如果我错了,请纠正我,但如果您的公司更积极一些,将此容量增加一倍,再加上额外的硬盘驱动器,将需要大约100000美元,而您的成本几乎可以增加一倍。同时,SAP HANA可以将存储在DW中的数据压缩至少3倍。因此,如果您的公司选择投资HANA,您的9TB将减少到3TB,甚至可能达到1TB以下。新硬盘零投资。很好,对吧?你只需要投资一台6TB的服务器就可以将你的容量翻一番,任何数据压缩到3x以上都是偶然的。

当然,没有一家管理良好的公司喜欢浪费钱,如果可能的话,理想的投资方式是完全不浪费。(事实上,大数据分析培训机构,有一种方法可以做到这一点,我将在后面讨论。)

数据库压缩并不完全是新的,其他数据库已经在使用它。HANA的独特之处在于它的压缩算法都是在内存中执行的,不同于市场上的任何其他压缩系统!!

但它是如何工作的?

在这篇文章中,我只介绍支持所有其他技术的技术,因为粗略地说,其他压缩算法都是基于它的,而且相对简单。这种技术被称为字典编码。

让我们以一个包含世界人口数据的表格为例。在下面的图像中,我们有两个对象作为此技术的基础,大数据是什么,Dictionary和Attribute Vector:

这里table name列和Dictionary storage列只包含不重复的值,这将为value ID列中的每个值创建一个索引。

Vector属性形成一对一的关系在原始表和字典中的数据之间,它还创建了一个位置索引。

现在一切都变得简单了,因为它只是将原始表中的数据转换为位。以位存储数据比以原始格式存储要经济得多,如果字段数据是CHAR类型,则压缩更大。

假设我们的表有80亿行,一个数据集是200字节。我们有:

8.000.000.000 x 200=1.6TB

让我们从"名字"字段开始。为了能够用位替换它的数据,我们必须知道这里列出的49字节数据需要多少位。为此,我们使用一个二进制对数函数:

Log2(5.000.000)=23

根据这个计算,我们需要23位来存储相同的49字节。现在让我们做一个比较:

之前:

8.000.000.000 x 49字节=392.000.000字节/1024/1024/1024=365.1GB

之后:

8.000.000 x 23位=184.000.000位/8/1024/1024/1024=21.4GB

哇!!!体积缩小了94%。太棒了,对吧?例如,现在记录在"first name"字段中的是23位的序列,而不是"William"。对于那些了解BW的人来说,这类似于在多维数据集的维度中使用代理项id(SIDs)。

但是当我们执行Select函数时,为什么会出现正确的名称而不是位呢?啊哈,这是因为另一种叫做"物化"的技术,但这是另一篇文章的主题!

我们不能忘记添加字典占用的空间

49字节x 5.000.000/1024/1024/1024=0.23GB

所以最后,我们有:

在我们的场景中,我们有一个大约17倍的缩减系数,"名字"列的新大小只消耗原始空间的6%…非常好!!!

只需对其他列重复此操作,即可得到整个表的折减系数。因此,我们可以得出结论,压缩级别不仅取决于数据类型,还取决于给定列中重复值的次数,或者更确切地说,国内的云服务器,我们有多少不同的值,以及数据集的数量,我们很高兴地将公司数据存储在表中,这些表在存储在列中时具有较低的熵。在大多数情况下,可以获得比SAP建议的最小3倍更高的压缩比。

其他压缩技术,如前缀编码、游程编码、聚类编码、间接编码和增量编码都应用于这3个对象(表,字典和属性向量)通常在字典编码已经应用之后,因此,这是最重要的一步,而其他步骤的作用是使HANA压缩更加高效,从而使这个数据库非常特别和精彩。

正如我在这篇文章的开头提到的,通过实施HANA来减少规模投资的决定是,这最大限度地提高了效率,因为HANA的价格是RAM的数量。应用这个例程,可以运行一个程序来分析任何公司的电子表格:

首先,在给定表格的每一列中定义不同值的数量确定每列的长度最后,使用对数函数

计算结果,将每列的结果以GB为单位相加,并与原始结果进行比较。