189 8069 5689

nosql10亿,国产nosql数据库

大数据时代:五大商业分析技术趋势

大数据时代:五大商业分析技术趋势

和布克赛尔蒙古网站建设公司创新互联,和布克赛尔蒙古网站设计制作,有大型网站制作公司丰富经验。已为和布克赛尔蒙古上1000+提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的和布克赛尔蒙古做网站的公司定做!

目前,趋势中心对如何应对分析挑战的关注力度并不亚于他们考虑在新商业视角中如何充分利用机遇的力度。例如,随着越来越多的公司开始不得不面对海量数据以及 考虑如何利用这些数据,管理与分析大型不同数据集的技术开始出现。提前分析成本与性能趋势意味着公司能够提出比以前更为复杂的问题,提供更为有用的信息以 帮助他们运营业务。

在采访中,首席信息官们总结出了5大影响他们进行分析的IT趋势。它们分别为:大数据的增长、快速处理技术、IT商品的成本下降、移动设备的普及和社交媒体的增长。

1.大数据

大数据指非常庞大的数据集,尤其是那些没有被整齐的组织起来无法适应传统数据仓库的数据集。网络蜘蛛数据、社交媒体反馈和服务器日志,以及来自供应链、行业、周边环境与监视传感器的数据都使得公司的数据变得比以往越来越复杂。

尽管并不是每个公司都需要处理大型、非结构型数据集的技术。VeriskAnalytics公司首席信息官PerryRotella认为所有的首席信息 官都应当关注大数据分析工具。Verisk帮助金融公司评估风险,与保险公司共同防范保险诈骗,其在2010年的营收超过了10亿美元。

Rotella认为,技术领导者对此应当采取的态度是,数据越多越好,欢迎数据的大幅增长。Rotella的工作是预先寻找事物间的联系与模型。

HMS公司首席信息官CynthiaNustad认为,大数据呈现为一种“爆炸性”增长趋势。HMS公司的业务包括帮助控制联邦医疗保险 (Medicare)和医疗补助(Medicaid)项目成本和私有云服务。其客户包括40多个州的健康与人类服务项目和130多个医疗补助管理计划。 HMS通过阻止错误支付在2010年帮助其客户挽回了18亿美元的损失,节约了数十亿美元。Nustad称:“我们正在收集并追踪大量素材,包括结构性与 非结构性数据,因为你并不是总是知道你将在其中寻找什么东西。”

大数据技术中谈论最多的一项技术是Hadoop。该技术为开源分布式数据处理平台,最初是为编辑网络搜索索引等任务开发的。Hadoop为多个“非关系型(NoSQL)”技术(其包括CouchDB和MongoDB)中的一种,其通过特殊的方式组织网络级数据。

Hadoop可将数据的子集合分配给成百上千台服务器的处理,每台服务器汇报的结果都将被一个主作业调度程序整理,因此其具有处理拍字节级数据的能力。 Hadoop既能够用于分析前的数据准备,也能够作为一种分析工具。没有数千台空闲服务器的公司可以从亚马逊等云厂商那里购买Hadoop实例的按需访 问。

Nustad称,尽管并不是为了其大型的联邦医疗保险和医疗补助索赔数据库,但是HMS正在探索NoSQL技术的使用。其包括了结构性数据,并且能够被 传统的数据仓库技术所处理。她称,在回答什么样的关系型技术是经实践证明最好用的解决方案时,从传统关系型数据库管理出发是并不明智。不过,Nustad 认为Hadoop正在防止欺诈与浪费分析上发挥着重要作用,并且具备分析以各种格式上报的病人看病记录的潜力。

在采访中,那些体验过Hadoop的受访首席信息官们,包括Rotella和Shopzilla公司首席信息官JodyMulkey在内都在将数据服务作为公司一项业务的公司中任职。

Mulkey称:“我们正在使用Hadoop做那些以往使用数据仓库做的事情。更重要的是,我们获得了以前从未用过的切实有用的分析技术。”例如,作为 一家比较购买网站,Shopzilla每天会积累数太字节的数据。他称:“以前,我们必须要对数据进行采样并对数据进行归类。在处理海量数据时,这一工作 量非常繁重。”自从采用了Hadoop,Shopzilla能够分析原始数据,跳过许多中间环节。

