你好,游客 登录
背景:
阅读新闻

大数据容器—Nosql数据库与传统RDBMS数据库

[日期:2015-01-26] 来源:gao_xianglong  作者:gao_xianglong [字体: ]

      随着互联网的异军突起,大数据领域异常火热。在互联网的当下,请拿数据说话, 因此数据才是重点,那么存储数据的容器也就被称之为数据库(Database)。在早期,尤其是以"企业级"项目为主,RDBMS数据库长期以来都是霸 主,因为大部分依赖RDBMS的需求都拥有一个相同的特点,那就ACID特性(原子性(Atomicity)、一致性(Consistency)、隔离性 (Isolation)、持久性(Durability))。除此之外,很多数据或许并不适合使用这类数据库作为解决方案,取决于这个原因,NoSql数 据库正在迅速崛起

      Nosql(Not Only SQL)数据库可以解决传统RDBMS数据库做不到的事情,因此在互联网领域,Nosql 数据库无疑正在或者说已经取代后者。Nosql其实只是一个名词,真正的含义是指,除了传统RDBMS数据库之外,还有非SQL的数据库,这类数据库包括 有:内存数据库(Redis、memcache)、hadoop平台下的Hbase、Mongodb,以及Membase等。我们都知道,RDBMS数据库中并不适合存储过大的数据,以及在高并发的情况下,数据库将极有可能沦落为性能瓶颈,因此基于这些原因更加迫切催促着Nosql这一类的数据库诞生。

      架构师如何解决上述所提及的问题的?以一个并发相对较大的分布式应用场景相对来说,在RDBMS数据库之前肯定会挂一堆吃大内存的内存数据库去抗住传 统数据库约70%的性能,并发越大,那么在分布式场景中内存数据库将会采用分布式(业务划分)+集群的方式进行部署。而RDBMS数据库除了会做 Master/Slave之外,在有必要的情况下DBA会做垂直分库+水平分区,也就是我们常说的sharding。而关于一些非结构化的冷数据、包括: 系统日志数据、登录日志数据、消息记录数据等之类的数据信息将会落盘到HBase、Mongodb等数据库中,方便日后结合Hadoop平台的强大并行运算能力对大数据进行采集和分析。

      除此之外,传统的RDBMS数据库还存在一个较大的问题,那就是无法轻易实现大规模的扩展。尽管网络解决方案一定程度上改善了这个问题,但网络中仍然无法动态的创建新的集群,因此使用RDBMS数据库构建大数据解决方案就会变得异常昂贵。其次之前也说过,RDBMS数据库不善于处理非结构化数据。最后SQL和RDBMS数据库的组合难以实现某些类型的简单查询,比如两点间的最短线路。

      像一些大公司,比如:淘宝、腾讯、京东等企业。在大数据的场景下,都拥有各自优秀且成熟的解决方案,而基于传统的RDBMS数据库方案已经不再是唯一选择。以Hbase为例,其优点很明显,高度可扩展性、出色的可靠性,以及低维护成本都是大数据场景下的不二选择。不过相对而言,尽管传统的RDBMS数据库地位受到了“侵犯”,但在未来很长的一段时间内,笔者相信,这2种类型的数据库会长期友好的并存下去,各自取长补短才能更好的应对需求。

      PS:阿里正祥博士主导的Ocaenbase同样也是一个出色且开源的大数据DB。关于Ocaenbase的更多信息,请访问https://github.com/alibaba/oceanbase。

    转载请附加 原文链接:http://gao-xianglong.iteye.com/blog/2179291





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (3)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款