白小姐精选四不像中特图_快速认识4类主流NoSQL资料库

其实像Memcached、Redis都是一种Key-Value资料架构的资料库,只是这类资料库改将资料储存在记忆体中来提高读取效率,大多用来快取常用网页,加快传递网页的速度,减少读取硬碟的次数,不过系统关机后就无法保存

图片来源: 

iThome

早在NoSQL资料库这个名词流行之前,就已经出现了很多种非关联式资料库,这些资料库各有不同的特征,很难像关联式资料库那样,用一套共同的观念就可以全部了解。只能逐一了解每个NoSQL资料库的特性和用途。

目前有4种比较受到关注的NoSQL资料库,分别是Key-Value资料库,记忆体资料库(In-memoryDatabase)、图学资料库(GraphDatabase)以及文件资料库(DocumentDatabase)。

类型1:Key-Value类型的资料库最多

Key-Value资料库是NoSQL资料库中最大宗的类型,这类资料最大的特色就是采用Key-Value资料架构,取消了原本关联式资料库中常用的栏位架构(Schema),每笔资料各自独立,所以,可以打造出分散式和高扩充能力的特性。

包括像Google的BigTable、Hadoop的HBase、Amazon的Dynamo、Cassandra、Hypertable等都是这类Key-Value资料库。

Google自行研发的BigTable建置在Google档案系统GFS上,专供Google自家应用程式使用,例如Gmail、GoogleReader、Google地图、YouTube等应用的资料都是储存在BigTable中。现在Google也透过GoogleAppEngine服务开放其他人使用BigTable来储存资料。

BigTable就像是一张整合大量机器的资料表,所有资料都存在同一张资料表中,单个资料表可以储存PB等级的内容。GoogleAppEngine提供了一种GQL查询语言,让开发者使用Select语法来查询BigTable中的资料,不过,这种GQL语言不能像SQL语言那样可以使用Join语法来进行跨资料表查询。

因为Google没有释出BigTable和相关的云端运算平台,后来就出现了另外一套参考Google云端运算架构的Hadoop平台,并且发展出HBase分散式资料库。HBase是Hadoop平台使用的资料库,用来储存Hadoop进行MapReduce平行运算的资料。类似Google的BigTable,也是在一张大资料表中储存很多行资料,每一行的结构同样有一个主要Key值和任意数量的列栏位。

Amazon开发的Dynamo分散式资料库则是用在Amazon的网路服务,例如S3储存服务,也是采取Key-Value的储存方式来建立分散式的高可用性环境。Amazon的购物车就是使用Dynamo资料库,Dynamo会将一份资料复制到很多伺服器上建立副本,彼此定期同步。不过,由于Dynamo无法确保每一个副本的资料即时同步,为了解决资料冲突和遗失的问题,Amazon另外开发了冲突解决技术来确保资料的一致性。

在Key-Value资料库类型中,还有一个最近很热门的NoSQL资料库,也就是力可科技使用的Cassandra。这是Facebook在2008年释出的分散式资料库,支援Java平台。Facebook用Cassandra来储存高达120TB的站内信箱(inbox)资料,2009年3月由Apache基金会接手维护,现在是Apache重点发展的顶级计划之一。

和HBase这种主从式架构的分散式资料库不同,Cassandra每一个在资料库丛集中的节点都是相同的,没有主从关系,所以,建置分散式资料库时,Cassandra最少只要建立2个伺服器节点就能执行,这两个节点的功能和角色几乎一模一样,只需要在设定档中指定好彼此沟通的IP网址即可。启动资料库以后,这两个节点会自行复制资料、分散储存、平衡资料库存取的负载。

类型2:记忆体资料库是知名网站惯用快取工具

记忆体资料库(In-memoryDatabase)就是将资料储存在记忆体的NoSQL资料库,包括了Memcached、Redis、Velocity、Tuplespace等。其实像Memcached、Redis都是一种Key-Value资料架构的资料库,只是这类资料库改将资料储存在记忆体中来提高读取效率,大多用来快取常用网页,加快传递网页的速度,减少读取硬碟的次数,不过系统关机后就无法保存。

