首页 文章 精选 留言 我的

精选列表

搜索[数据库相关],共10023篇文章
优秀的个人博客,低调大师

MySQL数据库中FOR UPDATE的使用

在MySQL中,FOR UPDATE是一个非常重要的锁机制,主要用于在事务中锁定查询到的数据行,防止其他事务修改这些数据。 基本语法 sql 复制代码 SELECT * FROM table_name WHERE condition FOR UPDATE; 主要作用 1. 行级排他锁 对查询结果集加排他锁(X锁) 其他事务无法对这些行加任何锁,包括读锁和写锁 其他事务可以普通读取(取决于隔离级别),但不能修改 2. 防止数据竞争 在并发环境下,防止多个事务同时修改同一数据: sql 复制代码 -- 事务1 START TRANSACTION; SELECT balance FROM accounts WHERE id = 1 FOR UPDATE; -- 此时其他事务无法修改id=1的记录 UPDATE accounts SET balance = balance - 100 WHERE id = 1; COMMIT; 使用场景 1. 库存扣减 sql 复制代码 START TRANSACTION; SELECT stock FROM products WHERE id = 1001 FOR UPDATE; -- 检查库存并扣减 UPDATE products SET stock = stock - 1 WHERE id = 1001; COMMIT; 2. 账户余额操作 sql 复制代码 START TRANSACTION; SELECT balance FROM accounts WHERE user_id = 123 FOR UPDATE; -- 确保余额充足后进行转账 UPDATE accounts SET balance = balance - 500 WHERE user_id = 123; COMMIT; 3. 订单处理 sql 复制代码 START TRANSACTION; SELECT * FROM orders WHERE status = 'pending' FOR UPDATE; -- 处理待处理订单 UPDATE orders SET status = 'processing' WHERE status = 'pending'; COMMIT; 注意事项 1. 必须在事务中使用 sql 复制代码 -- 错误用法(不在事务中) SELECT * FROM table FOR UPDATE; -- 正确用法 START TRANSACTION; SELECT * FROM table FOR UPDATE; -- ... 其他操作 COMMIT; 2. 锁的释放 锁在事务提交或回滚时自动释放 长时间持有锁会影响并发性能 3. 索引的重要性 sql 复制代码 -- 使用主键索引(高效) SELECT * FROM users WHERE id = 1 FOR UPDATE; -- 无索引字段可能导致表锁(性能差) SELECT * FROM users WHERE name = 'John' FOR UPDATE; 4. 与其他锁的区别 锁类型 说明 其他事务能否读取 其他事务能否修改 FOR UPDATE 排他锁 可以(READ COMMITTED) 不可以 LOCK IN SHARE MODE 共享锁 可以 不可以 实际示例 sql 复制代码 -- 银行转账场景 START TRANSACTION; -- 锁定转出账户 SELECT balance FROM accounts WHERE account_no = 'A001' FOR UPDATE; -- 锁定转入账户 SELECT balance FROM accounts WHERE account_no = 'B002' FOR UPDATE; -- 执行转账操作 UPDATE accounts SET balance = balance - 1000 WHERE account_no = 'A001'; UPDATE accounts SET balance = balance + 1000 WHERE account_no = 'B002'; COMMIT; 性能建议 尽量缩短锁持有时间 确保查询条件使用索引 避免在高峰期对热点数据使用 考虑使用乐观锁替代 FOR UPDATE是保证数据一致性的重要工具,但需要谨慎使用以避免死锁和性能问题。

优秀的个人博客,低调大师

数据库知识:SQLServer变量相关知识介绍

