NoSQL数据建立模型技术

By admin in 亚洲必赢app在哪下载 on 2019年3月25日

初稿来自“NoSQL Data Modeling
Techniques
”,由酷壳网陈皓编写翻译《NoSQL数据建模技术》。那篇文章看完事后,你恐怕会对NoSQL的数据结构会稍稍觉得。作者的痛感是,关系型数据库想把一致性,完整性,索引,CRUD都干好,NoSQL只干某一种事,可是就义了成百上千别的东西。总体来说,笔者觉得NoSQL更切合做Cache。

下边是本文:

NoSQL数据库常常被用作很多非作用性的地方,如,扩充性,质量和一致性的地点。这几个NoSQL的特色在辩论和执行中都正值被群众周边地商讨着,研商的看好便是那多少个和质量分布式相关的非功能性的东西,大家都知晓CAP
理论
被很好地采取于了NoSQL系统中(陈皓注:CAP即,一致性(Consistency),可用性(Availability),分区容忍性(Partition
tolerance),在分布式系统中,那多少个要素最六只可以同时达成多个,而NoSQL一般吐弃的是一致性)。但在一方面,NoSQL的多寡建立模型技术却因为缺乏像关系型数据库那样的基础理论没有被世人很好地钻探。那篇小说从数据建立模型方面对NoSQL家族举办了相比,并切磋多少个科学普及的数码建立模型技术。

要初阶探讨数量建立模型技术,我们只好或多或少地先系统地看一下NoSQL数据模型的成材的矛头,以此我们得以了有的他们内在的联络。下图是NoSQL家族的进化图,大家能够观望这么的发展:Key-Value时期,BigTable时期,Document时期,全文字笔迹检验索时期,和Graph数据库时期:(陈皓注:注意图中SQL说的那句话,NoSQL再这么发展下去即是SQL了,哈哈。)

亚洲必赢app在哪下载 1

NoSQL Data Models

第三,大家须求小心的是SQL和关系型数据模型已存在了很短的大运,那种面向用户的自然性意味着:

  • 最后用户一般更感兴趣于数据的聚合突显,而不是分别的数码,那重庆大学透过SQL来达成。
  • 我们鞭长莫及通过人手工控制数据的并发性,完整性,一致性,或是数据类型校验这几个事物的。那正是为何SQL须要在作业,二维表结构(schema)和表面联合上做过多事。

另一方面,SQL能够让软件应用程序在许多意况下不供给关心数据库的多寡聚合,和数据完整性和有效性进行支配。而就算大家去除了数量一致性,完整性那些事物,会对质量和遍布存款和储蓄有根本的赞助。正因为那样,我们才有数据模型的升高:

  • Key-Value键值对存款和储蓄是非常不难而有力的。下面包车型大巴累累技巧基本上都以根据这些技能起始上扬的。不过,Key-Value有三个十三分沉重的难点,那便是如若大家需求摸索一段范围内的key。(陈皓注:学过hash-table数据结构的人都应有驾驭,hash-table是非体系容器,其并不像数组,链接,队列那几个有序容器,大家得以控制数据存款和储蓄的次第)。于是,有序键值(Ordered
    Key-Value)数据模型被规划出来解决这一限制,来从根本上进步数据集的标题。

  • Ordered
    Key-Value有序键值
    模型也卓殊强劲,不过,其也从没对Value提供某种数据模型。平日来说,Value的模子可以由使用负责解析和存取。那种很不便于,于是应运而生了BigTable类型的数据库,这些数据模型其实正是map里有map,map里再套map,一层一层套下去,也便是博闻强识嵌套的key-
    value(value里又是多个key-value),这种数据库的Value首要透过“列族”(column
    families),列,和时间截来控制版本。(陈皓注:关于时间截来对数据的版本控制主倘若不留余地多少存款和储蓄并发难题,也正是所谓的开阔锁,详见《多版本出现控制(MVCC)在分布式系统中的应用》)

  • Document databases
    文书档案数据库
     革新了BigTable模型,并提供了三个有含义的千锤百炼。第三个是允许Value中有主观的情势(scheme),而不是map套map。第贰个是索引。Full
    Text Search
    Engines全文字笔迹检验索引擎
    能够被当作是文书档案数据库的二个变种,他们得以提供灵活的可变的数目形式(scheme)以及自动索引。他们之间的不一致点首借使,文书档案数据库用字段名做索引,而全文字笔迹检验索引擎用字段值做索引。

  • Graph data models图式数据库 能够被认为是那一个发展进程中从Ordered
    Key-Value数据库发展过来的三个分支。图式数据库允许构提议图结构的数据模型。它和文书档案数据库有关联的缘由是,它的大队人马落到实处允许value能够是贰个map或是贰个document。