2003年就出现的Memcached更是许多知名网站改善网站浏览效率的重要工具,例如YouTube、Facebook、Zynga、Twitter等都有使用Memcached。Google应用代管服务AppEngine也提供了Memcached的服务。

在Facebook上最热门的FarmVille农场游戏就是利用Memcached来改善游戏流畅性。FarmVille每天登入的使用者人数高达1千万人,为了让使用者操作过程不需要等待资料读写的延迟,FarmVille采取2层式的架构,使用Memcached来传递站上使用者的资料,稍后再整批将资料写入后端MySQL资料库,储存在硬碟上。不过,这个架构的风险就是,系统当机时,会遗失一整批储存在记忆体中的资料。

除了老牌的Memcached以外,2009年出现了一个新的开源记忆体资料库Redis。除了提供分散式的快取以外,Redis和Memcached最大的不同点是,Redis提供了一个资料架构,可以自动排序那些储存在Redis中的资料,让开发者取得排序后的资料。

Redis在今年3月时获得VMware赞助。9月刚释出了新版,新增加了如虚拟记忆体的设计,让开发者可以放入记忆体容量更多的资料量。美国分类广告网站Craigslist和程式码代管网站Github都是使用Redis来加快存取速度。

类型3:文件资料库适合储存非结构化资料

文件资料库主要是用来储存非结构性的文件,例如最常见的非结构化资料就是HTML网页。一个HTML网页结构不像一般表格那样有固定的栏位,每个栏位有特定资料类型和大小。例如网页里有Head和Body结构,Body元素中可能会有10个段落,段落中会有文字、连结、图片等。文件资料库的资料结构往往是松散的树状结构。

很多文件资料库都是商用资料库系统,文件资料库的概念源自IBM的LotusNotes储存文件的方式,XML资料库也是一种文件资料库。常见的开源文件资料库像是CouchDB、MongoDB以及Riak等。

随著网页储存和搜寻索引的需求大增,CouchDB和MongoDB这2款文件资料库越来越受到关注。2005年就出现的CouchDB刚释出了版,它也是Apache基金会维护的顶级计划之一。CouchDB提供了一套RESTful的API,让应用程式透过HTTP协定就能存取资料库,也可以用JavaScript作为查询语言。

2009年才出现的MongoDB很快就已经释出稳定的版,可以用来储存UTF-8和非UTF-8的文件资料。不像CouchDB只能储存UTF-8格式的文件。MongoDB同样可以在查询指令中使用JavaScript。采取Master-Slave架构,1台Master伺服器搭配多台资料伺服器,资料伺服器间互相备援、容错。

类型4:图学资料库可用于记录社交关系

最后一类是图学资料库,这不是专门用来处理图片的资料库,而是指运用图学架构来储存节点间关系资料架构,例如用树状结构来组织从属关系或网状结构来储存朋友关系,地理图资系统通常也会用图学资料库来储存地图上每一点和邻近点的关系,或用图学资料库来计算点与点之间最短的距离,也可以用同样的概念来计算出人与人之间最短的交友距离。图学资料库最大的特性是对复杂性的扩充力,关系越复杂的资料越适合使用图学资料库。

这类资料的资料结构没有标准的作法,基本的图学资料包括了节点(Node)、关系(Relation)和属性(Property)三种结构。例如用节点来记录Facebook上的帐号、用关系来记录朋友关系、用属性来描述这个帐号的个人资料等。最后可以用网络图来呈现出Facebook用户之间的交友状况。常见的图学资料库如Neo4j、InfoGrid、AllegroGrph等。

这四大类NoSQL资料库是比较精简的区分方式,可以用来快速了解不同NoSQL资料库的特性和差异,另外像维基百科则是从应用角度将NoSQL分成10类,那个分类方法特别将Key-Value资料库区分出更多不同应用类型的子分类,也可以更进一步了解更多NoSQL资料库的特性。

 


资料

微软释出永续计算器,帮企业计算Azure服务使用量所产生的碳排量

阅读(39)