GoodSamaritan医院是一家位于印第安纳州西南的社区医院,其处于另一种类型。该医院的首席信息官ChuckChristian称:“我们并 没有我认为是大数据的东西。”尽管如此,管理规定要求促使其存储整如庞大的电子医疗记录等全新的数据类型。他称,这无疑要求他们要能够从数据中收集医疗保 健品质信息。不过,这可能将在地区或国家医疗保健协会中实现,而不是在他们这种单个医院中实现。因此,Christian未必会对这种新技术进行投资。

IslandOneResorts公司首席信息官JohnTernent称,其所面临的分析挑战取决于大数据中的“大”还是“数据”。不过,目前他正在 谨慎地考虑在云上使用Hadoop实例,以作为一种经济的方式分析复杂的抵押贷款组合。目前公司正在管理着佛罗里达州内的8处分时度假村。他称:“这种解 决方案有可能解决我们目前正遇到的实际问题。”

2.商业分析速度加快

肯塔基大学首席信息官VinceKellen认为,大数据技术只是快速分析这一大趋势中的一个元素。他称:“我们期待的是一种更为先进的海量数据分析方法。”与更为快速地分析数据相比,数据的大小并不重要,“因为你想让这一过程快速完成”。

由于目前的计算能够在内存中处理更多的数据,因此与在硬盘中搜索数据相比,其计算出结果的速度要更快。即使你仅处理数G数据,但情况依然与此。

尽管经过数十年的发展,通过缓存频繁访问的数据,数据库性能提升了许多。在加载整个大型数据集至服务器或服务器集群的内存时,这一技术变得更加实用,此时硬盘只是作为备份。由于从旋转的磁盘中检索数据是一个机械过程,因此与在内存中处理数据相比,其速度要慢许多。

Rotella称,他现在几秒中进行的分析在五年前需要花上一个晚上。Rotella的公司主要是对大型数据集进行前瞻性分析,这经常涉及查询、寻找模 型、下次查询前的调整。在分析速度方面,查询完成时间非常重要。他称:“以前,运行时间比建模时间要长,但是现在建模时间要比运行时间长。”

列式数据库服务器改变了关系型数据库的传统行与列结构,解决了另一些性能需求。查询仅访问有用的列,而不是读取整个记录和选取可选列,这极大地提高了组织或测量关键列的应用的性能。

Ternent警告称,列式数据库的性能优势需要配合正确的应用和查询设计。他称:“为了进行区别,你必须以适当的方式问它适当的问题。”此此同时,他 还指出,列式数据库实际上仅对处理超过500G字节数据的应用有意义。他称:“在让列式数据库发挥作用之前,你必须收集一规模的数据,因为它依赖一定水平 的重复提升效率。”

保险与金融服务巨头JohnHancock公司的首席信息官AllanHackney称,为了提高分析性能,硬件也需要进行提升,如增加GPU芯片,其 与游戏系统中用到的图形处理器相同。他称:“可视化需用到的计算方法与统计分析中用到的计算方法非常相似。与普通的PC和服务器处理器相比,图形处理器的 计算速度要快数百倍。我们的分析人员非常喜欢这一设备。”

3.技术成本下降

随着计算能力的增长,分析技术开始从内存与存储价格的下降中获益。同时,随着开源软件逐渐成为商业产品的备选产品,竞争压力也导致商业产品价格进一步下降。

Ternent为开源软件的支持者。在加入IslandOne公司之前,Ternent为开源商业智能公司Pentaho的工程副总裁。他称:“对于我来说,开源决定着涉足领域。因为像IslandOne这样的中等规模公司能够用开源应用R替代SAS进行统计分析。”

以前开源工具仅拥有基本的报告功能,但是现在它们能够提供最为先进的预测分析。他称:“目前开源参与者能够横跨整个连续统一体,这意味着任何人都能够使用它们。”

HMS公司的Nustad认为,计算成本的变化正在改变着一些基础性架构的选择。例如,创建数据仓库的一个传统因素是让数据一起进入拥有强大计算能力的 服务器中以处理它们。当计算能力不足时,从操作系统中分离分析工作负载可以避免日常工作负载的性能出现下降。Nustad称,目前这已经不再是一个合适的 选择了。

她称:“随着硬件与存储越来越便宜,你能够让这些操作系统处理一个商业智能层。”通过重定数据格式和将数据装载至仓库中,直接建立在操作应用上的分析能够更为迅速地提供答案。

Hackney观察认为,尽管性价比趋势有利于管理成本,但是这些潜在的节约优势将被日益增长的能力需求所抵消。尽管JohnHancock每台设备的存储成本在今年下降了2至3%,但是消耗却增长了20%。

