数据库系统

系统上线那点事 - 记一次线上系统故障

跟風遠走 提交于 2019-12-25 18:17:06
该项目是一个微信转盘游戏抽奖营销项目。因为运营营销时间要求紧迫。开发測试部署上线用了10天不到,有些准备工作并没有到位,如: 1.因为总体开发在上线前2天才完毕,測试了解这个项目需求是在开发的第二周,并没有充足的时间进行完好的功能,UI机型适配,系统压力測试。 2.技术上因为合作方的公众号密钥并不适合直接给出,所以由对方封装微信接口获取所需功能,对方封装的微信接口给出比較迟,在预定開始时间前三天; 微信的网页接口授权回调域名仅仅有一个。这个回调域名还有其它应用在使用,不能直接简单的改为我们部署应用的域名。须要合作方在其内网设置nginx进行http转发。保证微信的回调能发送到我们的server,封装的API接口測试也要等转发配置完毕才干进行。 此种网络配置方式也导致了之后遇到的部分用户页面无法加载时,排除问题难度加大,不能在自己的机房解决。 3.线上应用机器在最后一天才准备好,tomcat及数据库部署环境的检查并没有全然完毕。留下了隐患。 如mariadb的binlog功能在设置了my.cnf后仍然没有生成,部分核心表的索引没有建全然。 而且活动仅仅有七天,经过估算。觉得摇奖压力大部分应该在应用端,数据库无压力。所以配置了10几台tomcat及redis缓存,没有为mariadb配置主从结构做备份,成为了一个单点。 4

SQL Server 系统表

ⅰ亾dé卋堺 提交于 2019-12-24 11:51:44
sqlserver中各个系统表的作用: sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库 字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据库 当前配置选项 sysdatabases 主数据库 服务器中的数据库 syslanguages 主数据库 语言 syslogins 主数据库 登陆帐号信息 sysoledbusers 主数据库 链接服务器登陆信息 sysprocesses 主数据库 进程 sysremotelogins主数据库 远程登录帐号 syscolumns 每个数据库 列 sysconstrains 每个数据库 限制 sysfilegroups 每个数据库 文件组 sysfiles 每个数据库 文件 sysforeignkeys 每个数据库 外部关键字 sysindexs 每个数据库 索引 sysmenbers 每个数据库 角色成员 sysobjects 每个数据库 所有数据库对象 syspermissions 每个数据库 权限 systypes 每个数据库 用户定义数据类型 #查询数据库中创建的每个对象 select * from sysobjects where xtype='U' SELECT * FROM INFORMATION_SCHEMA.TABLES #读取库中的所有表名

Oracle命名规范

三世轮回 提交于 2019-12-23 04:51:22
1、编写目的   使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。   2、适用范围   本规范适用于公司范围内所有以 ORACLE 作为后台数据库的应用系统和项目开发工作。   3、对象命名规范   3.1 数据库和SID   数据库名定义为系统名+模块名   ★ 全局数据库名和例程SID 名要求一致   ★ 因SID 名只能包含字符和数字,所以全局数据库名和SID 名中不能含有“_”等字符   3.2 表相关   3.2.1 表空间   ★ 面向用户的专用数据表空间以用户名+_+data命名 ,如Aud 用户专用数据表空间可命名为Aud_data   ★ 面向用户的专用索引表空间以用户名+_+idx命名   ★ 面向用户的专用临时表空间以用户名+_+tmp命名   ★ 面向用户的专用回滚段表空间以用户名+_+rbs 命名   ★ 面向应用的表空间以应用名+_data/应用名+_idx/应用名+_tmp/应用名+_rbs 命名   ★ LOB 段数据专用表空间以其数据表空间+_+lobs 命名,如上例中数据表空间为Aud_data,则LOB 段表空间可命名为Aud_data_lobs   3.2.2 表空间文件   表空间文件命名以表空间名+两位数序号(序号从01开始)组成,如Aud_data01 等   3.2.3 表   表命名要遵循以下原则:

ASP 乱码问题

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-22 11:40:46
http://www.blueidea.com/tech/program/2004/2351.asp 这几天研究UTF-8编码,太晕了,把我的看法和各位讨论讨论。 欢迎来批啊。以下都是我的想法,哪里有不对的请不吝赐教,帮忙指出来。 相关的题外话: 一、操作系统 window系统内部都是unicode的。文件夹名,文件名等都是unicode的,任何语言系统下都能正常显示。 二、输入法: 微软拼音输出的是Unicode的,智能ABC输出是简体中文的(所以智能ABC在非简体中文系统根本不能用,只能打英文)。 三、网页的textarea 网页的textarea是用unicode显示的。所以往里打什么字都能显示。而一些flash做的输入框就不行了。 四、Access2000 access里面保存的数据是unicode的,在任何语言系统下都能显示。 如果数据视图查看有些字符不正常,那是因为显示所用的字体不是Unicode字体, 换用Arial Unicode MS 字体就能全部显示了。(access帮助,搜索,输入unicode,有说明) 五、Word word里的繁简转换,简体转换到繁体后,内码仍是简体中文的,其实只是简体中的繁体字。 六、ASP内部是Unicode的,所有文本都是Unicode存储的。需要时转换到指定字符集。 首先说下结论: <%@ codepage=936%>简体中文 <

redis缓存

牧云@^-^@ 提交于 2019-12-22 11:39:50
1、为什么使用redis 2、使用redis有什么缺点 3、单线程的redis为什么这么快 4、redis的数据类型,以及每种数据类型的使用场景 5、redis的过期策略以及内存淘汰机制 6、redis和数据库双写一致性问题 7、如何应对缓存穿透和缓存雪崩问题 8、如何解决redis的并发竞争问题 正文 1、为什么使用redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。 回答:如下所示,分为两点 (一)性能 如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应。 题外话:忽然想聊一下这个迅速响应的标准。其实根据交互效果的不同,这个响应时间没有固定标准。不过曾经有人这么告诉我:”在理想状态下,我们的页面跳转需要在瞬间解决,对于页内操作则需要在刹那间解决。另外,超过一弹指的耗时操作要有进度提示,并且可以随时中止或取消,这样才能给用户最好的体验。” 那么瞬间、刹那、一弹指具体是多少时间呢? 根据《摩诃僧祗律》记载 一刹那者为一念,二十念为一瞬,二十瞬为一弹指

【分布式】分布式架构

冷暖自知 提交于 2019-12-22 04:48:14
一、前言    在大数据系统中,分布式系统已经成为一个无法避免的组件,如zookeeper已经成为了工业届的标准。所以对于大数据的研究,也必须要研究分布式系统的特点。 二、集中式系统   由一台或多台计算机组成的中心节点,数据集中存储在这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均由其集中处理。其部署简单,不用考虑多个节点间的分布式协作问题。 三、分布式系统   分布式系统是一个由硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。其拥有如下特点    3.1 分布性   分布式系统中的多台计算机都会在空间中随意分布,同时,机器的分布情况也会随时变动。    3.2 对等性   分布式系统中的计算机没有主/从之分,既没有控制整个系统的主机,也没有被控制的从机,组成分布式系统的所有计算机节点都是对等的, 副本 指的是分布式系统对数据和服务提供的一种冗余方式,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理。 数据副本 是指在不同的节点上持久化同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取到该数据,这是解决分布式系统数据丢失问题最为有效的手段。 服务副本 是只多个节点提供同样的服务,每个节点都有能力接受来自外部的请求并进行相应的处理。    3.3 并发性   同一分布式系统中的多个节点

分布式系统的基础知识

