对象存储例如 S3和基于列的技术之间有什么区别

问题描述

我在考虑这两种方法间的区别。

假设您必须处理有关模式调用的信息,稍后应该 显示用户。模式调用是由唯一整数组成的元组 标识符(“id”)、用户定义的名称(“name”)、项目相对路径 称为模式文件(“patternFile”)和一个便利标志,它说明是否 应该调用或不调用该模式。并且元组数量之前是未知的,初始化后不会被修改

我认为在这种情况下,基于列的方法和大查询I/O性能以及架构的演变方面会更好。但实际上我不明白为什么。我将不胜感激。

解决方法

Amazon S3 就像一个大型键值存储。 Key 是文件名(带完整路径),Value 是文件的内容。这只是一堆数据。

列式数据存储以可以“跳转到”特定数据的方式组织数据,并且只需要从磁盘读取所需的值。

如果您要对数据执行搜索,则需要对数据进行某种形式的逻辑。这可以通过将数据存储在数据库中(通常是专有格式)或使用列式存储格式(例如 Parquet 和 ORC)以及理解这种格式的查询引擎(例如 Amazon Athena)来实现。

S3 和列式数据存储之间的区别就像磁盘驱动器和 Oracle 数据库之间的区别。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...