4.移动设备的普及

与所有的应用一样,商业智能正日益移动化。对于Nustad来说,移动商业智能具有优先权,因为每个人都希望Nustad能够随时随地亲自访问关于她的 公司是否达到了服务级协议的报告。她还希望为公司的客户提供数据的移动访问,帮助客户监控和管理医疗保健开销。她称:“这是一个客户非常喜欢的功能。在五 年前,客户不需要这一功能,但是现在他们需要这一功能了。”

对于首席信息官来说,要迎合这一趋势更多的是为智能手机、平板电脑和触摸屏设备创建适用的用户界面,而不是更为复杂的分析能力。或许是出于这方面的原因,Kellen认为这相对容易。他称:“对于我来说,这只是小事情。”

Rotella并不认为这很简单。他称:“移动计算影响着每一个人。许多人开始使用iPad工作,同时其它的移动设备正在呈现爆炸式增长。这一趋势正在 加速并改变我们与公司内部计算资源交互的方式。”例如,Verisk已经开发了能够让理赔人在现场快速进行分析的产品,因此他们能够进行重置成本评估。他 称:“这种方式对我们的分析产生了影响,同时也让每一个需要它的人随手就能使用。”

Rotella称:“引发这种挑战的因素在于技术的更新速度。两年前,我们没有iPad,而现在许多人都在使用iPad。随着多种操作系统的出现,我们正力争搞清楚其是如何影响我们的研发的,这样一来我们就不必一而再、再而三的编写这些应用。”

IslandOne的Ternent指出,另一方面,为每一种移动平台创建原生应用的需求可能正在消退,因为目前手机和平板电脑上的浏览器拥有了更为强 大的功能。Ternent称:“如果我能够使用一款专门针对移动设备的基于web的应用,那么我并不能肯定我将会对定制的移动设备应用进行投资。”

5.社交媒体的加入

随着脸谱、推特等社交媒体的兴起,越来越多的公司希望分析这些由网站产生的数据。新推出的分析应用支持人类语言处理、情感分析和网络分析等统计技术,这些并不是典型商业智能工具套件的组成部分。

由于它们都是新的,许多社交媒体分析工具可以作用服务获得。其中一个典型范例是Radian6。Radian6为软件即服务(SaaS)产品,近期已经 被Salesforce.com所收购。Radian6是一种社交媒体仪表盘,为TwITter的留言、脸谱上的帖子、博客与讨论版上的帖子与评论中提及 的特定术语以正负数显示,尤其是为商标名提供生动的直观推断。当营销与客户服务部门购买后,这类工具不再对IT部门有很严重的依赖性。目前,肯塔基大学的 Kellen仍然相信他需要对它们高度关注。他称:“我的工作是识别这些技术,根据竞争力评估哪些算法适合公司,然后开始培训合适的人员。”

与其他公司一样,大学也对监督他们大学的声誉十分感兴趣。与此同时,Kellen表示,他可能还将寻找机会以开发专门用于解决学校所关注问题的应用,如 监督学生入学率等问题。例如,监控学生在社交媒体上的帖子能够有帮于学校与管理人员尽早了解学生在大学里遇到的麻烦。Kellen称,目前戴尔已经做了这 些工作,其产品支持公司探测人们关于故障笔记本电脑的推文。他称,IT开发人员还应当寻找一些办法将社交媒体分析得出的报警信息推送至应用中,以便于公司 对相关事件快速做出反应。

Hackney称:“我们没有诀窍,也没有工具处理和挖掘海量社交媒体帖子的价值。不过,一旦你收集了数据,你需要有能力获取公司事件的充足信息,以将 它们关联起来。”虽然Hackney称JohnHancock在这一领域内的努力还处于“起步阶段”,但是他认为IT部门将在公司数据的社交分析服务所提 供的数据关联中发挥重要作用。例如,如果社交媒体数据显示公司在中西部地区的社会评论越来越负面,那么他将希望看一下如果公司在该地区就价格或策略进行调 整是否会扭转这一负面发展趋势。

Hackney称,发现这类关联的意义在于让公司领导相信对社交媒体的投资具有高回报。他称:“在我所从事的行业中,每个人都是精算师,每个人都在计算,他们不会将任何东西建立在想当然之上。”

以上是小编为大家分享的关于大数据时代:五大商业分析技术趋势的相关内容,更多信息可以关注环球青藤分享更多干货