1、概述 SQLServer变量对应内存中的一个存储空间。它和常量不同,变量的值可以在执行过程中改变。 2、分类 SQLServer变量根据作用范围不同主要分为局部变量和全局变量。 2.1.局部变量 局部变量是用户在程序中定义的变量,它仅在定义的程序范围内有效。局部变量可以用来保存从表中读取的数据,也可以作为临时变量保存计算的中间结果。 注意:局部变量名称的第一个字符必须为一个@。 示例: --定义两个局部变量 DECLARE@mint,@nint; --赋值 SET@m=9; SET@n=1; --查询 SELECT@m+@n; 2.2 全局变量 全局变量通常以@@开头。这些变量一般都是SQL Server中的系统函数,它们的语法遵循函数的规则。用户可以在程序中使用这些函数测试系统特性和SQL命令的执行情况。常用的全局变量如下: @@ERROR--最后一个SQL错误的错误号 @@IDENTITY--最后一次插入的标识值 @@LANGUAGE--当前使用的语言的名称 @@MAX_CONNECTIONS--可以创建的同时连接的最大数目 @@ROWCOUNT--受上一个SQL语句影响的行数 @@SERVERNAME--本地服务器的信息 @@TRANSCOUNT--当前连接打开的事物数 @@VERSION--查看SQLServer的版本信息 3.声明变量 3.1、简单声明 变量只有在声明后才能使用,可以使用DECLARE语句来声明变量。在声明变量时可以指定变量的数据类型和长度。 DECLARE@namenvarchar(30); 3.2 声明多个变量 声明多个局部变量,需要在定义的局部变量后使跟上一个逗号,然后指定下一个局部变量名称和数据类型。 DECLARE@Namenvarchar(30),@Ageint; 3.3 变量作用域 在使用变量时,需要注意变量的作用域。变量具有局部作用域,只在定义它们的批处理或过程中可见。作用域范围从声明变量的地方开始到声明变量的批处理或存储过程的结尾。 USEDB; GO DECLARE@Ageint; SET@Age=30; GO--结束符 select@Age--报错 4.变量赋值 在声明变量后,变量值被默认设置为NULL。可以使用SET或SELECT语句。SET是为变量赋值的首选方法。 变量也可以通过选择列表中当前所引用的值赋值。如果在选择列表中引用变量,则它应当被赋以标量值或者SELECT语句应仅返回一行。 示例: DECLARE@Ageint; --SELECT语句赋值 SELECT@Age=agefromt_userORDERBYagedesc;--返回最后一行的值 select@Age;

优秀的个人博客,低调大师

AutoML相关论文

