hotmail
作者hotmail·2015-04-07 21:19
软件开发工程师·hotmail

做好数据库选型 新媒体就成功了一半

字数 2392阅读 1774评论 0赞 0

数据为王的时代,它已经成为一家企业运营与决策支撑的关键所在。对于新媒体创业公司来说,搞定你的数据,能够让它为业务应用以及终端用户提供良好的支持,毫不夸张地说,你就已经成功一半了。然而,数据管理从来不是一件容易的事,其关键需要先选好一款数据库产品,因为它将负责存储、管理、保护数据,是数据顺畅流动的枢纽。在本文中,我们就将从市场上的一些主流数据库产品与技术,结合新媒体创业公司的需求,来具体讲解我们如何做好数据库选型工作。

主流数据库技术一览

首先我们先来纵览一下目前市场中的主流数据库技术与产品。过去30年当中,可以说是关系型数据库(RDBMS)的天下。对于支撑运营和交易系统,同时提供良好的性能、可靠性以及高可用方面都已经非常成熟。同时,随着服务器成本的不断降低以及硬件配置的不断提升,关系型数据库也得到了最大限度的普及。

目前,在市场中应用最多的关系型数据库产品包括了Oracle(10g、11g以及最新的12c),它在关系型数据库市场中占据了大半壁江山;微软SQL Server(2008、2008R2、2012、2014多个版本),其功能侧重点不同,比如2008更注重对运营系统的支撑,2008 R2则是更偏重于BI应用,2012和2014增加了许多高级功能以及对云计算环境的支持;IBM DB2,最新版本为10.5,是非常高大上的产品,在金融和电信领域应用比较广泛,但真正能够玩转DB2的人才偏少;MySQL、PostgreSQL等开源数据库,其架构非常灵活,在互联网领域的应用非常广泛。

可以说,关系型数据库是在C/S架构时代的王者。然而在互联网时代到来之后,关系型数据库的短板就凸显出来了。比如数据结构较为单一,只能处理高度结构化的数据。如今,IT部门正在试图寻找处理非结构化数据的方法。与结构化数据相比,它的格式更加复杂多变,这使得许多企业不得不去考虑NoSQL数据库技术。 

NoSQL相比于关系型数据库或者说SQL数据库,是一个更加庞大的“家族”。我们可以把NoSQL数据库大体分为四个类别:键值型数据库(Key-value)、列式数据库、文档型数据库和图型数据库。每一类NoSQL数据库都是用不同的数据模型,并且有着各自的专长、缺陷以及使用场景。比如键值数据库(Redis)是最简单的NoSQL,它能够实现针对相对简单数据集的超快应用性能;再比如文档数据库(MongoDB)是应用最广泛的NoSQL,经常用于内容管理系统,收集和处理来自网页和移动应用的数据。它以类似文档的结构存储数据,可以采用无模式的形式。

在NoSQL和SQL数据库基础之上,目前市场中表现非常强劲的一个类别叫做NewSQL。从它的命名就可以看出,它是一个新的数据库类别,它保留了过去30多年数据库技术的精华,同时将现代化的技术架构融入了进来。NewSQL一般具有以下几个特征,包括采用大规模并行处理技术(MPP),多采用列式作为主存储格式,同时采用内存数据处理架构。它通常具备快速地扩展从而获得驾驭快数据流的能力,对于云计算架构更友好并且分析性能更好。但它的短板在于技术相对不够成熟,很少有大规模的应用案例可以借鉴。目前主流的NewSQL产品包括VoltDB、NuoDB等。

新媒体创业公司的数据库需求

那么我们再来结合新媒体创业公司的具体需求,来看看该如何进行数据库产品的选型。首先,新媒体的应用全部是基于互联网或移动端,因此一些商业版的数据库,比如Oracle、DB2和SQLServer等不太适合新媒体公司的业务应用需求。原因我们在上文已经提到过,而且对于创业公司来说,很大的一点考量因素就是成本。而这些数据库的许可证费用和收费模式通常是创业公司无法承受的。所以在关系型数据库这个层面,我们推荐首选MySQL或PostgreSQL这样的开源数据库。一方面它更灵活,更适合于Web类应用,有很多成熟的参考架构;另一方面,由于代码开放免费使用,对于创业公司来说无疑更具吸引力。

对于MySQL和PostgreSQL开源数据库来说,它对于基础设施平台的要求不高,通用的x86服务器就可以驾驭。这里我们推荐采购一些扩展性比较好的服务器。比如针对于新媒体平台快速发展的时期,访问量增加,Web服务器需要做负载均衡。可以考虑一台服务器跑Web负载,另一台专门跑数据库应用。

针对于NoSQL数据库,它在新媒体创业公司的应用可以更加广泛。比如最流行的MongoDB,其内建的JSON格式以及灵活性,使得它可以作为网站与移动应用的中间层缓存。再比如Riak数据库,它拥有非常优秀的数据摄取能力,特别是非结构化数据,可以用来处理图片和视频等数据。而像Cassandra数据库,它在读取方面体现出很高的可用性,可以用来作为新媒体公司的数据与内容分发系统。当然,你可以根据需求来选择具体的NoSQL方案,但也要考虑为其配备相应的技术人员,因为没有谁能够对所有技术和产品都熟悉,这是非常现实的一个问题。在硬件需求上,NoSQL与MySQL等开源数据库没什么差别,这需要视具体情况而定,比如对缓存、内存方面的需求等。 

NewSQL产品我们在这里先不做推荐,对于很多大型公司来说,想要玩转NewSQL还是比较困难的事,而对于新媒体创业公司来说,不必花太多精力在折腾技术上。关系型数据库配合NoSQL完全能够解决新媒体数据处理的难题。 

此外,新媒体创业公司在进行数据库产品选型时,我们还有几点注意事项需要提醒:1、先了解数据库产品对底层平台的要求,并非所有产品都支持主流操作系统;2、充分考虑技术支持,对于一些技术能力比较不足的创业公司,最好还是购买成熟的方案,因为出问题时能有人来帮你,不会让你孤军奋战;3、除了采购成本,还要关注人员配置的成本,有时候它会比你想象中的高出很多。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广