NoSQL数据模型摘要

本文剩下的章节将向您介绍数据建立模型的技艺达成和相关格局。不过,在介绍这么些技能在此以前,先来一段序言:

  • NoSQL数据模型设计一般从作业应用的求实数额查询动手,而不是数额间的涉嫌:
  • 关系型的数据模型基本上是分析数据间的布局和关系。其设计意见是:
    What answers do I have?”
  • NoSQL数据模型基本上是从应用对数据的存取格局初步,如:小编索要帮衬某种数据查询。其设计理念是 ”What
    questions do I have?”
  • NoSQL数据模型设计比关系型数据库必要对数据结构和算法的更深的精晓。在那篇小说中笔者会和豪门说那多少个明显的数据结构,这个数据结构并不只是被NoSQL使用,但是对于NoSQL的数据模型却极度有援救。
  • 数码冗余和反规格化是一等人民。
  • 关系型数据库对于拍卖层级数据和图式数据充裕的不便于。NoSQL用来缓解图式数据显明是八个要命好的消除方案,大致全数的NoSQL数据库能够很强地缓解此类题材。那正是怎么那篇文章专门拿出一章来表达层级数据模型。

上边是NoSQL的分类表,也是自个儿用来写那篇小说时做执行的出品:

  • Key-Value 存储: Oracle Coherence, Redis, Kyoto Cabinet
  • 类BigTable存储: Apache HBase, Apache Cassandra
  • 文书档案数据库: MongoDB, CouchDB
  • 全文索引: Apache Lucene, Apache Solr
  • 图数据库: neo4j, FlockDB

概念技术Conceptual Techniques

这一节关键介绍NoSQL数据模型的为主原则。

(1)反规格化Denormalization

反规格化Denormalization能够被认为是把相同的数额拷贝到不一样的文书档案或是表中,这样就足以简化和优化查询,或是正好吻合用户的某中越发的数据模型。那篇文章中所说的绝超越四分之一技艺都或多或少地导向了这一技术。

总体来说,反规格化须求权衡上面那些东西:

  • 查询数据量
    /查询IO 
    VS 总和据量。使用反规格化,一方面能够把一条查询语句所急需的兼具数据整合起来放到三个地点贮存。那表示,此外分化不一致查询所急需的同一的多少,须要放在别差异的地点。由此,那发生了过多冗余的数据,从而致使了数据量的叠加。

  • 拍卖复杂度 VS 总数据量.
    在符合范式的数码形式上拓展表连接的询问,很显明会大增了查询处理的复杂度,越发对于分布式系统来说更是。反规格化的数据模型允许大家以有利于查询的章程来存构造数据结构以简化查询复杂度。

适用性:Key-Value Store 键值对数据库,Document
Databases文书档案数据库,BigTable风格的数据库。

(2)聚合Aggregates

怀有类型的NoSQL数据库都会提供灵活的Schema(数据结构,对数码格式的界定):

  • Key-Value Stores 和 Graph
    Databases基本上来说不会Value的款型,所以Value能够是任意格式。那样一来,那使得我们能够任意组合贰个作业实体的keys。比如,大家有三个用户帐号的事体实体,其可以被如下这么些key组合起来: UserID_name,UserID_email,
    UserID_messages
    等等。若是二个用户并未email或message,那么相应也不会有这么的记录。

  • BigTable模型通过列集合来援救灵活的Schema,大家称为列族(column
    family
    )。BigTable还足以在一如既往记录上边世分裂的版本(通过时间截)。

  • Document
    databases文书档案数据库是一种层级式的“去Schema”的存款和储蓄,即便有个别这样的数据库允许检验要求保留的数据是或不是满足某种Schema。

利落的Schema允许你能够用一种嵌套式的里边数据方式来囤积一组有关系的工作实体(陈皓注:类似于JSON那样的数目封装格式)。那样能够为我们带来五个好处。

  • 最小化“一对多”关系——能够因此嵌套式的艺术来储存实体,那样能够少一些表联结。

  • 能够让当中技术上的数量存款和储蓄更就像于业务实体,尤其是那种混合式的作业实体。可能存于一个文书档案集或是一张表中。