本文为Awesome-AutoML-Papers的译文。 1、AutoML简介 Machine Learning几年来取得的不少可观的成绩,越来越多的学科都依赖于它。然而,这些成果都很大程度上取决于人类机器学习专家来完成如下工作: 数据预处理 Preprocess the data 选择合适的特征 Select appropriate features 选择合适的模型族 Select an appropriate model family 优化模型参数 Optimize model hyperparameters 模型后处理 Postprocess machine learning models 分析结果 Critically analyze the results obtained 随着大多数任务的复杂度都远超非机器学习专家的能力范畴,机器学习应用的不断增长使得人们对现成的机器学习方法有了极大的需求。因为这些现成的机器学习方法使用简单,并且不需要专业知识。我们将由此产生的研究领域称为机器学习的逐步自动化。 AutoML借鉴了机器学习的很多知识,主要包括: 贝叶斯优化 Bayesian optimization 结构化数据的大数据的回归模型 Regression models for structured data and big data 元学习 Meta learning 迁移学习 Transfer learning 组合优化 Combinatorial optimization. 2、目录 Papers Automated Feature Engineering Expand Reduce Hierarchical Organization of Transformations Meta Learning Reinforcement Learning Architecture Search Evolutionary Algorithms Local Search Meta Learning Reinforcement Learning Transfer Learning Hyperparameter Optimization Bayesian Optimization Evolutionary Algorithms Lipschitz Functions Local Search Meta Learning Particle Swarm Optimization Random Search Transfer Learning Performance Prediction Performance Prediction Frameworks Miscellaneous Tutorials Bayesian Optimization Meta Learning Articles Bayesian Optimization Meta Learning Slides Bayesian Optimization Books Meta Learning Projects Prominent Researchers Papers Automated Feature Engineering Expand Reduce 2017 | AutoLearn — Automated Feature Generation and Selection | Ambika Kaul, et al. | ICDM | PDF 2017 | One button machine for automating feature engineering in relational databases | Hoang Thanh Lam, et al. | arXiv | PDF 2016 | Automating Feature Engineering | Udayan Khurana, et al. | NIPS | PDF 2016 | ExploreKit: Automatic Feature Generation and Selection | Gilad Katz, et al. | ICDM | PDF 2015 | Deep Feature Synthesis: Towards Automating Data Science Endeavors | James Max Kanter, Kalyan Veeramachaneni | DSAA | PDF Hierarchical Organization of Transformations 2016 | Cognito: Automated Feature Engineering for Supervised Learning | Udayan Khurana, et al. | ICDMW | PDF Meta Learning 2017 | Learning Feature Engineering for Classification | Fatemeh Nargesian, et al. | IJCAI | PDF Reinforcement Learning 2017 | Feature Engineering for Predictive Modeling using Reinforcement Learning | Udayan Khurana, et al. | arXiv | PDF 2010 | Feature Selection as a One-Player Game | Romaric Gaudel, Michele Sebag | ICML | PDF Architecture Search Evolutionary Algorithms 2017 | Large-Scale Evolution of Image Classifiers | Esteban Real, et al. | PMLR | PDF 2002 | Evolving Neural Networks through Augmenting Topologies | Kenneth O.Stanley, Risto Miikkulainen | Evolutionary Computation | PDF Local Search 2017 | Simple and Efficient Architecture Search for Convolutional Neural Networks | Thomoas Elsken, et al. | ICLR | PDF Meta Learning 2016 | Learning to Optimize | Ke Li, Jitendra Malik | arXiv | PDF Reinforcement Learning 2018 | Efficient Neural Architecture Search via Parameter Sharing | Hieu Pham, et al. | arXiv | PDF 2017 | Neural Architecture Search with Reinforcement Learning | Barret Zoph, Quoc V. Le | ICLR | PDF Transfer Learning 2017 | Learning Transferable Architectures for Scalable Image Recognition | Barret Zoph, et al. | arXiv | PDF Frameworks 2017 | Google Vizier: A Service for Black-Box Optimization | Daniel Golovin, et al. | KDD |PDF 2017 | ATM: A Distributed, Collaborative, Scalable System for Automated Machine Learning | T. Swearingen, et al. | IEEE | PDF 2015 | AutoCompete: A Framework for Machine Learning Competitions | Abhishek Thakur, et al. | ICML | PDF Hyperparameter Optimization Bayesian Optimization 2016 | Bayesian Optimization with Robust Bayesian Neural Networks | Jost Tobias Springenberg, et al. | NIPS | PDF 2016 | Scalable Hyperparameter Optimization with Products of Gaussian Process Experts | Nicolas Schilling, et al. | PKDD | PDF 2016 | Taking the Human Out of the Loop: A Review of Bayesian Optimization | Bobak Shahriari, et al. | IEEE | PDF 2016 | Towards Automatically-Tuned Neural Networks | Hector Mendoza, et al. | JMLR | PDF 2016 | Two-Stage Transfer Surrogate Model for Automatic Hyperparameter Optimization | Martin Wistuba, et al. | PKDD | PDF 2015 | Efficient and Robust Automated Machine Learning | PDF 2015 | Hyperparameter Optimization with Factorized Multilayer Perceptrons | Nicolas Schilling, et al. | PKDD | PDF 2015 | Hyperparameter Search Space Pruning - A New Component for Sequential Model-Based Hyperparameter Optimization | Martin Wistua, et al. | PDF 2015 | Joint Model Choice and Hyperparameter Optimization with Factorized Multilayer Perceptrons | Nicolas Schilling, et al. | ICTAI | PDF 2015 | Learning Hyperparameter Optimization Initializations | Martin Wistuba, et al. | DSAA | PDF 2015 | Scalable Bayesian optimization using deep neural networks | Jasper Snoek, et al. | ACM | PDF 2015 | Sequential Model-free Hyperparameter Tuning | Martin Wistuba, et al. | ICDM | PDF 2013 | Auto-WEKA: Combined Selection and Hyperparameter Optimization of Classification Algorithms | PDF 2013 | Making a Science of Model Search: Hyperparameter Optimization in Hundreds of Dimensions for Vision Architectures | J. Bergstra | JMLR | PDF 2012 | Practical Bayesian Optimization of Machine Learning Algorithms | PDF 2011 | Sequential Model-Based Optimization for General Algorithm Configuration(extended version) | PDF Evolutionary Algorithms 2018 | Autostacker: A Compositional Evolutionary Learning System | Boyuan Chen, et al. | arXiv | PDF 2017 | Large-Scale Evolution of Image Classifiers | Esteban Real, et al. | PMLR | PDF Lipschitz Functions 2017 | Global Optimization of Lipschitz functions | C´edric Malherbe, Nicolas Vayatis | arXiv | PDF Local Search 2009 | ParamILS: An Automatic Algorithm Configuration Framework | Frank Hutter, et al. | JAIR | PDF Meta Learning 2008 | Cross-Disciplinary Perspectives on Meta-Learning for Algorithm Selection | PDF Particle Swarm Optimization 2017 | Particle Swarm Optimization for Hyper-parameter Selection in Deep Neural Networks | Pablo Ribalta Lorenzo, et al. | GECCO | PDF 2008 | Particle Swarm Optimization for Parameter Determination and Feature Selection of Support Vector Machines | Shih-Wei Lin, et al. | Expert Systems with Applications | PDF Random Search 2016 | Hyperband: A Novel Bandit-Based Approach to Hyperparameter Optimization | Lisha Li, et al. | arXiv | PDF 2012 | Random Search for Hyper-Parameter Optimization | James Bergstra, Yoshua Bengio | JMLR | PDF 2011 | Algorithms for Hyper-parameter Optimization | James Bergstra, et al. | NIPS | PDF Transfer Learning 2016 | Efficient Transfer Learning Method for Automatic Hyperparameter Tuning | Dani Yogatama, Gideon Mann | JMLR | PDF 2016 | Flexible Transfer Learning Framework for Bayesian Optimisation | Tinu Theckel Joy, et al. | PAKDD | PDF 2016 | Hyperparameter Optimization Machines | Martin Wistuba, et al. | DSAA | PDF 2013 | Collaborative Hyperparameter Tuning | R´emi Bardenet, et al. | ICML | PDF Miscellaneous 2018 | Accelerating Neural Architecture Search using Performance Prediction | Bowen Baker, et al. | ICLR | PDF 2017 | Automatic Frankensteining: Creating Complex Ensembles Autonomously | Martin Wistuba, et al. | SIAM | PDF Tutorials Bayesian Optimization 2010 | A Tutorial on Bayesian Optimization of Expensive Cost Functions, with Application to Active User Modeling and Hierarchical Reinforcement Learning | PDF Meta Learning 2008 | Metalearning - A Tutorial | PDF Articles Bayesian Optimization 2016 | Bayesian Optimization for Hyperparameter Tuning | Link Meta Learning 2017 | Why Meta-learning is Crucial for Further Advances of Artificial Intelligence? | Link 2017 | Learning to learn | Link Slides Automated Feature Engineering Automated Feature Engineering for Predictive Modeling | Udyan Khurana, etc al. | PDF Hyperparameter Optimization Bayesian Optimization Bayesian Optimisation | PDF A Tutorial on Bayesian Optimization for Machine Learning | PDF Books Meta Learning 2009 | Metalearning - Applications to Data Mining | Springer | PDF Projects Advisor | Python | Open Source | Code auto-sklearn | Python | Open Source | Code Auto-WEKA | Java | Open Source | Code Hyperopt | Python | Open Source | Code Hyperopt-sklearn | Python | Open Source | Code SigOpt | Python | Commercial | Link SMAC3 | Python | Open Source | Code RoBO | Python | Open Source | Code BayesianOptimization | Python | Open Source | Code Scikit-Optimize | Python | Open Source | Code HyperBand | Python | Open Source | Code BayesOpt | C++ | Open Source | Code Optunity | Python | Open Source | Code TPOT | Python | Open Source | Code ATM | Python | Open Source | Code Cloud AutoML | Python | Commercial| Link H2O | Python | Commercial | Link DataRobot | Python | Commercial | Link MLJAR | Python | Commercial | Link MateLabs | Python | Commercial | Link MARSGGBO原创 2018-7-14

