赞
踩
内存数据库、关系型数据库和非关系型数据库
一、内存数据库、关系型数据库和非关系型数据库
1.个人观点:
二、内存数据库(Redis,MongoDb,SQLite,Oracle等):
三、Raft分布式协议:
四、Redis出现宕机,如何保证数据不丢失?
数据库类型 | 特性 | 优点 | 缺点 |
关系型数据库: SQLite,Oracle,MySQL等 | 1,关系型数据库,是指采用了关系模型来组织数据的数据库; | 1,容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状,层次等其他模型来说更容易理解; | 1,为了维护一致性所付出的巨大代价就是其读写性能比较差; |
非关系型数据库: MongoDB,Redis,HBase等 | 1,使用键值对存储数据 ; | 1,无需经过SQL层的解析,读写性能很高 ; | 1,不提供SQL支持,学习和使用成本较高; |
关系型数据库:在于关系,对数据操作(比如数据的增删改查)之前需要考虑关系,具备ACID特性(ACID是原子原子性,一致性一致性,隔离性隔离性,耐用性持久性),高并发能力一般不行
二、内存数据库(Redis,MongoDb,SQLite,Oracle等):
基于内存,读写速度快,数据有可能会丢失,丢失率只能降到最低,但不能根除。
MongoDB:更适合集群部署,更多的考虑到集群方案,一般可用于“海量数据分析的访问效率提升”。
Redis:更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。一般可用于“较小数据量的性能和运算,比如网络开发中的session存储”。
一般分布式都会遵从的协议:有点类似美国的总统选举。
比如有一个建议,有?个服务器,有大于2N + 1的服务器表示赞同,那么这个建议就被通过。
假如建议是“一致性”,只要大于2N + 1的服务器之间的数据一致,那他们就是一致。
假如建议是“主服务器”,只要大于2N + 1的服务器投票给要被选举的服务器,被选举的服务器也将变成主服务器
还有很多思维:https://www.jdon.com/artichect/raft.html
一台服务器:快照持久化(RDB),同时满足在指定的时间间隔内和改动了几个数据的两个条件,生成内存中的数据集快照,然后写入磁盘;日志持久化(AOF),满足everysec(每秒)/always(每次操作)/no(默认30秒)条件,生成日志,然后写入磁盘缓存
多台服务器:Redis正在开发的Sentinel(哨兵监听),具体网址:http://redisdoc.com/topic/sentinel.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。