数据库集群

NoSQL概述

耗尽温柔 提交于 2019-12-30 01:38:19
NoSql数据库四大分类 键值存储 列存储 文档数据库 图形数据库 NoSQL的特点 易扩展 灵活的数据模型 大数据量,高性能 高可用 Redis 读10w/s 写8w/s Redis的应用场景 缓存 任务队列 网站访问统计 应用排行榜 数据过期处理 分布式集群架构中的session分离 来源: https://www.cnblogs.com/Roni-i/p/10802222.html

MongoDB 4.2新特性:分布式事务、字段级加密、通配符索引、物化视图

徘徊边缘 提交于 2019-12-29 21:58:04
MongoDB 4.2已经发布,我们来看看它增加了哪些新特性?分布式事务?数据库加密?通配符索引? 在2019年MongoDB World大会上,CTO Eliot Horowitz介绍了MongoDB 4.2中的一些功能,这些功能扩展了其在数据库技术方面的领先地位:分布式事务(Distributed Transactions),字段级加密(Client Side Field Level Encryption),通配符索引(Wildcard Indexing)、按需物化视图(Materialized Views)。 这些都是重大的改进,表明MongoDB在企业级功能方便更加完善。 MongoDB 4.2提升了事务和分析技术水平。它提供大规模的分布式事务的ACID担保和复杂的数据处理流程,还有最先进的加密控制保护机制。我们可以在任何地方运行MongoDB4.2:在本地数据中心,云上、混合云、Atlas云上。我们可以获得阿里云、AWS,Azure和GCP可用的完全托管,云原生的MongoDB服务。阿里云全球第一个实现了MongoDB异地多活架构。可以支持互联网跨国公司的大规模出海业务。 现在使用MongoDB的公司越来越多了,技术架构方案也越来越成熟。MongoDB新特性也是为了满足更多的企业级业务场景需求。 1. MongoDB 4.2 新特性 先来大体上看看有哪些改进,作为4

小米开源数据库<pegasus>简介

≯℡__Kan透↙ 提交于 2019-12-28 09:19:08
更好的样式前往 我的Github笔记 查看 小说搜索 https://biqi.org/ <md文档排版不好> 数据模型 组合键:Table + HashKey + SortKey Table实现业务数据的隔离 HashKey决定数据在那个分片 SortKey决定数据在分片内的排序 一致性协议 使用PacificA协议,保证多副本数据的一致性。 <!-- addition --> 机器 Pegasus分布式集群至少需要准备这些机器: MetaServer link: Meta Server 的设计 要求:2~3台机器,无需SSD盘。 作用:用来保存表和表的分片信息。 ReplicaServer: link: Replica Server 的设计 要求至少3台机器,建议挂SSD盘。譬如一台服务器挂着8块或者12块SSD盘。这些机器要求是同构的,即具有相同的配置。 作用:至少三台ReplicaServer。每一个ReplicaServer都是由多个Replica组成的。每一个Replica表示的是一个数据分片的Primary或Secondary。 Collector:可选角色,1台机器,无需SSD盘。该进程主要用于收集和汇总集群的统计信息,负载很小,建议放在MetaServer的其中一台机器上。 Replica 一个数据分片对应3个Replica。 Replica有两个种类

乐视秒杀:每秒十万笔交易的数据架构解读

爱⌒轻易说出口 提交于 2019-12-24 10:50:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定地完成支付尤为重要。所以在2015年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。 一. 分库分表 在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水平扩展web服务器等。支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一个独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order)进行分库与分表。 在进行数据库操作时,一般都会有用户ID(简称uid)字段,所以我们选择以uid进行分库分表。 分库策略我们选择了“二叉树分库” , 所谓“二叉树分库”指的是:我们在进行数据库扩容时,都是以2的倍数进行扩容。比如:1台扩容到2台,2台扩容到4台,4台扩容到8台,以此类推。 这种分库方式的好处是,我们在进行扩容时,只需DBA进行表级的数据同步,而不需要自己写脚本进行行级数据同步。 光是有分库是不够的,经过持续压力测试我们发现,在同一数据库中

乐视秒杀:每秒十万笔交易的数据架构解读

淺唱寂寞╮ 提交于 2019-12-24 10:41:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定地完成支付尤为重要。所以在2015年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。 一. 分库分表 在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水平扩展web服务器等。支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一个独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order)进行分库与分表。 在进行数据库操作时,一般都会有用户ID(简称uid)字段,所以我们选择以uid进行分库分表。 分库策略我们选择了“二叉树分库”,所谓“二叉树分库”指的是:我们在进行数据库扩容时,都是以2的倍数进行扩容。比如:1台扩容到2台,2台扩容到4台,4台扩容到8台,以此类推。这种分库方式的好处是,我们在进行扩容时,只需DBA进行表级的数据同步,而不需要自己写脚本进行行级数据同步。 光是有分库是不够的,经过持续压力测试我们发现,在同一数据库中

CouchDB学习-集群管理

余生长醉 提交于 2019-12-23 10:13:32
官方文档 集群管理 小说网 https://www.guxs.net/ 理论 在 etc/fefault.ini 文件中有以下部分: [cluster] q=8 n=3 q - 分片的数量 n - 每一份文档的拷贝数量(加上原文档一共几份副本) 创建数据库时可以通过覆盖该值修改为自己的值。 在集群操作中,获取操作中CouchDB返回状态码200或者是写操作返回状态码201即为大多数成员达成一致。大多数成员定义为相关拷贝的数量的一半。对于“读写”操作,“相关副本”的定义稍有不同。 对于读操作,相关副本的数量是保存请求数据的当前可访问分片的数量,这意味着在发生故障或网络分区的情况下,相关副本的数量可能少于集群中的副本数量。 可以使用r参数设置读取份数。 对于写操作,相关副本的数量始终为n,即集群中的副本数量。 对于写操作,可以使用w参数设置份数。 如果少于此数量的可用节点,则返回202。 节点管理 查看所有节点 curl -u admin:adminpw -X GET http://localhost:5984/_membership { "all_nodes":[ # 当前节点所知道的节点 "node1@xxx.xxx.xxx.xxx"], "cluster_nodes":[ #当前节点所连接的节点 "node1@xxx.xxx.xxx.xxx"], } 添加一个节点 curl -u

数据库高可用HA实现

醉酒当歌 提交于 2019-12-22 17:24:13
1.什么是数据库高可用 1.1什么是高可用集群 N+1原则:N就是集群,1就是高可用,高可用的核心就是冗余;集群式保证服务最低使用标准的 1.2高可用集群的衡量标准 一般是通过系统的可靠性和可维护性来衡量的 MTTF:平均无故障时间,这是衡量可靠性的 MTTR:衡量系统的可维护性能 HA=MTTF/(MTTF+MTTR)*100% SLA: 99.999%-表示一年故障时间不超过6分钟 ;普通系统999到9999之间 1.3实现高可用的三种方式 主从方式(非对称) 这种方式的组织形式通常都是通过两个节和一个或多个服务器,其中一台作为主节点(active), 另外一台作为备份节点(standy),备份节点应该随时都在检测主节点的健康状况,当主节点发生故障,服务会自动切换到备份 节点保障服务正常运行 主从对外方式 对称方式 两个节点,都运行着不同的服务,且相互备份,相互检测对方的健康,当任意一个节点发送故障,这个节点上的服务就会 自动切换到另一个节点。 多机方式 包含多个节点多个服务,每个节点都要备份运行不同的服务,出现问题自动迁移 思考:公司的数据库服务主从是否自动切换? 1.4 mysql数据的高可用实现 1.4.1 主从方式(非对称) 资源:两条同版本的mysql数据库 主从实现的内部运行原理和机制 1.主数据库服务会把数据的修改记录记录进binlog日志,binlog一定要打开

Java分布式应用

醉酒当歌 提交于 2019-12-22 04:49:18
分布式计算就是通过计算机网络将计算工作分布到多台主机上,多个主机一起协同完成工作。 我试着列一下相关知识吧。 网络通讯,网络是分布式的基础,对分布式的理解建立在对网络的理解上,包括: OSI模型的7层 TCP/IP,DNS,NAT HTTP,SPDY/HTTP2 Telnet 网络编程,是通过程序在多个主机之间通信。包括: Socket 多线程 非阻塞IO 网络框架 Netty Mina ZeroMQ 操作系统的网络部分 RPC,Socket使用不是很方便,很多分布式应用是基于RPC的,包括: 同步RPC 异步RPC 主要的一些RPC协议 RMI Rest API Thrift 集群,分布式计算离不开集群。集群就是多台主机被当作一个系统 集群类型 高可用,如主机备机切换,冷备,热备,双活 伸缩性,如Web服务器集群,数据库服务器的Sharding 并行计算,如网格,大数据 集群相关技术,包括: 高可用性,保证服务一直能够被访问,延长MTBF,缩短MTTR 冗余的设备 多副本,为了避免单点失效 负载均衡,如何将大量工作负载分配到多个主机上,最大化吞吐量,最小化平均响应时间,最大化资源利用率。 伸缩性(横向),能够添加计算机和设备来应对增长的计算压力 分片(Sharding),把数据分成多个数据集,由多个服务器来分别处理。 自动分片 容错性,当硬件或软件发生故障,能够继续运转 故障检测

redis

为君一笑 提交于 2019-12-20 21:35:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Redis 介绍 redis.io Redis是一个键值对存储数据库,属于一种NoSQL,其数据存储在内存里,读写速度非常快,据说是可以达到10w并发。支持数据持久化。它属于单线程服务,但这不影响它的高并发特性。 类似键值对数据库还有Memcached,但Redis比Memcached支持更多类型的数据。Mecached只支持string类型的数据,但Redis除了支持string外,还支持hash,set,list,zset(有序集合) Redis安装 wget http://download.redis.io/releases/redis-5.0.3.tar.gz tar zxf redis-5.0.3.tar.gz cd redis-5.0.3 make make install 启动服务 cp redis.conf /etc/ vi /etc/redis.conf #将daemonize no改为daemonize yes redis-server /etc/redis.conf CentOS7下编写服务管理脚本 vi /usr/lib/systemd/system/redis.service ##内容如下 [Unit] Description=Redis After=network.target

视频大数据存储平台解决方案(ppt)

雨燕双飞 提交于 2019-12-17 17:25:59
选编:悟道方案网 www.518doc.com 大数据分析包含检索数据库和海量视频文件资料,检索数据库主要用来关联带标签的分类主题资料和具体视频文件,使用户能快速检索到对应分类的存储位置;云计算虚拟化集群:物理服务器组建成统一的集群计算虚拟机资源池,实现虚拟机的故障转移高可用、负载自动分配资源、对存储高IOPS需求。(简版阅读) 来源: CSDN 作者: www518doccom 链接: https://blog.csdn.net/www518doccom/article/details/103537692