Google Map Reduce
英文原文链接: Google Map Reduce 译文原文链接: Google MapReduce中文版
Google File System
英文原文地址: Google File system 译文原文地址: The Google File System中文版
|
|||||
|
Google Map Reduce 英文原文链接: Google Map Reduce 译文原文链接: Google MapReduce中文版 Google File System 英文原文地址: Google File system 译文原文地址: The Google File System中文版 Multidimensional conceptual view OLAP模型必须提供多维概念视图 User-analysts would view an enterprise as being multidimensional in nature – for example, profits could be viewed by region, product, time period, or scenario (such as actual, budget, or forecast). Multi-dimensional data models enable more straightforward and intuitive manipulation of data by users, including "slicing and dicing". 分析用户能自然的视企业为一个多维模型,例如,利润可以按区域,产品,时间,或方案(如实际,预算或预测)查看。多维数据模型能让用户更直接和方便的操作数据,包括“切片和切块” Transparency [...] Jdon总结的NoSQL的分类,转在此:原文链接 NoSQL = HVSP 无(传统关系数据库的)join或明显事务的高容量简单处理。 按照数据模型保存性质将当前NoSQL分为四种: 1.Key-value stores键值存储, 保存keys+BLOBs (二进制大对象Binary Large OBjects) 2.Table-oriented 面向表, 主要有Google的BigTable和Cassandra. 3.Document-oriented面向文本, 文本是一种类似XML文档,MongoDB 和 CouchDB 4.Graph-oriented 面向图论. 如Neo4J. NoSQL一般都是分布式数据库,高性能是其特点,因此,数据是如何被分布、复制/碎片以及合成就成为关键,这其中涉及你的应用对数据一致性的要求,见CAP原理,不同一致性处理方式决定不同类型: 1.基本上基于Dynamo. 核心思想就是在多个节点之间获得最终一致性就可以,即使你有时会读到脏数据. 好处是写数据时从来不会阻塞。那种强制性节点一致性,如2PC,两段事务提交将会让你的写关闭停顿,使用Dynamo-like风格你能将数据写到多个节点中,通过一致hashing,然后你可以从这些节点读取数据,返回正确结果给用户。 2.基本基于BigTable. 这种模型中,使用常用方式保持节点充分的一致性。比如同步复制,由数据自己活或数据所在位置来实现一致性,不同产品实现细节不一样。 比如:MongoDB有一个面向文本类型的数据模型, 它采取类似BigTable-like 复制策略;Cassandra有面向表table-like数据模型, 采取的是Dynamo-like风格. 以后应该有数据是如何被持久化保存到磁盘上的区分,不同NoSQL处理策略不一样,有的是写一次保存一次;有的是定期保存,后者性能要好些。 当然,也有按照列记录来划分的,见http://nosql-database.org/ 看到有人推荐,于是把链接放在这备用一下 1. Google File System: http://research.google.com/archive/gfs-sosp2003.pdf 把多个电脑的硬盘组合起来,形成一个超大规模的硬盘,用来存储海量数据,同时保障万一有某些硬盘崩溃了,不至于遗祸整个系统。(传说中的GFS) 2. MapReduce: http://labs.google.com/papers/mapreduce-osdi04.pdf 如何实现并行计算。道理很简单,但是用好却不容易。下面两篇论文,可以作为范例,指导如何正确使用MapReduce。 2.1. Large Language Models in Machine Translation http://acl.ldc.upenn.edu/D/D07/D07-1090.pdf 2.2. Parallelizing Support Vector Machines on Distributed Computers http://books.nips.cc/papers/files/nips20/NIPS2007_0435.pdf 3. Chubby lock service: http://research.google.com/archive/chubby-osdi06.pdf 电脑操作经常要用到锁机制,譬如用锁防止两个进程同时向同一个文件写数据。这篇论文谈的是,在由多台电脑组成的分布式系统中,集中管理锁的机制。 4. BigTable: http://research.google.com/archive/bigtable-osdi06.pdf 这篇文章既是讲如何实现分布式数据库,同时也可以把它看成范例,如何正确使用Chubby锁机制,和GFS文件系统。 5. The Google cluster architecture: http://www.computer.org/micro/mi2003/m2022.pdf 各个组成部分完成以后,如何组建一个计算中心。这是这篇文章的主题。 6. [...] |
|||||
|
Copyright © 2010 Bookcold's Blog - All Rights Reserved |
|||||