下图表示了那二种利益。图中描给了电子商务中的商品模型(陈皓注:作者记得小编在“挑衅无处不在”一文中说到过电商业中学产品分类数据库设计的挑衅)

  • 首先,全部的货物Product都会有多个ID,Price和Description。

  • 接下来,我们能够领略不一致的档次的货品会有例外的天性。比如,小编是书的属性,长度是直筒裤的品质。其些属性恐怕是“一对多”或是“多对多”的关系,如:唱片中的曲目。

  • 接下去,大家知晓,有个别事情实体不只怕选用一定的种类。如:直筒裤的属性并不是有所的品牌都有的,而且,有些名牌还会搞万分尤其的性质。

对于关系型数据库来说,要规划那样的数据模型并不简单,而且设计出来的相对化离优雅很远很远。而作者辈NoSQL中灵活的Schema允许你利用贰个聚合Aggregate
(product) 能够建出全部分化类其他货品和她俩的两样的天性:

亚洲必赢app在哪下载 2

Entity Aggregation

上航海用体育场地中我们能够比较关系型数据库和NoSQL的出入。不过大家能够看到在数码更新上,非规格化的多少存款和储蓄在性质和一致性上会有不小的震慑,那便是大家需求注重注意和不得不就义的地点

适用性: Key-Value Store键值对数据库,Document
Databases文书档案数据库,BigTable风格的数据库。

(3)应用层联结Application Side Joins

表联结基本上不被NoSQL辅助。正如笔者辈日前所说的,NoSQL是“面向难题”而不是“面向答案”的,不支持表联结正是“面向难点”的后果。表的联合是在筹划时被组织出来的,而不是在实践时建造出来的。所以,表联结在运营时是有相当的大开发的(陈皓注:搞过SQL表联结的都晓得笛Carl积是怎么着事物,大能够在参考此前酷壳的“图解数据库表Joins”),可是在利用了Denormalization和Aggregates技术后,咱们着力不用进行表联结,如:你们使用嵌套式的数额实体。当然,要是您须求联合数据,你须要在应用层完结那些事。上面是多少个基本点的Use
Case:

  • 多对多的数额实体关系——平常索要被接连或合并。

  • 聚合Aggregates并不适用于数据字段平常被改动的气象。对此,大家须求把那多少个日常被改成的字段分到别的的表中,而在查询时大家必要统一数据。例如,我们有个Message系统能够有叁个User实体,其蕴涵了1个内嵌的Message实体。可是,如若用户不断在增大message,那么,最棒把message拆分到另3个单身的实体,但在询问时联结那User和Message那五个实体。如下图:

适用性: Key-Value Store键值对数据库,Document
Databases文书档案数据库,BigTable风格的数据库,Graph Databases图数据库。

通用建立模型技术General Modeling Techniques

在本书中,大家将研讨NoSQL中各个分化的通用的多寡建模技术。

(4)原子聚合Atomic Aggregates

成都百货上千NoSQL的数据库(并不是具有)在事务处理上都以短板。在好几情形下,他们得以由此分布式锁技术只怕应用层管理的MVCC技术来促成其事务性(陈皓注:可参考本站的“多版本出现控制(MVCC)在分布式系统中的应用”)不过,平时来说只好采取聚合Aggregates技术来担保一些ACID原则。

那就是为何我们的关系型数据库须求有无往不胜的事务处理机制——因为关系型数据库的数量是被规格化存放在了不相同的地点。所以,Aggregates聚合允许大家把贰个事情实体存成四个文书档案、存成一行,存成贰个key-value,那样就能够原子式的更新了:

亚洲必赢app在哪下载 3

Atomic Aggregates

亚洲必赢app在哪下载,本来,原子聚合Atomic
Aggregates那种数据模型并不能够促成完全意义上的事务处理,不过一旦支持原子性,锁,或test-and-set指令,那么,Atomic
Aggregates是能够适用的。

**适用性: **Key-Value Store键值对数据库,Document
Databases文书档案数据库,BigTable风格的数据库。

(5)可枚举键Enumerable Keys