优秀的个人博客,低调大师

docker相关配置

一、概述: 1、centos7下,默认firewalld为防火墙,systemctl status firewalld.service 2、关闭firewalld, systemctl stop firewalld.service &&setenforce 0 3、安装iptables,yum install iptables-services #安装 systemctl restart iptables.service #最后重启防火墙使配置生效 systemctl enable iptables.service #设置防火墙开机启动 Docker配置文件:/etc/sysconfig/docker 主要参数解释: -H 表示Docker Daemon绑定的地址, -H=unix:///var/run/docker.sock 或者-H=tcp://0.0.0.0:2375 --registry-mirror表示Docker Registry的镜像地址, --registry-mirror=http://xxxx --insecure-registry表示(本地)私用Docker Registry的地址, --insecure-registry ${privateRegistryHost}:5000 --selinux-enabled是否开始SELinux,默认开启 --selinux-enabled=true; 开启SELinux --bip表示网桥docker0使用指定的CIDR网络地址, --bip=172.17.42.1 -b 表示采用已经创建好的网桥, -b=xxx 下面是代理的设置: http_proxy=xxxx:8080 https_proxy=xxxx:8080 Docker配置文件(Centos 7) cat /usr/lib/systemd/system/docker.service [Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network.target [Service]Type=notify# the default is not to use systemd for cgroups because the delegate issues still# exists and systemd currently does not support the cgroup feature set required# for containers run by dockerExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPID# Having non-zero Limit*s causes performance problems due to accounting overhead# in the kernel. We recommend using cgroups to do container-local accounting.LimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityEnvironment="HTTP_PROXY=http://USRNAME:PASSWD@HOST:PORT/"Environment="HTTPS_PROXY=http://USRENAME:PASSWD@HOST:PORT/"# Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version.#TasksMax=infinityTimeoutStartSec=0# set delegate yes so that systemd does not reset the cgroups of docker containersDelegate=yes# kill only the docker process, not all processes in the cgroupKillMode=process [Install]WantedBy=multi-user.target

