首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pymysql事务

    事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务是为了保证数据的一致性。比如银行转账,假如有A、B两个账户,从A账户转100元给B账户至少需要两次数据库修改操作,即A账户余额减少100元和B账户余额增加100元。如过在这过程中发生了一些意外,比如断电断网等,导致A账户余额减少后,B账户无法增加余额,那么A账户就不应该减少100元,在生活中的例子就是转账失败,存款退回原账户。如果没有事务,在执行A账户余额减少后程序意外终止(如宕机或者系统资源不足等),导致A账户白白损失了100元,这显然是不可接受的。有了事务,就能保证这两项操作要么都完成,要么都不能完成。

    02

    SFFAI分享 | 王玫:自然环境下的多种族人脸:利用信息最大化自适应网络去减少种族偏差【附PPT,视频】

    种族偏见是生物特征识别中的一个重要问题,但在人脸识别领域还没有得到深入的研究。在这篇论文中,我们首先提供了一个名为“自然环境下的多种族人脸”(RFW)的数据库。利用该数据库,我们验证了四个商业API和四个当前最先进算法都存在种族偏见。然后,我们进一步提出利用深度无监督域自适应算法来解决种族偏差,并提出了一个深度信息最大化自适应网络(IMAN)。在算法中,我们以白种人作为源域,其他种族作为目标域来缓解这种偏差。这种无监督的方法一方面在域层面减小源域和目标域的全局分布,另一方面在类别层面学习有区分性的目标域特征。此外,我们还提出了一种新的互信息损失,在没有标签的情况下,进一步提高了网络输出的鉴别性。通过在RFW、GBU和IJB-A数据库上进行的大量实验表明,IMAN学习到的特征在不同种族和不同数据库上有很好的泛化性。

    01

    如何解决热点数据更新问题

    一 背景 某个业务线商品开放用户申请免费试用,当某个商品特别吸引人时,比如iPhone6 。肯定有一大波人为了少卖一个肾而疯狂去抢申请资格。更有甚者利用机器人申请注册,于是简单的申请操作变成了秒杀行为。大量请求同时更新数据库中的同一个商品的申请次数,update 操作给表加上行锁,导致后面的请求全部排队等待前面一个update完成,释放行锁后才能处理下一个请求。大量后来请求等待,占用了数据库的连接。一旦数据库连接数被占满,就会导致后来的全部请求因拿不到连接而超时,业务请求出现无法及时处理的情况,数据库系统的RT会异常飙高,业务层由于等待出现超时,app 层的连接耗尽,一系列的雪崩效应! 二 解决方案 从上面的背景分析,解决热点数据并发更新需要注意核心问题: 减少直接对db层数据热点的并发更新,或者提供MySQL 更新同一行的吞吐量。本文从业务和数据库的设计层面来规划.同时也希望大家提更好的解决思路。 1 前端层面 前端是整个流量的入口, 正常业务访问时系统表现平稳,但是当有人恶意请求时,需要加上流控措施,比如常见的 a 需要用户回答问题,填写验证码,移动图像等等,防止或者减少有机器人来恶意请求。 b 页面上采用防止机器人的判断 两秒以内的成功请求一律拒绝。 c 通过设置nginx ,对同一个ip源的请求次数做限制,防止机器人来申请。 优点 有效减少或者防止有人利用机器人恶意请求 缺点 存在一定的误杀率,错杀了正常的请求。 2 应用层 应用程序接收前端前端请求,进行一系列的数据库操作,在我们规避了恶意请求之后如果还是有大量的数据库写访问请求,我们需要 a 对业务做降级 限制接口的调用次数,降低对数据库的请求压力。选择异步更新请求次数,弱化该商品申请次数的展现。类似于阅读次数,申请次数 ,与金额,库存无关的功能点。 b 通过异步更新来避免直接写数据库 。 应用使用分布式缓存(比如Tair/Redis)来存储某项商品的申请次数或者某人的申请次数,以商品id/user_id 或者将where 条件作为key,申请试用人数为value/符合某项具体条件的 count结果为value, 有用户申请成功则更新申请试用人数。不需要查询和实时写数据库,每隔一定时间/次数将结果写入数据库。 优点:该方法依赖于缓存,读写速度快,不需要实时更新数据库,减轻数据库并发写的压力; 缺点:缓存不是100%稳定,很容易丢,即使采用持久化的缓存,在高并发下有时也可能会出现异常,穿透缓存到db ,导致前端业务展现问题。 3 数据库层 a 将热点数据拆分,分在不同的库不同的表中,分散热点数据,减轻数据库并发更新热点带来的RT升高和应用连接等待时能保证业务能够正常访问其他商品表,损失局部可用性。 优点:实时读写数据库,前端展示数据的准确性。 缺点:业务逻辑稍显复杂。 b 限流补丁 针对某些特定的sql语句 从MySQL 层面加以限制,当系统thread_running达到一定值或者某个sql执行时间超过一定阈值则拒绝该sql的执行。(阿里内部已经实现限流版本)

    00

    应对勒索攻击如何做好数据备份?| FreeBuf甲方群话题讨论

    近年来,针对于企业的勒索攻击正变得越发频繁,过去常常被边缘甚至忽略的数据备份,其重要性开始显现,比如近期发生的针对用友等用户的勒索攻击,如果企业做好了数据备份,就能恢复被勒索加密的文件,最大限度地减少企业损失。但其实数据备份是一个关键的技术领域,要做好全数据、全维度的备份及迅速恢复也并非易事,不同企业对数据备份采取的措施也参差不齐,这其中有哪些特殊性?该如何为应对勒索攻击做好数据备份?本期我们将以此为话题展开讨论。 虽然近些年来数据备份已经被反复强调,但由勒索攻击造成的数据损失情况还是比较严重,这其中有哪

    01
    领券