Big carmakers are placing vast bets on battery power
The fire in Notre Dame cathedral, and more from our daily podcast
Cathedrals are neglected in much of Europe
Fire in the heart of Paris
IDEA 使用技巧
Phoenix Secondary Indexing
二级索引是从主访问路径访问数据的正交方式。在 HBase 中,您有一个索引按字典顺序排序在主键行上。以不同于主要行的方式访问记录需要扫描表中的所有行,以针对您的过滤器对其进行测试。通过二级索引,您索引的列或表达式形成一个备用行键,以允许沿着这个新轴进行点查找和范围扫描。
Phoenix 是特别强大的,因为我们提供覆盖索引 - 一旦找到索引条目,我们不需要返回主表。相反,我们将我们关心的数据绑定到索引行,节省了读取时间的开销。
例如,以下内容将在v1和v2列上创建索引,并在索引中包含v3列以防止从数据表中获取该列:
1 | CREATE INDEX my_index ON my_table (v1,v2) INCLUDE(v3) |
Google Bigtable 中文版
Bigtable 是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的 PB 级的数据。
Google 的很多项目使用 Bigtable 存储数据,包括 Web 索引、Google Earth、Google Finance。这些应用对 Bigtable 提出的要求差异非常大,无论是在数据量上(从 URL 到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务)。尽管应用需求差异很大,但是,针对 Google 的这些产品,Bigtable 还是成功的提供了一个灵活的、高性能的解决方案。
本论文描述了 Bigtable 提供的简单的数据模型。利用这个模型,用户可以动态的控制数据的分布和格式。 我们还将描述 Bigtable 的设计和实现。
Google MapReduce 中文版
MapReduce 是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一 个 Map 函数处理一个基于 key/value pair 的数据集合,输出中间的基于 key/value pair 的数据集合;然后再创建 一个 Reduce 函数用来合并所有的具有相同中间 key 值的中间 value 值。现实世界中有很多满足上述处理模型 的例子,本论文将详细描述这个模型。
MapReduce 架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心: 如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中计算机之间 必要的通信。采用 MapReduce 架构可以使那些没有并行计算和分布式处理系统开发经验的程序员有效利用分 布式系统的丰富资源。
我们的 MapReduce 实现运行在规模可以灵活调整的由普通机器组成的集群上:一个典型的 MapReduce 计算往往由几千台机器组成、处理以 TB 计算的数据。程序员发现这个系统非常好用:已经实现了数以百计 的 MapReduce 程序,在 Google 的集群上,每天都有 1000 多个 MapReduce 程序在执行。
Google File System 中文版
我们设计并实现了 Google GFS 文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS 虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的
服务。
虽然 GFS 的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对
自己的应用的负载情况和技术环境的分析为基础的,不管现在还是将来,GFS 和早期的分布式文件系统的设想都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。
GFS 完全满足了我们对存储的需求。GFS 作为存储平台已经被广泛的部署在 Google 内部,存储我们的服务产生和处理的数据,同时还用于那些需要大规模数据集的研究和开发工作。目前为止,最大的一个集群利用数千台机器的数千个硬盘,提供了数百 TB 的存储空间,同时为数百个客户机服务。
在本论文中,我们展示了能够支持分布式应用的文件系统接口的扩展,讨论我们设计的许多方面,最后
列出了小规模性能测试以及真实生产系统中性能相关数据。