NoSQL   发布时间:2022-05-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在NoSQL空间里的多种语言大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在Nosql空间里的多种语言》要点:
本文介绍了在Nosql空间里的多种语言,希望对您有用。如果有疑问,可以联系我们。

关系数据库已经存在很长时间,通常开发人员倾向于经常使用它们,并很熟悉使用它们所提供的特性集.关系数据库的设计是从用户隐藏内部中做的一项伟大的工作.像数据如何存储在磁盘上的问题、如安在底层写入路径,以及数据库缓存问题和如何经常使用过于先进的常规数据库.

我们生活在一个数据密集的世界,在过去的几年我们见证了社会网络和物联网的扩张,一切都连接到了互联网,并且一切都会发出和接收事件.在关系世界中,数据需要以不同的方式处理.我们看到越来越多的哀求只是为了存储非结构化数据存储的值.截至2012年,每一天以2.5艾字节(2.5×1018)被存储,尽管世界上90%的存储数据已经聚集在过去的两年.这只是一些原因,我们需要一个思维的转变,关于存储和为什么Nosql不再是炒作.

在Nosql的世界里,事情有点不同.数据库是不通用的,他们通常用来办理一个特定的用例.他们工作得很好,但并不那么优秀,也会有其他问题.他们通常选择大数据项目,我们需要较高的、非功能的需求,并且它几乎不可能不知道内部使用NoSQL数据库.

Nosql空间

在Nosql空间中,主要分为四个类型:文档数据库、键值存储、列数据库和图形数据库.

文档数据库可能是最受欢迎的数据库类型了,主要是MongoDB在DB-ENGIne rankings中排出的所有数据库排名中排在前十,在以NoSQL数据库为代表中排名第一.MongoDB有丰富的特性,具有主/从内置的碎片复制和使用内存映射文件的数据存储.它是伟大的原型,由于存储和查询数据时的灵活性,在大多数地方它是一个很好的替代品.但POSTGResql或其他RDBMS适合但预定义模式会阻碍你的.这种类型的其他数据库都是CouchDB文档存储与主主复制和最终一致性、Couchbase两个键值和文档存储,提供JsON API是有用的作为客户端-服务器应用法式的存储引擎.

当你想到键值存储时,可以虑分布式执行的地图.redis和HazelCast就是这种类型的数据库.redis是一个速度极快的数据库.它是用C编写的,具有自动@R_300_10772@的主从复制,它是快速变化的数据与一个可预见的数据库大小的最佳选择.使用的一个例子可以是会话存储,为电子商务网站购物车,或者实时分析.HazelCast是内存中的分布式存储和计算平台,提供开箱即用的分布式实现许多API,Java开发人员熟悉的分布式实现,如地图、集、列表、信号量、执行等,它可以被视为一个插件替换工具,好比像EhCache、redis、jcache.

列族数据库(column family)包括相关数据列,存储为键值对.这种类型最受欢迎的数据库是Cassandra和HBase.Cassandra起源于亚马逊的DynamoDB和Google的Bigtable,它非常适合存储大量数据.所有节点都是平等的,无共享架构,无主无单点故障.CQL(Cassandra查询语言)类似于sql.它通常应用于网络分析、计数、事务日志和存储的传感器数据.HBase是Hadoop框架的一部分,使用HDFS文件系统作为存储,可应用于Hadoop的Map/Reduce、日志数据的分析,以及在任何地方扫描巨大,也需要加入二维表.

在图形数据库中,两个实体之间的关系比实体本身更重要.这种类型主要的代表是Neo4J和TitanDB.Neo4J为图形数据库是用Java编写的,且使用的是基于模式匹配的查询语言,但也可以使用“Gremlin”图遍历语言.它有很好的图形风格,具有着丰富和复杂且相互关联的数据,如搜索路线、社会关系、公共交通、道路地图,或网络拓扑结构.TitanDB是一个可伸缩的图表框架优化存储,以及查询包括数以千亿计的顶点和边的跨多机集群分布图.它可以使用不同的存储后端:Cassandra、HBase、BerkeleyDB,和为主流框架(Hadoop、Spark、ElasticSearch、Solr)整合提供了巨大支持.

多种语言的持久性办法

这些天并不少见的是,在同一项目中的关系和非关系数据库组合,甚而不同的数据库相同类型的组合.微服务架构影响很大,因为每个小服务是其数据的所有者,而且API和服务分离背后所暗藏的一切都是基于使用案例的,所以很自然地选择它作为最佳存储.

在NoSQL空间里的多种语言

@H_740_6@marTin Fowler的博客中有一个多存储引擎的应用.用户会话,作为临时数据快速优化的频繁读取,放置在redis中.财务数据,则是自然关系存储在关系数据库中的报告.购物车有会议的类似性质,具有临时快速拜访数据,所以它存储在键值存储区.作为图形数据库Neo4j推荐引擎的大力支持,用户相似性是推荐给客户的重要因素,这是选择的主要原因.产品目录有文档的性质,有很多动态查询这些数据的标准,在用例中MongoDB的灵活性和速度是很棒的.Cassandra的杀手锏是时间序列数据,它有Spark和Solr的大整合,因此它是分析和用户活动日志的最佳选择.

总结

多语种的支持并不是免费的午餐,它是有代价的,代价是系统的复杂性.几年前,它就足够了解一种编程语言,为一个存储引擎构建一个系统的.但现在你需要通晓各方面的数种语言.这就是为什么你需要熟悉每个选择的成本,并引入一个新的技术,只有当它的好处远高于它带来表的复杂性.最可怕的事情是,现在每个人都在谈论语言的办法,目的只是为了新的技术.

因为Nosql的本质是建立办理一个具体的用例,准备挖得更深一些,且掌握数据库的功能.大数据和分布式的系统的问题不同于单个实例的问题,并不熟悉的技术可能会导致更大范围内的问题.做好功课,探索可能的办理你的问题,做出决定,并熟悉你所选择的工具.

欢迎参与《在Nosql空间里的多种语言》讨论,分享您的想法,编程之家php学院为您提供专业教程。

大佬总结

以上是大佬教程为你收集整理的在NoSQL空间里的多种语言全部内容,希望文章能够帮你解决在NoSQL空间里的多种语言所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: