数据库必知词汇:Bigtable

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: BigTable是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库。BigTable是非关系型数据库,是一个稀疏的、分布式的、持久化存储的多维度排序Map。Bigtable的设计目的是快速且可靠地处理PB级别的数据,并且能够部署到上千台机器上。

BigTable是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库。BigTable是非关系型数据库,是一个稀疏的、分布式的、持久化存储的多维度排序Map。Bigtable的设计目的是快速且可靠地处理PB级别的数据,并且能够部署到上千台机器上。

BigTable是一个分布式存储系统,它可以支持扩展到很大尺寸的数据:PB级别的数据,包含几千个商业服务器。Google的许多项目都存储在BigTable中,包括WEB索引、Google Earth 和Google Finance。这些应用对BigTable提出了截然不同的需求,无论是从数据量(从URL到网页到卫星图像)而言,还是从延迟需求(从后端批量处理到实时数据服务)而言。尽管这些不同的需求,BigTable已经为所有的Google产品提供了一个灵活的、高性能的解决方案。

在很多方面,Bigtable和数据库很类似:它使用了很多数据库的实现策略。Bigtable不是关系型数据库,但是却沿用了很多关系型数据库的术语,像table(表)、row(行)、column(列)等。这容易让读者误入歧途,将其与关系型数据库的概念对应起来,从而难以理解。
本质上说,Bigtable是一个键值(key-value)映射。按作者的说法,Bigtable是一个稀疏的,分布式的,持久化的,多维的排序映射。并行数据库和内存数据库已经具备可扩展性和高性能,但是Bigtable提供了一个和这些系统完全不同的接口。Bigtable不支持完整的关系数据模型;与之相反,Bigtable为客户提供了简单的数据模型,利用这个模型,客户可以动态控制数据的分布和格式,用户也可以自己推测底层存储数据的位置相关性。数据的下标是行和列的名字,名字可以是任意的字符串。

Bigtable将存储的数据都视为字符串,但是Bigtable本身不去解析这些字符串,客户程序通常会在把各种结构化或者半结构化的数据序列化到这些字符串里。通过仔细选择数据的模式,客户可以控制数据的位置相关性。最后,可以通过BigTable的模式参数来控制数据是存放在内存中还是硬盘上。

资料来源:
Chang F , Dean J , Ghemawat S , et al. Bigtable: A Distributed Storage System for Structured Data[J]. ACM Transactions on Computer Systems, 2008, 26(2):1-26.
谷歌技术"三宝"之BigTable https://blog.csdn.net/opennaive/article/details/7532589

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
存储 安全 数据库
数据库必知词汇:分级存储
分级存储是将数据采取不同的存储方式分别存储在不同性能的存储设备上,减少非重要性数据在一级本地磁盘所占用的空间,还可加快整个系统的存储性能。
951 0
|
存储 JSON NoSQL
数据库必知词汇:Cassandra
Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案,线性可扩展性和在商用硬件或云基础架构上经过验证的容错能力使它成为关键任务数据的理想平台。
965 0
|
分布式计算 负载均衡 算法
数据库必知词汇:Zookeeper
ZooKeeper是用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。ZooKeeper是Google的Chubby一个开源的实现,是Hadoop和HBase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,构成一个高效可靠的原语集,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
346 0
|
SQL 存储 分布式计算
数据库必知词汇:Hive
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和JDBC驱动程序以将用户连接到Hive。
831 0
|
SQL 分布式计算 数据挖掘
数据库必知词汇:Pig
Apache Pig 是一个高级过程语言,特点是其结构易于大量并行化,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。
554 0
|
机器学习/深度学习 存储 分布式计算
数据库必知词汇:Mahout
Mahout 是 Apache基金会旗下的一个开源项目,其提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。
380 0
|
SQL 分布式计算 Oracle
数据库必知词汇:Sqoop
Apache Sqoop是一个用于在Apache Hadoop和关系数据库等结构化数据存储之间高效传输大容量数据的开源工具。主要用于在Hadoop(Hive)与传统的数据库间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。此外,对于某些NoSQL数据库Sqoop也提供了连接器。
452 0
|
Apache 数据库
数据库必知词汇:Flume
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume具有简单灵活的基于流数据流的体系结构。它具有鲁棒性和容错性,具有可调的可靠性机制和许多故障转移和恢复机制。Flume使用一个简单的可扩展数据模型,允许在线分析应用程序。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
426 0
|
存储 缓存 API
数据库必知词汇:Memcached
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。
336 0
|
存储 分布式计算 搜索推荐
数据库必知词汇:HDFS
Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)是指被设计成适合运行在通用硬件上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。
386 0