与传统的表格(或SQL)数据库相比,NoSQL数据库为软件开发人员和其他用户提供了高操作速度和更高的灵活性。
NoSQL数据库使用的数据结构 – 键值,宽列,图形或文档 – 与关系数据库使用的数据结构不同。因此,NoSQL数据库。NoSQL数据库可以扩展到数千台服务器,尽管有时会丢失数据一致性。但是,NoSQL数据库的特别之处在于它们特别适合处理大量分布式数据,这使得它们成为大数据和分析项目的不错选择。
[什么是NoSQL?NoSQL数据库定义。| 您应该使用哪个NoSQL数据库?让InfoWorld成为你的指南。NoSQL怨恨匹配:MongoDB和Couchbase服务器嗤之以鼻。• NoSQL的佼佼者:最好的键值数据库。• NoSQL的佼佼者:最好的文档数据库。| 通过InfoWorld大数据和分析报告新闻简报深入分析和大数据。]
如何选择NoSQL数据库:关键因素
在市场上有超过24个开源和商业NoSQL数据库,您如何选择正确的产品或云服务?
IDC研究副总裁Carl Olofson说,一个重要的因素是要知道你想要把数据放到哪里。
NoSQL数据库在架构和功能上各不相同,因此您需要选择最适合所需任务的类型:
- 通常,键值存储最适合应用程序中多个进程或微服务持续共享数据。
- 如果您打算为邻近计算,欺诈检测或关联结构评估进行深层关系分析,则图形数据库可能是更好的选择。
- 如果您需要非常快速地收集数据并进行大量分析,请查看广大的专栏商店。这样的NoSQL数据库也倾向于提供文档和图形支持。
不要假设您的初始项目是您将应用于数据库的唯一使用模型。您可能只是开始进行状态或会话数据管理,然后查看事务处理,然后再进行一些分析。
Noel说,近期内,重点应放在性能,规模,安全性,支持各种工作负载(包括交易,运营和分析),与现有生态系统的整合,管理工作,云支持以及支持的用例类型上。 Forrester Research首席分析师Yuhanna。其中,安全性至关重要。应该给予具有安全认证的NoSQL数据库更高的考虑。寻找诸如对静止数据和运动数据进行加密以保护敏感信息的功能。
并且,并不是所有的NoSQL数据库都可以很好地扩展,Yuhanna说,所以不要理所当然地认为,仅仅因为产品处于NoSQL类别,它的规模和性能会优于关系数据库。
NoSQL在横向扩展模型中提供了不同的一致性级别,因此请查看满足您特定要求的解决方案。例如,如果您想支持高度关键的类似银行业务的交易,那么关系数据库仍然是最佳解决方案。
主要功能包括完全托管备份,持续备份,时间点恢复,可查询快照,自动生成的图表,实时性能面板和可自定义的警报。用户可以使用内置的实时迁移服务将实时数据导入MongoDB Atlas,对应用程序造成的影响最小。
该数据库最适合本地存储,处理和访问文档和其他类型的数据集,并且它在开发人员中很受欢迎,因为它易于使用,扩展以满足苛刻的应用程序,并提供了一个全面的工具和合作伙伴生态系统,Yuhanna说: 。MongoDB的常见用例包括个性化,实时分析,物联网(IoT),大数据,产品/资产目录,安全和欺诈检测,移动应用程序,数据中心,内容管理以及社交和协作应用程序。
Amazon DynamoDB
Amazon DynamoDB是另一种流行的基于云的NoSQL数据库。Amazon DynamoDB是一个完全托管的NoSQL平台,它使用固态驱动器(SSD)来存储,处理和访问数据,以支持高性能和规模驱动的应用程序。
它根据工作负载的吞吐量和存储需求自动在服务器之间分割数据,并处理更大的高性能用例。
用户可以通过应用程序编程接口(API)和Amazon Web服务管理控制台来扩展,监控和管理他们的表。DynamoDB与Amazon EMR(Apache Hadoop,Apache Spark和HBase的托管框架)紧密集成,可以运行跨多个数据源的查询。
该平台支持键值和文档模型,并且还具有用于地理空间索引的库。组织使用DynamoDB来支持各种用例,包括广告活动,社交媒体应用程序,跟踪游戏信息,收集和分析传感器和日志数据以及电子商务。
您应该考虑的NoSQL数据库
这里是您应该考虑的NoSQL数据库。
MongoDB的
MongoDB是最流行的NoSQL数据库。一个免费且开源的,跨平台,面向文档的数据库,MongoDB使用类似JSON的文档和模式。该平台由MongoDB Inc.维护,并在Gnu Affero通用公共许可证和Apache许可证的组合下发布。
MongoDB Atlas融合了公司从优化各种规模组织的数千次部署中学到的运营最佳实践。基于云的产品可以处理数据库管理,设置和配置,软件修补,监控和备份,并且可以作为分布式数据库集群运行。
DataStax和DataStax企业平台
DataStax利用Apache Cassandra跨数据中心进行分发。Forrester的Yuhanna表示,DataStax NoSQL的强大优势在于其全球分布式架构。DataStax分发,贡献并支持商业企业版本的Apache Cassandra,一个开源项目。Cassandra是一个宽行商店,基于Google Bigtable分布式键值数据库。
其关键特性包括容错,扩展架构,低延迟数据访问和简化管理。DataStax提供附加功能,例如分析,搜索,监控,内存和安全性,以支持关键应用程序。
DataStax Enterprise支持各种类型的业务应用程序,包括事务性,分析性,预测性分析和混合工作负载。它提供更广泛的多模型功能,支持图形和JSON数据。顶级用例包括欺诈检测,产品目录,消费者个性化,推荐引擎和物联网。
Couchbase
Couchbase是由Couchbase Inc.分发的JSON文档支持数据库平台。开源NoSQL DBMS支持广泛的使用案例。
Yuhanna说,Couchbase服务器是一个开源的NoSQL键值和文档数据库,内置缓存,对于那些需要一个可以提供性能,多模型,规模和自动化的数据库的企业来说,是个吸引。
组织使用Couchbase来支持社交和移动应用程序,内容和元数据存储,电子商务交易以及在线游戏应用程序。Couchbase为文档,灵活的数据模型,索引,全文搜索以及用于实时分析的MapReduce提供全面支持。
大型企业使用该平台来支持各种关键工作负载,包括运营和分析过程。
Redis Enterprise
IDC的Olofson表示,由Redis Labs赞助的开源平台Redis Enterprise是最常见的键值NSQ数据库之一。(请访问InfoWorld了解有关使用Redis进行实时计量,管理访问控制和流量调整WebSockets的更多信息。)
Forrester的Yuhanna说,Redis提供了一个高性能的内存数据库,可支持轻松和强大的一致性,灵活的无模式模式,高可用性和易部署性。
Redis Labs开发了额外的功能和技术,封装了开源软件,并为Redis提供了增强的部署体系结构,同时支持开放源代码API。
数据模型支持键值; 各种数据结构,如列表,集合,位图和散列; 以及通过可插入模块(如搜索,图形,JSON和XML)的一系列模型。Redis支持各种用例,包括实时分析,交易,数据摄取,社交媒体,作业管理,消息排队和缓存。
MarkLogic
MarkLogic NoSQL数据库是专为NoSQL速度和规模而设计的可操作和事务型企业数据库。使用多模型方法,数据库提供集成和存储关键数据的功能,然后让您将数据视为文档,图表或关系数据 – 无论是在本地,虚拟化还是在云中。
它在数据级别提供高可用性和安全功能,包括ACID合规性,元素级安全性,匿名化,编辑和高级加密。由于这些原因,它适合希望分享大量敏感信息的企业。MarkLogic也是唯一通过Common Criteria认证的NoSQL数据库。
其他主要功能旨在通过创建可搜索的数据的单一统一视图来改善用户体验,并且可以随时使用元数据进行验证。这些功能包括双时段,语义,能够获取结构化和非结构化数据(JSON,XML,RDF,地理空间和大型二进制文件的本地存储)以及“请求任何东西”通用索引。
有助于解决治理和企业合规问题的运营数据中心使得MarkLogic可以用于具有数据孤岛的大型企业,以及面临法规和网络安全威胁的大型企业。