哪个NoSQL数据库适合你?

有四种基本类别,然后您必须考虑这些核心属性

这本由供应商撰写的技术入门书是由Network World编辑的,目的是消除产品推广,但读者应该注意,有个足球雷竞技app它可能更倾向于提交者的方式。

由于NoSQL支持大数据的容量、多样性和速度,许多组织都转向了它,但是您如何知道应该选择哪一个呢?

NoSQL数据库非常适合许多项目,但是为了降低开发和维护成本,您需要评估每个项目的需求,以确保满足专门的标准。请记住,这不仅仅是能够开发指定的应用程序的问题,它还意味着能够轻松地管理和支持应用程序,这些应用程序的范围和规模可能会在生产中持续多年急剧增长。我的一个客户在不到4年的时间里把公司规模扩大了12倍。

考虑到这一点,下一步是确定哪一类NoSQL最符合您的需要。类别:

*键值(KV)数据库将数据存储为关联数组(也称为映射或字典),其中键是唯一的,并作为访问值(数据)的主要手段。许多KV数据库可以在基本键-值体系结构的基础上支持更丰富、更复杂的数据模型。

*文档数据库存储文档,其中包含分层格式的键-值集合,如JSON和XML。因为这是NoSQL,所以不需要关系模式,所以每个文档的结构可能与同一数据库中的其他文档不同。

*列数据库是一种使用行和列作为键的稀疏矩阵系统,类似于哈希表或字典,将键映射到一组键值对。可以有很多列,但是每个记录只使用它需要的列,因此记录实际上可以相对较小。

*图形数据库与其他类别非常不同。它们关注实体之间的关系。节点是诸如人或对象之类的实体,它们之间的边详细说明了节点之间的关系类型。

虽然将数据库分配到类别是可行的,但许多供应商已经在基本配置上覆盖了更高级的特性,提供了更丰富的数据模型和高级功能。因此,尽管存在行业定义的类别,但许多NoSQL数据库的功能并不适合放在一个盒子里。

当你开始你的评估数据库,考虑到一些键值数据库能够像功能的文档数据库,或文档数据库可以作为图形数据库,会更适合你寻找比图中如果你只考虑数据库类别。

定义项目的参数,比如数据(类型、数量、大小、格式、来源)、如何使用数据、预测何种增长、站点上有多少并发用户、性能、正常运行时间等。了解哪些标准对您的业务需求是至关重要的,并按重要性排序。正如你所看到的,这是一个很长的列表,但它会帮助你评估,让你问正确的问题。

一些考虑时,评估您的解决方案:

*可伸缩性。可伸缩性有很多方面。单独的数据,您需要了解多少数据每天你将添加到数据库,数据是相关的,多长时间你会怎么处理旧数据(卸载到另一个存储进行分析,把它放在数据库但移动到一个不同的存储层,两者,还是重要吗?),这一数据来自哪里,需要怎样的数据(预处理吗?),这是多么简单将这些数据添加到您的数据库,它来自来源是什么?实时还是批量?

在某些情况下,总体数据大小保持不变,而在其他情况下,数据会继续累积和增长。您的数据库将如何处理这种增长?通过添加新的资源(如服务器或存储空间),您的数据库可以轻松增长吗?添加资源有多容易?数据库能够自动重新分发数据吗?还是需要人工干预?在此过程中会有停机时间吗?

需要多少台服务器和什么样的磁盘容量来处理将要存储的数据?过多的服务器意味着更高的硬件、数据中心和人员成本。雷竞技电脑网站在某些情况下,你的数据使用可能会有显著的高峰和低谷,比如黑色星期五的电子商务(12月的假日购物)。缩放大小有多容易?在资源使用率较高的时期可以使用云吗?

您必须能够对数据和数据库增长的所有方面进行预测。无论数据库在所有这些方面做得有多好,您都应该持续监视资源使用情况,以便主动扩展以领先于使用情况,而不会使数据库超载。

*正常运行时间。应用程序对于何时需要被访问有不同的要求,有些只在交易时间内,有些是24小时使用9的可用性(尽管它们实际上是100%的时间)。这是可能的吗?绝对的!

这包括许多特性,比如复制,因此数据库中有多个数据副本。如果单个节点或存储设备宕机,数据仍然可用,因此应用程序可以继续执行CRUD(创建、读取、更新和删除)操作而不中断,这就是故障转移和高可用性。

如果整个集群崩溃了会发生什么?自然灾害,如飓风或整个地区的停电,可能比大多数后备计划所允许的持续时间更长。你有灾难恢复计划吗?如果辅助数据库位于不同的地理位置,您可以继续不间断地操作。我曾经合作过的一个客户,自从使用NoSQL投入生产以来的4年时间里,100%都是在运营的,而且还在继续增长。

有了良好的规划和开发以及IT部分的管理,而右边的NoSQL数据库的架构和设计,可以让数据库和运行所有的时间。