优秀的个人博客,低调大师

Shuffle相关分析

Shuffle描述是一个过程,表现出的是多对多的依赖关系。Shuffle是连接map阶段和Reduce阶段的纽带,每个Reduce Task都会从Map Task产生的数据里读取其中的一片数据。Shuffle通常分为两个部分:Map阶段的数据准备和Reduce阶段的数据副本。 Map阶段根据Reduce阶段的Task数量来决定每个Map Task输出的数据分片的个数,这些数据分片可能保存在内存中或者磁盘上,这些分片的存在形式可能是每个分片一个文件,也可能是多个分片放在一个数据文件中,外加一个索引来记录每个分片在数据文件中的偏移量。(RDD中的窄依赖除外,恰好是一对一的) 1、 Shuffle写 Spark中Shuffle输出的ShuffleMapTask会为每个ResultTask创建对应的Bucket,ShuffleMapTask产生的结果会根据设置的partitionner得到对应的BucketId.然后填充到对应的Bucket中去,所以每个ShuffleMapTask创建Bucket的数据是和ResultTask的数目相等的。 ShuffleMapTask创建的Bucket对应磁盘上的一个文件,用于存储结果,此文件也被成为BlockFile.通过spark.shuffle.file.buffer.kb属性配置的缓冲区就是用来创建FastBufferedOutputStream输出流的。如果在配置文件中设置了spark.shuffle.consolidateFiles属性为true,则ShuffleMapTask所产生的Bucket就不一定单独对应一个文件了,而是对应文件的一部分,这样做会大大减少产生的BlockFile文件数量。 2、 Shuffle读 Spark可以通过两种方式读数据,一种是普通的socket方式,另一种是使用Netty框架。Netty方式可以通过配置spark.shuffle.use.netty属性为true启动。Netty框架时,BlockManager会创建ShuffleSender专门用于发送数据,如果ResultTask所需要的数据恰好在本节点,则直接去磁盘上读即可,不再通过网络获取。MapReduce取数据时,即使数据在本地还是要走一遍网络传输。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册