10亿级流数据交互查询,为什么抛弃mysql选择voltdb

10亿级流数据交互查询,为什么抛弃mysql选择voltdb

作者 谭正海、武毅 发布于 2016年8月18日 | 被首富的“一个亿”刷屏?不如定个小目标,先把握住QCon上海的优惠吧!讨论

分享到:微博微信FacebookTwitter有道云笔记邮件分享

稍后阅读

我的阅读清单

大数据时代,随着数据量的爆炸式增长,对于数据的处理速度要求也越来越高,以往基于MySQL的数据处理方案已无法满足大吞吐、低延迟的写入和高速查询的场景;百分点总结出了一套完整的解决方案,本文就带你一同了解VoltDB在流数据交互查询的应用实践。

流式数据交互查询场景

在百分点,每天有10亿条记录产生,针对这些大量实时产生的数据,不仅要做到实时写入,类似推荐调优、数据验证等查询要在秒级响应。有简单的单条验证,也有几个小时或一天的聚合计算,也有基于几千万/几亿数据表间的联合聚合查询。例如如下SQL查询:

对于前期的MySQL方案,虽然已经根据一定规则做了人工的分库,但是对于上面SQL中的表Event落在单机上的数据量达到几千万,Result表也近千万,在这样的大表之间进行复杂的联合聚合查询,MySQL查下来要花费30分钟左右,甚至更长,或是没响应了。

因此在针对同时要求大吞吐、低延迟的写入和高速查询的场景下,基于MySQL的现存方案完全无法实现。在不放弃SQL语句的便利基础上,经历过多种选型和方案调研,最终选择了VoltDB来解决此类问题。

相关厂商内容

携程的推荐及智能化算法及架构体系实践

Autodesk基于Spark自建大数据平台的实践经验

大数据与电商四大核心要素

阿里巴巴数据研发体系的建立和管理之道

苏宁云商数据平台实时化实践

相关赞助商

QCon上海2016,10月20~22日,上海·宝华万豪酒店,精彩内容抢先看!!

如上图,线上的全量流量,通过Streaming总线同时到达VoltDB和离线Hive表。不同的是,数据写入VoltDB使用实时方式,写入Hive使用批量方式。新的数据要求在极短的延迟内马上写入VoltDB待查询;批量写入Hive的数据也可以做到小时级以内刷写到对应分区。

VoltDB简介

VoltDB是一种开源的极速的内存关系型数据库,由Ingres和Postgres联合创始人Mike Stonebraker带领开发的NewSQL,提供社区版本和商业版本。VoltDB采用shard-nothing架构,既获得了NoSQL的良好可扩展性以及高吞吐量数据处理,又没有放弃传统关系型数据库的事务支持---ACID。

一般VoltDB数据库集群由大量的站点(分区)组成,分散在多台机器上,数据的存储与处理都是分布在各个站点的,架构图如下所示:

如上图,集群有3个节点、每个节点1个站点构成。因此图中的表都只分成3个区,当然也可以分成更多的区,那么一张表在单个节点上则存在多个分区。

具体在使用上涉及以下几个概念:

客户端可以连接集群中任意一个节点,集群中所有节点是对等的,采用的也是水平分区的方式;

每张表指定一个字段作为分区键,VoltDB使用该键采用哈希算法方式分布表数据到各个分区。事实上VoltDB中存在两种类型的表,一种是分区表,还有一种叫做”Replicated table”。”Replicated表”在每个节点存储的不是某张表的部分数据,而是全部数据,适用于小数据量的表。

这里我们主要看重分区表,分区表的分区字段的选择很重要,应该尽量选择使数据分散均匀的字段。

VoltDB支持的客户端语言或接口:

C++

C#

Erlang

Go

Java

Python

Node.js

JDBC 驱动接口

HTTPJSON 接口 (这意味着所有能实现http请求语言,都能编写VoltDB的客户端程序,且非常直观)

为什么不用NoSQL

当为大家描述我们的整体服务架构时,最常见的两个问题是:

为什么采用结构化方式将数据存储在SQL数据库中,而不使用NoSQL平台?

为什么自己维护数据中心,而不将Evernote托管到云服务提供商?

这两个问题都很有趣,我们先来探讨第一个。

对特定的应用而言,相比一个单一的SQL实例,一个现代的键值存储引擎具备显著的性能优势和可扩展性。

