Memcached 和 Msm(1)|学习笔记

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 快速学习 Memcached 和 Msm

开发者学堂课程【Tomcat 服务器入门详解Memcached 和 Msm】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/654/detail/10849


Memcached 和 Msm

 

内容介绍

一、Memcached 和 Msm

二、总结

 

之前课程说到,出现调度之后,tomcat上的section就会出现一些问题,为了解决,进行了一些在客户端发来请求的处理。服务器端出现问题,客户端做再多改变也没有效果。解决的方法有两种,第一种是进行同步,其中的问题在于最后每台备份里都是全量的东西,会占据内存。

另一种方法是将tomcat中的section数据拿出来,共同存储到一个地方;以上两种方法有一些区别。

NoSQL大家接触不少,最新开始是反传统的关系库的统称。SQL关系模型的文章发布以后,ibm的实验室去研究如何实现关系模型,并且研究如何操纵这种关系模型的语言,SQL是由ibm创建并且标准化,SQL是整个数据必须学会的语言,例如要做数据开发,SQL是必须要学会的语言。因为如果要增加数据库甚至是非官形的数据库的开发,都要提供SQl接口。NoSQL,刚开始创建出来,并没有引起大众注意,因为是刚开始进行数据建设,大家认为官形数据库也足够了。直到互联网那个时代,这些数据有个特点是,表跟表之间没有联系,数据比较简单,只是数量多,就会有很多问题显现,这时原来提出的非官形数据库的优势就显现出来了。在项目解决中,传统官形的数据库不能够解决,这时非官形数据库就引起了大家的关注。

NoSQL是对非SQL、非传统关系型数据库的统称。NoSQL一词诞生于1998年,2009年这个词汇被再次提出指非关系型、分布式、不提供ACID的数据库设计模式。

随着互联网时代的到来,数据爆发式增长,数据库技术发展日新月异,要适应新的业务需求。随着移动互联网、物联网的到来,大数据的技术中NoSQL也同样重要。

https://db-engines.com/en/ranking

分类

. Key-value Store

o redis、memcached. Document Store

o mongodb、CouchDB

. Column Store列存数据库,Column-Oriented DB

o HBase、Cassandra

. Graph DB

o Neo4j

. Time Series时序数据库

o lnfluxDB

Key-value Store(k的意思是唯一且不重复,k以及在数据库中的主键都有一个特点:快)此key-value一般是做哈希的,哈希的时间复杂度是大,一步就计算到位,并且精确位置,通过查看该位置就知道该数据是否存在。如果是数据库主键,就会形成一棵毕加树,毕加树的速度不能跟哈西相比,因为树是有深度的,没有哈希速度快,但是速度也不慢。为什么数据库使用毕加树,因为大部分情况下,数据库使用范围搜索,而哈希值无法做范围搜索。所以两者的区别在于,哈希值适合搜索一个精确的数值是否存在,毕加树适合进行范围搜索,因为要追求速度,所以目前所有的key-value数据库是以内存为家的,

问题在于内存如果崩了,这时存放到内存中就带来一个问题,假如进程崩、内存、机器出现问题,将如何进行解决。假如要使用高可用。就不需要考虑持久化的问题,因为持久化是要从比较快的内存把数据搬到比较慢的硬盘,甚至要通过。所以对于这种基于内存的事。基本上持久化速度就太慢了。尤其是写入磁盘,但是也可以提供持久化的方案。并不是时时刻刻写进磁盘的‘即key-value一类。

那还有一类的,就是文档型数据库在企业中应用比较多。那么在国内用的比较多的就是mongdb。里面存储的内容,他也是二进制比较紧凑的去存储的都是Jason。所以里面存储的都是可以序列化的一个个字节。这些都需要序列化的,这就是mongdb,mongdb也提供了sql的开发接口。大多数情况下不直接用的命令,或者直接应用命令相同的开发的API。也提供了可以使用SQL语句来访问的方式。这个命令应用比较少,因为里面存的数据相对来说比较简单。

主要应用在CMDB。因为这种数据库,跟Jason类似,其中的字段可以有多个知道,每行字段存在或者不存在都可以。但是传统关系数据库,这张表里有几个字段得确定。未来也可以进行扩展,但是要一个。假如其中的数据只有200行,但是这张表已经放到五亿条数据,所以在官形数据库当中。

为了防止破字段都会留一两个字段,上面写着叫保留一保留二,之后想要扩展字段只需要修改字段,因为赶扩展字段要引起整个表的物理结构的变化。就会导致整个表都不能使用。在这段时间里都不能用。而且含有大量的io访问。速度极其慢。尤其数据量大的。但是mongdb对列不限制,就是一个json字符串儿,Jason字符串本身是内容,上传之后不会改变。比较自由,所以对于CMDB来说很适合,但是关系数据库难度就会提高,前提是拥有高深的技巧。