恐怕,对于无顺序的Key-Value最大的益处是工作实体可以被简单地hash以分区在多个服务器上。而排序了的key会把业务搞复杂,可是多少时候,贰个行使能从排序key中获取许多便宜,就到底数据库本身不提供这么些效应。让我们来构思下email音信的数据模型:

  1. 一部分NoSQL的数据库提供原子计数器以允许生一些总是的ID。在那种情状下,大家得以应用 userID_messageID 来做为3个组成key。倘诺大家知道最新的message
    ID,就足以领悟前多个message,也或者知道再后面和后边的Message。
  2. Messages能够被打包。比如,每一日的邮件包。那样,大家就能够对邮件按钦赐的光阴段来遍历。

**适用性: **Key-Value Store键值对数据库

(6)降维Dimensionality Reduction

Dimensionality
Reduction降维是一种技术能够允许把二个多维的多寡映射成贰个Key-Value或是别的非多给的数据模型。

价值观的地理地方音信种类利用部分如“五分树QuadTree”或“R-Tree”来做地理地方索引。这几个数据结构的始末供给被在适用的位置更新,并且,若是数据量十分大的话,操作开销会很高。另1个形式是咱们得以遍历四个二维的数据结构并把其扁平化成四个列表。一个强烈的例子是Geohash(地理哈希)。三个Geohash使用“之字形”的路径扫描一个2维的空间,而且遍历中的移动能够被简单地用0和1来代表其大方向,然后在运动的历程中发生0/1串。下图呈现了这一算法:(陈皓注:先把地图分成四份,经度为第二人,纬度为第四个人,于是左侧的经度是0,左侧的是1,纬度也如出一辙,上边是为1,下边包车型大巴为0,那样,经纬度就能够整合成01,11,00,10那七个值,其标识了四块区域,我们能够那样不断的递归地对外省开展四分,然后能够收获一串1和0结缘的字串,然后使用0-9,b-z去掉(去掉a,
i, l,
o)这3陆个字母进行base32编码获得1个九个长度的编码,那正是Geohash的算法)

亚洲必赢app在哪下载 4

Geohash Index

Geohash的最强大的职能是运用简便的位操作就足以明白七个区域间的离开,就如图中所示(陈皓:proximity框着的那八个,那么些很像IP地址了)。Geohash把八个二维的坐标生生地成为了三个一维的数据模型,那正是降维技术。BigTable的降维技术参考到作品前面包车型地铁[6.1]。越多的有关Geohash和其余技术可以参照[6.2]
和 [6.3]。

**适用性:** Key-Value Store键值对数据库,Document
Databases文书档案数据库,BigTable风格的数据库。

(7)索引表 Index Table

Index
Table索引表是3个可怜直接的技艺,其得以你在不补助索引的数据库中取得索引的益处。BigTable是那类最根本的数据库。那亟需大家保险叁个有相应存取形式的专门表。例如,大家有八个主表存着用户帐号,其能够被UserID存取。某询问须求查出某些城市里全数的用户,于是大家能够进入一张表,那张表用城市做主键,全部和这一个城市有关的UserID是其Value,如下所示:

亚洲必赢app在哪下载 5

Index Table Example

看得出,城市索引表的内需和对主表用户表保持一致性,由此,主表的每一个翻新可能必要对索引表进行翻新,不然就是三个批处理更新。无论哪个格局,那都会挫伤一些性质,因为急需保险一致性。

Index Table索引表能够被认为是关系型数据库中的视图的等价物。

适用性:BigTable数据库。

(8)键组合索引 Composite Key Index

Composite
key键组合是二个很常用的技艺,对此,当大家的数据库接济键排序时能获得急剧的利益。Composite
key组合键的拼凑成为第③排序字段能够让你创设出一种多维索引,那很像大家事先说过的 Dimensionality
Reduction降维技术。例如,我们要求存取用户计算。若是大家须求基于不一致的地带来总括用户的分布情状,大家得以把Key设计成这么的格式 (State:City:UserID),那样一来,就使得大家得以经过State到City来按组遍历用户,特别是大家的NoSQL数据库协理在key上按区查询(如:BigTable类的种类):

  1. SELECT Values WHERE state=”CA:*” 
  2. SELECT Values WHERE city=”CA:San Francisco*” 

Composite Key Index

**适用性:** BigTable 数据库。

(9)键组合聚合 Aggregation with Composite Keys

Composite
keys键组合技术并不仅仅可以用来做索引,同样能够用来分别不用的品类的数码以扶助数据分组。考虑三个例子,大家有2个海量的日志数组,这么些日志记录了互连网上的用户的拜会来源。大家供给总括从某一网站苏醒的独门访客的数额,在关系型数据库中,我们大概需求上边这样的SQL查询语句:

  1. SELECT count(distinct(user_id)) FROM clicks GROUP BY site  

咱俩能够在NoSQL中国建工业总会公司立如下的数据模型:

亚洲必赢app在哪下载 6

Counting Unique Users using Composite Keys

那样,大家就足以把多少按UserID来排序,我们就足以很简单把同3个用户的数码(3个用户并不会生出太多的event)举办处理,去掉那2个重复的站点(使用hash
table或是别的什么)。另1个可选的技艺是,大家得以对每三个用户建立二个数目实体,然后把其站点来源追加到那么些数额实体中,当然,那样一来,数据的更新在性质比较之下会有早晚损失。

**适用性:** Ordered Key-Value Store 排序键值对数据库,
BigTable风格的数据库。

(10)反转搜索 Inverted Search – 直接聚合 Direct Aggregation

那些技术更多的是数据处理技术,而不是数量建立模型技术。就算如此,这一个技术或然会潜移默化数据模型。这么些技能最器重的想法是利用3个目录来找到满意某条件的数额,不过把数据聚合起供给接纳全文字笔迹检验索。依旧让大家的话3个示范。照旧用地点11分例子,大家有过多的日志,个中包罗互连网用户和他们的拜会来源。让我们只要每条记下都有二个UserID,还有用户的体系 (Men,Women,Bloggers,等),以及用户所在的城市,和访问过的站点。我们要干的事是,为种种用户种类找到满足有个别条件(访问源,所在城市,等)的的独立用户。

很明确,大家供给摸索那多少个满足条件的用户,假如大家选拔反转搜索,那会让我们把那事干得很容易,如: {Category
-> [user IDs]}
 或 {Site -> [user
IDs]}
。使用那样的目录,大家能够取三个或多少个UserID要的参差不齐或并集(这么些事很简单干,而且能够干得相当的慢,如若那么些UserID是排好序的)。不过,我们要按用户体系来生成报表会变得稍微辛劳,因为大家用讲话可能会像上边那样

  1. SELECT count(distinct(user_id)) … GROUP BY category  

但如此的SQL很没有效能,因为category数据太多了。为了应对那些题材,大家能够建立一个直接索引 {UserID
-> [Categories]}
接下来大家用它来生成报表:

亚洲必赢app在哪下载 7

Counting Unique Users using Inverse and Direct Indexes

最后,我们须求精晓,对各样UserID的任性询问是很没有作用的。大家得以经过批查询处理来解决这么些难点。这代表,对于一些用户集,我们得以拓展预处理(差异的询问条件)。

适用性: Key-Value Store键值对数据库,Document
Databases文书档案数据库,BigTable风格的数据库。

层级式模型Hierarchy Modeling Techniques

(11)树形聚合Tree Aggregation

树形或是任意的图(需反规格化)能够被从来打成一条记下或文书档案存放。

  • 当树形结构被二回性取出时那会万分有作用(如:大家需求展现3个blog的树形评论)
  • 检索和其余存取这些实体都会存在难题。
  • 对此绝大部分NoSQL的落到实处的话,更新数据都以很不划算的(相比较起独立结点来说)

亚洲必赢app在哪下载 8

Tree Aggregation

适用性:Key-Value键值对数据库,Document Databases文档数据库

(12)邻接列表 Adjacency Lists

Adjacency
Lists邻接列表是一种图–每八个结点都以叁个独门的记录,其蕴藉了富有的父结点或子结点。这样,大家就能够通过给定的父或子结点来进展搜寻。当然,大家要求经过hop查询遍历图。这么些技术在广度和深度查询,以及获得有些结点的子树上向来不功能。

适用性:Key-Value键值对数据库,Document Databases文书档案数据库

(13) Materialized Paths

Materialized
Paths能够帮忙幸免递归遍历(如:树形结构)。这几个技术也足以被认为是反规格化的一种变种。其想法是为各类结点加上父结点或子结点的标识属性,那样就足以不须要遍历就精通全体的后生结点和祖先结点了:

亚洲必赢app在哪下载 9