走远了吗. 提交于 2019-12-22 04:47:04
一.网络通信模型:TCP/IP网络模型 二.网络IO的实现方式   1.BIO方式:一个线程只处理一个Socket   2.NIO方式:一个线程可以处理多个Socket   3.AIO方式:和NIO的区别是NIO在有通知时可以进行操作,AIO在有通知时操作已完成 三.负载均衡的方式   1.硬件负载均衡设备,透明代理   2.LVS(负载均衡系统),透明代理 四.数据库的分布式存储系统   1.分布式文件系统   2.分布式cache系统   3.分布式数据库 五.数据库的垂直拆分   即不同的表放入不同的数据库 六.数据库的水平拆分   即同一张表放入不同的数据库    来源: https://www.cnblogs.com/2nao/p/6623532.html

水平分库分表的关键问题及解决思路

杀马特。学长 韩版系。学妹 提交于 2019-12-21 14:27:05
分片技术的由来 关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量、连接数、处理能力等都很有限,数据库本身的 “ 有状态性 ” 导致了它并不像 Web 和应用服务器那么容易扩展。在互联网行业海量数据和高并发访问的考验下,聪明的技术人员提出了分库分表技术(有些地方也称为 Sharding 、分片)。同时,流行的分布式系统中间件(例如 MongoDB 、 ElasticSearch 等)均自身友好支持 Sharding ,其原理和思想都是大同小异的。 分布式全局唯一ID 在很多中小项目中,我们往往直接使用数据库自增特性来生成主键 ID ,这样确实比较简单。而在分库分表的环境中,数据分布在不同的分片上,不能再借助数据库自增长特性直接生成,否则会造成不同分片上的数据表主键会重复。简单介绍下使用和了解过的几种 ID 生成算法。 Twitter 的 Snowflake (又名 “ 雪花算法 ” ) UUID/GUID (一般应用程序和数据库均支持) MongoDB ObjectID (类似 UUID 的方式) Ticket Server (数据库生存方式, Flickr 采用的就是这种方式) 常见分片规则和策略 分片字段该如何选择 在开始分片之前,我们首先要确定分片字段(也可称为 “ 片键 ” )。很多常见的例子和场景中是采用 ID 或者时间字段进行拆分。这也并不绝对的

jdbc 事务

一曲冷凌霜 提交于 2019-12-21 07:22:44
一、什么是事务   事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得数据库从一种状态转换成另一种状态。   事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、 一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写事务必须服从ISO/IEC所制定的ACID原 则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩 写。 原子性 。即不可分割性,事务要么全部被执行,要么就全部不被执行。如果事务的所有子事务全部提交成功,则所有的数据库操作被提交,数据库状态发生转换;如果有子事务失败,则其他子事务的数据库操作被回滚,即数据库回到事务执行前的状态,不会发生状态转换。 一致性或可串性 。事务的执行使得数据库从一种正确状态转换成另一种正确状态。 隔离性 。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,即在事务正确提交之前,它可能的结果不应显示给任何其他事务。 持久性 。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。      运行嵌入式SQL应用程序或脚本,在可执行SQL语句第一次执行时

软件架构学习小结

让人想犯罪 __ 提交于 2019-12-21 07:17:39
软件架构 设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从 架构师职责、 软件架构定义、设计架构、评估架构、架构管理 等方面来描述了解软件架构的含义和怎样设计软件架构。 一、软件架构师的职责 架构师分为以下几大类:业务架构师、主题领域架构师、技术架构师、项目架构师( J2EE 架构师、 .NET 架构师等)、系统架构师。 1 、架构师的职责主要体现 架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面: 1 )、负责公司系统的架构设计、研发工作。 2 )、承担从业务向技术转换的桥梁作用。 3 )、协助项目经理制定项目计划和控制项目进度。 4 )、负责辅助并指导系统分析开展设计工作。 5 )、负责组织技术研究和攻关工作。 6 )、负责组织和管理公司内部的技术培训工作。 7 )、负责组织及带领公司内部员工研究与项目相关的新技术。 8 )、管理技术支撑团队并给项目、产品开发实施团队提供技术保障。 9 )、理解系统的业务需求,制定系统的整体框架(包括、技术框架和业务框架)。 10 )、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。 2 、构架设计师必须具备的技能 经验:既包括在问题领域的经验