CREATE TABLE notebooks ( id int UNSIGNED NOT NULL PRIMARY KEY, guid binary(16) NOT NULL, user_id int UNSIGNED NOT NULL, name varchar(100) COLLATE utf8_bin NOT NULL, ... ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE notes ( id int UNSIGNED NOT NULL PRIMARY KEY, guid binary(16) NOT NULL, user_id int UNSIGNED NOT NULL, notebook_id int UNSIGNED NOT NULL, title varchar(255) NOT NULL, ... FOREIGN KEY (notebook_id) REFERENCES notebooks(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果你在Windows客户端上创建了一个名为“Cooking”的记事本,并立即在其中粘贴了一个名为“Quick Tomato Sauce”的食谱,客户端会立刻进行如下同步:

调用NoteStore.createNotebook() 请求服务器创建记事本,并返回以创建记事本的GUID。

通过指定记事本的GUID,调用NoteStore.createNote()在记事本中创建笔记。

每次API调用都通过SQL事物予以实现,可以让客户端完全信任服务器的任何提示。ACID兼容的数据库可以做到这些:

原子性(Atomicity):如果API调用成功,那么所有的改动都会保存;如果API调用失败,所有的改动都不会提交。

一致性(Consistency): 在API调用完成后,所有的账户都可用,并能保证内部状态的一致性。每篇笔记都与记事本相关联,以避免出现孤立项。数据库不允许删除关联有记事的记事本,这得感谢FOREIGN KEY约束。

持久性(Durability):当服务器发送记事本已创建完毕的回执后,客户端会认为它的存在具有持久性,以便进行后续的操作。变更的持久性,可以让客户端知道在任何时刻对服务状态的影响都能保持一致性。

对我们的同步协议而言,持久性最为重要。如果客户端不能确定服务器端的变更具有持久性,那么协议将会变得复杂而低效。

“大数据”问题

得益于事务处理的数据库的ACID属性,同样使得数据集非常难以扩展,以超出单台服务器的范围。数据库集群和多主复制技术并不理想,键值存储为实现可扩展性提供了一条捷径。

所幸,Evernote暂时不需要考虑这个问题。即便是我们有近10亿的笔记,和近20亿的资源文件,这也并不能称得上是一个大数据集。通过按用户分区,它被划分成了2千万个独立的数据集。

我们尚未遇到所谓“大数据”引发的问题,倒是遇到了许多“中数据”的存储问题,这就是通过规整分区形成的分片存储架构。

也许以后……

我们对新的存储系统非常感兴趣,非常乐意应用在哪些对ACID要求不强,但确实需要横向扩展的新项目中。例如,我们的报告分析系统已经逐渐超出了MySQL平台的承受力,需要被更快、更先进的系统所取代。

我们现在对以Evernote用户元数据为基础的MySQL分片存储颇为满意,尽管这不会引起那些IT弄潮儿的兴趣。

为什么使用nosql

因为速度快。你上亿级数据的情况下NOSQL是比普通SQL效率更高,哪怕有索引。毕竟NOSQL的存储空间使用是普通SQL三倍多。基本都用在索引方面了。

如果是全文搜索关键字,左右模糊等就更甩SQL几条街了

MySQL与PostgreSQL比较 哪个数据库更好

如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢?

在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开始就选择正确。两个流行的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。

MySQL

MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括 Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如 WordPress、Drupal、Zend及phpBB等。

一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之 后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存 储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的核心存储引擎与第三方引擎。

MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。

MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版 本:Standard、Enterprise、Classic、Cluster、Embedded与Community。其中有一些是免费下载的,另外一 些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。

现在,基于最初的MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一 Michael "Monty" Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的 MySQL开发者Brian Aker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。

PostgreSQL

PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。

PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了 多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声 明即可。

可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。PostgreSQL的文档非 常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL的社区支持是非常棒的,还有来自于独立厂商的商业支持。

数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性的,它对于数据库访问提供了强大的安全性 保证,充分利用了企业安全工具,如Kerberos与OpenSSL等。你可以定义自己的检查,根据自己的业务规则确保数据质量。在众多的管理特性 中,point-in-time recovery(PITR)是非常棒的特性,这是个灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是 PostgreSQL的全部,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能 了。

平台

MySQL与PostgreSQL都出现在一些高流量的Web站点上:

MySQL:Slashdot、Twitter、Facebook与Wikipedia

PostgreSQL:Yahoo使用了一个修改的PostgreSQL数据库来处理每天数以亿计的事件,还有Reddit和Disqus

MySQL与PostgreSQL都能运行在多个操作系统上,如Linux、Unix、Mac OS X与Windows。他们都是开源、免费的,因此测试他们时的唯一代价就是你的时间与硬件。他们都很灵活且具有可伸缩性,可用在小型系统和大型分布式系统 上。MySQL在一个领域上要比PostgreSQL更进一步,那就是它的触角延伸到了嵌入式领域,这是通过libmysqld实现的。 PostgreSQL不支持嵌入式应用,依然坚守在传统的客户端/服务器架构上。

MySQL通常被认为是针对网站与应用的快速数据库后端,能够进行快速的读取和大量的查询操作,不过在复杂特性与数据完整性检查方面不太尽如人意。 PostgreSQL是针对事务型企业应用的严肃、功能完善的数据库,支持强ACID特性和很多数据完整性检查。他们二者都在某些任务上具有很快的速 度,MySQL不同存储引擎的行为有较大差别。MyISAM引擎是最快的,因为它只执行很少的数据完整性检查,适合于后端读操作较多的站点,不过对于包含 敏感数据的读/写数据库来说就是个灾难了,因为MyISAM表最终可能会损坏。MySQL提供了修复MySQL表的工具,不过对于敏感数据来说,支持 ACID特性的InnoDB则是个更好的选择。

与之相反,PostgreSQL则是个只有单一存储引擎的完全集成的数据库。你可以通过调整postgresql.conf文件的参数来改进性能,也可以调整查询与事务。PostgreSQL文档对于性能调优提供了非常详尽的介绍。

MySQL与PostgreSQL都是高可配置的,并且可以针对不同的任务进行相应的优化。他们都支持通过扩展来添加额外的功能。

一个常见的误解就是MySQL要比PostgreSQL更容易学习。关系数据库系统都是非常复杂的,这两个数据库的学习曲线其实是差不多的。

标准兼容性

PostgreSQL旨在实现SQL兼容性(当前标准是ANSI-SQL:2008)。MySQL则兼容大部分SQL,不过还有自己的扩展,可以支 持NoSQL特性,这在参考手册中都有介绍。每种方式都有优缺点。兼容标准会让数据库管理员、数据库开发者与应用开发者更舒服一些,因为这意味着他们只需 学习一套标准、一套特性和命令即可。这会节省时间,提升效率,也不会被锁定在特定的厂商上。

支持使用非标准的自定义功能的人们认为这样可以快速采用新的特性,而不必等待标准进程完成。ANSI/ISO标准在不断演化,因此标准兼容性也是个 变化的目标:知名的关系型数据库Microsoft SQL Server、Oracle与IBM DB2也只是部分兼容于标准。

结论

虽然有不同的历史、引擎与工具,不过并没有明确的参考能够表明这两个数据库哪一个能够适用于所有情况。很多组织喜欢使用PostgreSQL,因为 它的可靠性好,在保护数据方面很擅长,而且是个社区项目,不会陷入厂商的牢笼之中。MySQL更加灵活,提供了更多选项来针对不同的任务进行裁剪。很多时 候,对于一个组织来说,对某个软件使用的熟练程度要比特性上的原因更重要。

一、NoSQL数据库简介

Web1.0的时代,数据访问量很有限,用一夫当关的高性能的单点服务器可以解决大部分问题。

随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。

NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。

Memcache Memcache Redis Redis MongoDB MongoDB 列式数据库 列式数据库 Hbase Hbase

HBase是Hadoop项目中的数据库。它用于需要对大量的数据进行随机、实时的读写操作的场景中。

HBase的目标就是处理数据量非常庞大的表,可以用普通的计算机处理超过10亿行数据,还可处理有数百万列元素的数据表。

Cassandra Cassandra

Apache Cassandra是一款免费的开源NoSQL数据库,其设计目的在于管理由大量商用服务器构建起来的庞大集群上的海量数据集(数据量通常达到PB级别)。在众多显著特性当中,Cassandra最为卓越的长处是对写入及读取操作进行规模调整,而且其不强调主集群的设计思路能够以相对直观的方式简化各集群的创建与扩展流程。

主要应用:社会关系,公共交通网络,地图及网络拓谱(n*(n-1)/2)


网站标题:nosql10亿,国产nosql数据库
文章来源:http://jkwzsj.com/article/dsihhgc.html

其他资讯