*功能齐全的。作为评估过程中确定的第二个客户,一个NoSQL解决方案可以通过集成十几个组件来完成他们所需要的工作,它将满足他们的检查表中的所有内容。但实际上,它能如何操作,还可以达到超过25000交易/ s,支持超过3500万全球多种类型的设备上的浏览器访问的主要站点和更新超过10000个网页的事件发生,没有给他们很多悲伤吗?

可以这么说,使用拥有所有特性的解决方案更容易,这样它们就可以无缝地协同工作,并且对您来说需要的资源更少。

*性能。您的数据库能够很好地完成您需要它做的事情,并且仍然具有合理的性能吗?NoSQL有两类一般的性能需求。

第一类是需要实时的应用程序,通常在20ms以下,有时低至10ms或5ms。这些应用程序可能有更简化的数据和查询需求,但这通常意味着要有一个缓存或内存中的数据库来适应这种速度。

第二组是需要具有人类合理性能的应用程序,因此我们作为信息接收者不会过多地注意到延迟时间。这些应用程序可能需要查看更复杂的数据,跨越更大的集合并进行更复杂的过滤。它们的性能通常在。1到。1之间。

还有一个组合,你有一个无法替换的记录系统,一个NoSQL数据库被用作缓存来加速使用信息的能力。

*接口。NoSQL数据库通常具有访问信息的编程接口,支持Java和各种Java脚本语言,C、c++和c#,以及各种脚本语言,如Perl、PHP、Python和Ruby。有些已经包含了一个SQL接口来支持RDBMS用户转换到NoSQL解决方案。许多NoSQL数据库还提供了一个REST接口,允许更灵活地访问数据库——数据和功能。

评估API的综合程度。API是可扩展的吗?它能做所有你需要数据库做的事情吗?

*安全。安全性不仅仅是为了限制对数据库的访问,它还涉及到保护数据库中的内容。如果您有某些人可能看不到或更改的数据,并且数据库不适应这种粒度级别,那么可以使用应用程序作为保护数据的手段来实现这一点。但这会给应用程序层增加工作。如果您在政府、金融或医疗保健等部门工作,这可能是决定特定NoSQL解决方案能否用于敏感项目的一个重要因素。

您还应该考虑管理用户权限、角色和访问权限有多容易。数据库可以轻松地与LDAP或其他单点登录解决方案集成吗?你的粒度是多少?它是在数据库、“表”级还是记录级?

*管理和行政。生产应用程序的一个持续需求是数据库的管理和维护。管理和维护服务器和数据库软件有多容易?管理需要添加服务器或存储资源的情况有多容易?当节点或磁盘崩溃时,数据库的执行情况如何?需要对DBA进行分页才能采取行动吗?或者数据库体系结构能够优雅地处理这个问题,而不需要立即进行干预(假设有良好的容量规划)?

数据库与您的管理系统集成以提醒您任何问题的容易程度如何?您可以获得关于数据库的信息的粒度有多细,它是否足够?

*开源和成本。在评估组织因多种原因使用的软件方面,开源是一个大趋势。一是开源被认为更加健壮,因为每个人都可以查看代码并提供反馈或为代码库做出贡献来弥补这些漏洞。但在2015年2月,一个著名的开源数据库被发现其用户中有成千上万的不安全服务器。这不是由于代码,而是由于文档没有建议用户正确地保护服务器。

另一个假设是,开源的成本更低,因为许多项目可以在community edition上完成,并且社区可以回答许多问题,而不用支付支持合同的费用。在一些项目中是这样的。您必须确定您正在评估所有的成本因素,而不仅仅是“免费”软件。如果您必须将其他核心功能集成到基本的开放源码数据库中,那么您需要支付团队完成集成或额外的开发工作以及继续维护这些工作所需的时间。“自由”看起来并不是那么自由。

一个NoSQL客户从开源转向了商业解决方案,因为他们在开源上的原始配置使用了近200台服务器。切换到商业解决方案允许他们使用不到20台服务器,这节省了他们在硬件、数据中心和管理(服务器和DBA)方面的成本。雷竞技电脑网站

很容易陷入“我们只对所有事情使用开源”的方法中。如果你能成功做到这一点,那就太棒了!但是,如果这意味着您不仅要专注于您的业务应用程序,而且还要将所有的部分集成到您的应用程序中,那么从长期来看,这可能不是最好的解决方案。

NoSQL可以解决许多类型的应用程序,从简单的小型应用程序到复杂的大型应用程序,甚至介于两者之间。您需要确保在评估解决方案的完整性方面做了充分的工作,并避免陷入行业炒作中。

拥抱NoSQL提供的改变并实现它的可能性!

十多年来,MarkLogic已经交付了一个强大、敏捷和可信的企业NoSQL数据库平台,使组织能够将所有数据转化为有价值和可操作的信息。世界各地的组织都依赖于MarkLogic的企业级技术来支持新一代的信息应用程序。更多信息,请访问www.marklogic.com。

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。

版权©2015Raybet2

工资调查:结果在