Couch与它类似有,在公司有很多数据要进行分析,这个时候就需要使用hadof,需要搭建一个hadof集群,如果有时大量数据要处理的话,可能会出现两种类型。一种称为非官形数据库中的数据仓库。那个典型代表就是hadoop,里面典型代表就是hive另外一种是列存数据库,它是以列作为存储单元的。不是以行,MySQL是以行进行存储的,决定他的物理存储,而它是以列来存储。列数可以随便定。以大数据领域来说,磁盘大小决定内存大小。前面我们讲过这个故事,谷歌用了三篇论文,其中一篇论文呢,就是bigtale。大表被hadoop用来创造这个数据库,Hbase,列存的,以列为单位存储的。

那么在国内可能偶尔某些单位里面再用这个Cassandra,这两个同一类型的。国外用Cassandra比较多,在国内用Hbase比较多一点。以hbase为依据。操作方法是:在上层又提供Sql的操作接口,足以证明nosql的重要性。假如进行开发,就需要非常高的熟练度。下面这个图的数据库呢,老师了解过,但是没怎么应用。

在工作中的,会碰到另一类叫做时间序列,时间序列用的比较多的是influxDB,它是时间序列的,因为很多日志就是时间序列,也有部分企业在应用。还有一类呢,是后面这个站点https://db-engines.com/en/ranking,这个站点其实就是一个数据库排名,其中的数据排名都是热度排名。前二十个都是比较熟悉的。

Oracle,排在前面的就说明热度比较高,中小企业大企业都在应用。postgresql在很多的开源数据库中。也就官形数据库。可见关系数据库迁移。前四位可见官形数据库的热度有多高。那就官形数据库,不管对开发者来讲,还是运维公司。

只要做IT都会了解,数据库绕不开,科学诞生第一天就是要处理数据。数据就存放在数据库种。mongdb排名非常高,文档型数据库,所以说这个排名越高,说明大家在工作中是一定会碰到。项目中你肯定要碰到的。IBM的官形数据库,IBM当时就是把原来那几个数据库卖得好。所以关键数据库让这个oracle钻了空子。

mondDB不应该是oracle卖的更好,当时注重自己的网状数据库啊,没有太重视挂官形数据库,Elasticsearch是数据库,因为它有索引库,因为它的原理就是你要把大牌索引给引入。redis可见其排名之高,因为他的应用领域不止这个大数据在处理过程中。其中的数据,中间数据落地太慢,直接加紧rdis。所以应用也特别多。

有原因在于还有一些asp的网站,SQLite应用还是比较多的,用于存储本地的数据库,假如没有网站,本地的一些数据就可以存储在SQLite中。Cassandra排名还是比较靠前的,说明只是国内应用较少。

Hive被归类到官形数据库中,但是一直被认为是Nosql数据库,更多的是海量数据分析,进行并发的数据计算。

HBase列存的数据库,Memcached排名比较靠后,主要用于解决今天的section问题,以上就是现在应用比较多的。在企业中,在很多的项目都可以被应用。redis这个技术应该更加熟练。

memcached。那么开始的最早的被创建出来以后,就是希望能够简单一点。在内存当中。能够比较稳定的把这些数据存在内容当中就可以。

所以没有实现持久化。因为只存在于内存中,要是内存所在的操作系统没了,就只能高可用,但是连高可用都没有实现,就只能实现自我高可用,集群也得自己实现,只有用内存存KV对这么简单所以解决方法就是不负责任,让用户自己负责。

ready早期也有这种现象。但它做持久化,集群也是在客户端实现的,与memcached如出一辙。包括分片也是由客户端自己实现。3.0之后,才开始由官方支持实现。之后再也没有修改过。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
NoSQL Redis
M1 MacBook安装redis
M1 MacBook安装redis
559 0
|
7月前
|
存储 缓存 数据库
memcached简介分享
memcached简介分享
34 0
|
存储 NoSQL Java
|
存储 缓存 网络协议
|
存储 负载均衡 NoSQL
Memcached 和 Msm|学习笔记
快速学习 Memcached 和 Msm
Memcached 和 Msm|学习笔记
|
缓存 负载均衡 算法
memcached安装及.NET中的Memcached.ClientLibrary使用详解
原文:memcached安装及.NET中的Memcached.ClientLibrary使用详解 序言 吹吹牛逼先,借我你的20分钟,保证你在.net中使用memcached缓存数据,畅通无阻,提升数据读取效率,分担数据库压力,便不在话下。
1306 0
|
存储 缓存 应用服务中间件