永续计算器的碳排量,是根据客户的Azure使用量来计算,而服务使用量与碳排量间的关系,是根据2018年云端运算的碳效益白皮书里的资料,这个资料计算了Azure服务的能源消耗,以及供应托管资料中心能源的混合电网,还有该资料中心所采购的可再生能源,同时也把网际网路传输资料所产生的碳排因素考虑进去

文件

从钓鱼信诱饵分析出你应该强化防御的目标,PaloAlto提出防御网钓攻击的逆向思考

阅读(96)

至于文件的来源,有些很容易从外部取得,例如透过网际网路的各种公开网站拼凑,有些则是特定组织、部门所专属的文件格式或表单样式,若要让攻击目标搞不清楚内容真假,而无法察觉异常,进而心生警惕,攻击发动者则需要把诱饵文件模仿得维妙维肖,才能增高对方上当的机率

支援

微软释出VisualStudio201916.1预览版,重点强化C++支援

阅读(67)

新版本VisualStudio2019对C++开发人员更加友善,编辑器内小帮手将开始支援CMake,微软将CMake命令、变数以及属性都加入编辑器文件,因此开发者现在编辑档案的时候,可以使用IntelliSense的自动完成功能以及快速资讯小提示,这样不只能节省开发人员的时间,还可以减少错误发生

店家

用GoogleMaps找锁匠、水电工、饭店很方便,但小心被骗

阅读(62)

研究人员发现,歹徒常用一种社交工程手法,先注册合法店家的仿冒条目,就会收到GoogleMyBusiness系统寄来的postcard,过几天再打电话给不知情的店家,骗取postcard的验证码之后,就取代本尊成为合法GoogleMaps的网上店家进行诈骗

计划

打击网路犯罪需全球合作,台执法单位加入NoMoreRansom计划

阅读(85)

基本上,遭遇勒索软体的受害者若要查询是否已有解密工具,在前往该专案网站()时,可选择正体中文的语系,接著在「解码警长」的页面上依指示操作,像是上传受感染的档案,或是输入任何在勒索讯息中所看到的电子邮件、网站网址、洋葱网路网址或比特币网址

官方

树莓派4最新8GB版本售价75美元

阅读(94)

官方在当初释出树莓派4的1GB、2GB和4GB版本时,就曾考虑8GB版本的可能性,但由于硬体限制而无法实现,而现在由于晶片厂商美光技术改进,树莓派4搭载可以支援最高16GB记忆体的BCM2711晶片,因此官方才能够提供树莓派4的8GB版本,预定售价75美元

网站

政府网站安全未明资安办4月底才能掌握Heartbleed受害状况

阅读(22)

行政院资通安全办公室主任萧秀琴表示,在台湾时间4月8日传出传输加密的OpenSSL有漏洞后,其所属的行政院资通安全办公室技术服务中心也在4月10日针对政府机关发布资安通报,同时在评估多种检测Heartbleed漏洞工具,在确认扫描的效果和范围后,也将扫描工具用于全GSN的政府网站和资讯设备,以确认GSN整体安全状况

中国

微软即将在6月关闭中国的MSN网站

阅读(69)

中国MSN近来相继有使用者发现微软在中国设立的MSN入口网站(MSN中文网)张贴公告,将于今年6月7日停止提供简体中文服务,本周微软亦对媒体证实此事

企业

卡位物联网,六成企业加快发展物联网脚步

阅读(48)

Spiceworks专案经理KathrynPribish则表示,会有这样的疑虑是必然的,但他也认为这样的转变其实是渐进式而非一次性完成,虽然加入IoT应用后,对员工的工作模式影响甚大,但他也认为,对资源有限的IT部门或只在一旁观望的公司企业,要是没有提前做好准备,很容易就会被这股铺天盖地而来的物联网浪潮迎头赶上

攻击

卡巴斯基:2015年针对企业的勒赎攻击成长一倍

阅读(23)

卡巴斯基安全人员表示,这些攻击都是经过精心策画,骇客投入时间来研究目标企业的联络人、供应商甚至个别员工的个人兴趣及上网习惯等,再拿这些研究所得用于辨识出合法网站,接著攻击网站或用以散布恶意软体,也使得在一段期间内重复发动数次攻击

漏洞

政府发现漏洞是公开还是隐瞒!-美国颁布揭露原则说明白

阅读(66)

前美国总统欧巴马时代成立了「漏洞公正性评估流程」(VulnerabilitiesEquitiesProcess,VEP)的跨部门平台,以决定美国政府部门在发现厂商软体漏洞后,是该通知厂商修补,还是该为了国家安全、让政府或执法机关得以骇入电脑及系统而暂时不通知,但美国政府对这个平台一直没有说清楚讲明白,让隐私权人士相当感冒

产品

小心,越夯就越看不见的资安隐忧

阅读(35)

但是,中国产品引发的资安争议一直未曾停歇,今年更传出多起中国制的装置产品有问题,例如资安业者TrapX发现有一中国业者所制造的手持式产品扫描器含有恶意程式ZombieZero,专门锁定物流与运输业者,除了会暗中将产品条码资讯传送到远端伺服器外,还能植入后门让骇客窃取企业机密资讯

停车

北市路边停车情报更新快10倍的关键

阅读(33)

看好智慧停车管理带来的效率提升,以及解决人工短缺的问题,北市委外的开单合作厂商也准备今年9月在大安、中正区布署2,400个地磁,市府没有花费预算,这些地磁除了回传停车格使用情形,还有时间纪录,传统上仰赖开单人员每30分钟一次巡场开单盖印,未来,开单人员只要开第一次单,接下来就不需要频繁巡场盖印,只要确认现场停放的车辆和PDA上地磁回传的资讯相符、设备运作正常即可,加快工作速度

用户

微软Windows10CreatorsUpdate来了!

阅读(66)

版号为15063的正式版CreatorsUpdate包含3D图像绘制与混合实境(mixedreality)支援,增加名为Beam的游戏串流技术,强化MicrosoftEdge新功能、安全与隐私等工具

文件

从钓鱼信诱饵分析出你应该强化防御的目标,PaloAlto提出防御网钓攻击的逆向思考

阅读(89)

至于文件的来源,有些很容易从外部取得,例如透过网际网路的各种公开网站拼凑,有些则是特定组织、部门所专属的文件格式或表单样式,若要让攻击目标搞不清楚内容真假,而无法察觉异常,进而心生警惕,攻击发动者则需要把诱饵文件模仿得维妙维肖,才能增高对方上当的机率

RaspberryPi

想要GoogleGlass吗-印度发明家教你做一顶功能不输的智慧帽

阅读(45)

ArvinSanjeev说:「如果你不想花1,500美元买GoogleGlass,又想要有GoogleGlass的功能,如:影片分享、导航或查看讯息通知,那你应该自己动手做一个智慧帽」RaspberryPi是由英国的树莓派基金会所开发得单板机电脑,基于Linux作业系统,配备ARM架构的处理器,而RaspberryPi目前有2种模组,A模组内建256M的记忆体,而智慧帽使用的是RaspberryPiB模组,已支援到512M的记忆体,皆使用SD卡当作储存媒介,并且具备基础的I/O介面,包含乙太网路、USB以及HDMI等,最大的面约一张信用大小,内建基本的文字处理软体,A模组售价25美元,B模组则是35美元

捷运

基站用地租金成本提高,台北、高雄捷运成4G死角

阅读(89)

电信业者透露,4G迟迟无法进入捷运原因和捷运公司提高基站用地租金有关,由于台北、高雄捷运站点多、空间有限,电信业者多采基站共构方式建置,为提供捷运乘客行动网路讯号,需设置相当多的基站,使得租金成本较高

银行

抢攻电子商务商机,网路银行市场战开打

阅读(11)

华信银行副总经理贾坚一表示,该公司的E世贷(EC-Loan)电子商务金流产品,内容包含电子周转金、线上应收帐款承购、与易帐务管理等线上金融服务,主要因应电子商务而发展线上即时回应客户的额度申请以及提供所需的融资需求,改善传统银行因冗长的授信审查流程而导致时间上的延迟