Materialized Paths for eShop Category Hierarchy

其一技能对于全文字笔迹检验索引擎来说13分有帮扶,因为其能够允许把三个层级结构转成三个文书档案。上边的示图中大家能够看看全部的货物或Men’s
Shoes
下的子分类能够被一条很短的查询语句处理——只须要给定个分类名。

Materialized
Paths能够储存3个ID的聚合,或是一堆ID拼出的字符串。后者允许你通过二个正则表明式来搜寻四个一定的分段路径。下图显示了这么些技术(分支的门径回顾了结点本身):

亚洲必赢app在哪下载 10

Query Materialized Paths using RegExp

适用性:Key-Value键值对数据库,Document Databases文书档案数据,Search
Engines搜索引擎

(14)嵌套集 Nested Sets

Nested
sets
嵌套集是树形结构的正统技术。它被大规模地用在了关系性数据库中,它完全地适用于Key-Value键值对数据库和Document
Databases文书档案数据库。那一个技术的想法是把叶子结点存款和储蓄成三个数组,并由此接纳索引的发轫和了结来映射每三个非叶子结点到一个叶子结点集,就像下图所示一样:

亚洲必赢app在哪下载 11

Modeling of eCommerce Catalog using Nested Sets

如此那般的数据结构对于immutable
data不变的数据有极度不错的作用,因为其点内部存款和储蓄器空间小,并且能够火速地找出富有的纸牌结点而不需求树的遍历。就算如此,在插入和换代上急需很高的性质开支,因为新的纸牌结点须求大规模地翻新索引。

适用性:Key-Value Stores键值数据库,Document Databases文书档案数据库

(15)嵌套文书档案扁平化:有限的字段名Nested Documents Flattening:Numbered Field Names

搜索引擎基本上来说和扁平文书档案一同工作,如:每3个文书档案是一个扁平的字段和值的例表。那种数据模型的用来把事情实体映射到二个文本文书档案上,借使你的事体实体有很复杂的内部结构,那也许会变得很有挑衅。3个卓荦超伦的挑衅是把2个有层级的文书档案映映射出来。例如,文书档案中嵌套另二个文书档案。让大家看看上边包车型客车以身作则:

亚洲必赢app在哪下载 12

Nested Documents Problem

地点的每叁个工作实体代码一种简历。其包含了人名和一个技能列表。小编把那些层级文书档案映射成3个文本文档,一种格局是开创Skill和Level字段。那一个模型能够通过技术或然等级来搜寻一人,而上海教室标注的那么的构成查询则会失利。(陈皓注:因为分不清Excellent是或不是是Math依旧Poetry上的)

在引用中的[4.6]提交了一种缓解方案。其为每种字段都标上数字 Skill_i 和 Level_i,这样就能够分离搜索每二个对(下图中应用了OR来遍历查找全数或者的字段):

亚洲必赢app在哪下载 13

Nested Document Modeling using Numbered Field Names

如此那般的办法根本未曾扩大性,对于某个复杂的题指标话只会让代码复杂度和维护理工科人作变大。

适用性:Search Engines全文字笔迹检验索

(16)嵌套文书档案扁平化:邻近查询 Nested Documents Flattening: Proximity Queries

在附录[4.6]中付出了那些技能用来化解扁平层次文档。它用靠近的查询来限制可被询问的单词的范围。下图中,全体的技术和等级被放在一个字段中,叫
SkillAndLevel,查询中冒出的“Excellent”和“Poetry”必需三个紧跟另1个:

亚洲必赢app在哪下载 14

Nested Document Modeling using Proximity Queries

附录[4.3]中讲述了那么些技术被用在Solr中的八个中标案例。

适用性:Search Engines全文字笔迹检验索

(17) 图结构批处理 Batch Graph Processing

Graph
databases图数据库,如neo4j是贰个优良的图数据库,特别是使用三个结点来研讨邻居结点,或是探索多个或少量结点前的涉嫌。不过处理大量的图数据是很没有成效的,因为图数据库的品质和扩充性并不是其指标。分布式的图数据处理能够被MapReduce
和 Message Passing
pattern来拍卖。如:在本身前一篇的稿子中的那多个示例。那么些法子能够让Key-Value
stores, Document databases和BigTable-style databases适合于处理大图。

小说来源:酷壳网

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢app官方下载 版权所有