技术开发 频道

NoSQL优劣势深度剖析:SWOT分析模型

        【IT168 专稿】什么是NoSQL数据库?它与关系型数据库管理系统(RDBMS)有哪些区别?

  在计算机领域,NoSQL(通常会被扩展到“Not Only SQL”)是数据库管理系统中一个较为宽泛的种类,它的一些关键特性不同于传统模式的关系型数据库管理系统(RDBMS),其中最重要的是NoSQL不使用SQL作为其查询语言。NoSQL的数据存储不需要固定的表结构,通常情况下避免Join操作,并且是典型的横向扩展。学术研究人员通常把这些数据库称作结构化存储——这一概念同样包含传统关系型数据库。

  通常情况下,NoSQL数据库根据存储数据的方式进行分类,如key-value存储数据库、文档存储数据库和图形数据库等。NoSQL数据库系统与大多数互联网企业共同发展,如谷歌、亚马逊、Twitter和Facebook等,互联网企业在数据处理方面面临着明显不同于其他企业的挑战,这些挑战是传统关系型数据库管理系统(RDBMS)无法应对的。随着实时网络的兴起 ,企业需要从大量数据中提取出可供决策的信息,这些数据或多或少的遵循类似的横向结构。这些互联网企业意识到性能和实时性要比一致性更加重要,而一致性正是传统关系型数据库耗费大量时间追求的特性。同样的,NoSQL数据库通常高度优化检索和附加操作,并且经常提供超过记录存储的小功能。NoSQL与完整的SQL数据库相比,减少了运行时(run time)的灵活性,换取了某些数据模型的可扩展性和性能等关键特性。

  NoSQL数据库的分类

  NoSQL数据库通常根据存储数据的方式进行分类,具体类型如下:

  ·列存储数据库(Wide Column Store / Column Families)。代表:HBase、Apache Cassandra、 Hypertable、Amazon SimpleDB等。

  ·文档存储数据库。代表:MongoDB、CouchDB、OrientDB等。

  ·键值/元组(Key Value / Tuple)存储数据库。代表:Azure Table Storage、MemcacheDB、Berkeley DB等。

  ·图形数据库。代表:Bigdata、HyperGraphDB、Infinite Graph、FlockDB等

  ·对象数据库。代表:db40、Objectivity、Versant等。

  ·网格&云数据库。代表:Hazelcast、GigaSpaces

  ·XML数据库。代表:EMC Documentum xDB、eXist、Berkeley DB XML等。

  NoSQL——SWOT分析模型

  1.竞争优势

  ·不间断存取/高可用性;

  ·可扩展性;

  ·安全性和灵活性;

  ·自由选择。

  2.竞争劣势

  ·移植应用程序;

  ·没有规范化、协会或联合;

  ·更新丢失。

  3.机会

  ·巨额投资

  ·数据密集型应用

  4.挑战

  ·自由及开源软件(Free and Open Source Software,简称FOSS)商业模式。

  ·用户对NoSQL的FUD (Fear, uncertainity and doubt,意思为惧、惑、疑)

  NoSQL的黑暗面

  目前绝大多数NoSQL数据库都有其黑暗面,人们却很少提及,他们只讨论性能、非结构化数据库简单易用、API等等。他们大多是开发者,而不是实际操作者和系统管理员。也没有人咨询过这些问题,但是它们依然存在:

  ·特定的数据操纵——既没有可用的查询语言,也没有技巧;

  ·特定的报告——既没有可用的查询语言,也没有内部技巧;

  ·数据输出——有时没有API访问所有数据。

  总之,是否选用NoSQL数据库取决于企业内部的需求,但是,NoSQL始终是一种趋势。

1
相关文章