首页 文章 精选 留言 我的

精选列表

搜索[实时数仓],共10001篇文章
优秀的个人博客,低调大师

细胞炎症造模实操指南!

在基础医学研究和药物研发中,构建稳定可靠的细胞炎症模型是核心步骤之一。无论是探索炎症发生机制,还是筛选潜在抗炎药物,一套标准化的操作流程(SOP)都能让实验效率翻倍、结果更具说服力。今天就为大家详细拆解细胞炎症造模的完整流程,从前期准备到异常处理,新手也能轻松上手。 **实验前准备:细节决定成败** 实验成功的关键往往藏在前期准备里,这一步既要做好试剂的精准配制,也要保证细胞处于最佳状态。 **1. 试剂配制:精准配比是基础** **① LPS工作液:**作为常用的炎症诱导剂,需用无菌PBS将LPS储备液稀释至实验所需浓度,常规浓度范围为1-100 μg/mL,具体可根据细胞类型和实验目的调整。 **② 细胞炎症因子工作液:**若采用细胞因子诱导法,需用含0.1% BSA(BSA的作用是 维持炎症因子的稳定性、活性)的PBS配制TNF-α或IL-1β等因子,同时将完全培养基提前预热至37℃,避免温度骤变对细胞造成损伤。 **③ 关键提醒:**所有试剂需现配现用或分装冻存,避免反复冻融导致活性下降,配制过程中严格遵循无菌操作规范。 **2. 细胞准备:选对状态是核心** 选择对数生长期的细胞进行实验,这个阶段的细胞增殖活跃、状态稳定,对炎症刺激的反应更均一。操作时先消化细胞并进行计数,根据培养板规格调整细胞浓度——以常用的48孔板为例,RLE-6TN细胞建议按2×10⁴cells/mL的密度接种。接种后将培养板置于37℃、5% CO₂培养箱中培养,待细胞融合度达到70-80%时,即可进行后续炎症诱导处理。 **详解两种核心造模方法:按需选择更高效** 根据实验需求,常用的细胞炎症造模方法主要有LPS诱导法和细胞因子诱导法,两种方法各有优势,可灵活选用。 **1. LPS诱导法(以RLE-6TN细胞为例)** 这是应用最广泛的造模方式,操作简单且炎症反应稳定: **① 贴壁培养:**细胞接种后先培养24小时,确保细胞充分贴壁并达到70-80%融合度; **② 刺激处理:**吸弃培养板中的原有培养基,加入含不同浓度LPS的完全培养基,建议设置0、0.1、1、10 μg/mL的浓度梯度,同时设立空白对照组排除干扰; **③ 孵育时间:**根据实验目的设定刺激时间,常规为6-24小时,若需检测早期炎症因子可缩短时间,若研究慢性炎症反应可适当延长。 **2. 细胞因子诱导法** 适用于特定细胞类型或靶向炎症通路的研究: **① 细胞选择:**优先选用内皮细胞、成纤维细胞等对细胞因子敏感的细胞系; **② 刺激剂浓度:**TNF-α推荐浓度为10-50 ng/mL,IL-1β推荐浓度为5-20 ng/mL,可通过预实验优化最佳浓度; **③ 处理时间:**通常为12-48小时,需根据细胞对细胞因子的反应灵敏度调整。 **质量控制:全程把控实验可靠性** 实验过程中需做好质量监控,避免因污染或细胞状态异常影响结果: **1. 细胞状态监测:**每天在倒置显微镜下观察细胞形态,记录细胞生长状况、是否出现皱缩、脱落等异常变化,及时发现问题并处理; **2. 污染控制:**所有操作必须在生物安全柜中进行,定期检查培养基是否出现浑浊、变色等微生物污染迹象,一旦发现污染立即终止实验。 **样本收集与检测:规范操作保数据** 炎症刺激结束后,需及时收集样本并进行检测,确保实验数据的准确性: **1. 上清液收集** 小心收集细胞上清液,在4℃、1000×g条件下离心10分钟,去除细胞碎片后分装,置于-80℃冰箱冷冻保存,用于后续炎症因子检测。 **2. 细胞样本处理** 根据后续检测需求选择对应的处理方式: **① 细胞活性检测(CCK8法):**加入CCK8试剂后,在培养箱中孵育1小时(孵育时间可根据细胞量调整),随后用酶标仪检测吸光度,评估细胞活性; **② 蛋白提取:**加入适量裂解液,提取细胞总蛋白,用于Western blot检测; **③ RNA提取:**加入TRIzol试剂,提取细胞总RNA,用于RT-PCR检测炎症相关基因表达; **④ 形态学观察:**用4%多聚甲醛固定细胞,便于后续观察细胞形态变化并拍照留存。 **模型验证:双重确认造模成功** 造模后需通过分子水平和形态学水平的检测,验证炎症模型是否构建成功: **1. 炎症因子检测:**采用ELISA法检测上清液中TNF-α、IL-6、IL-1β等炎症因子的分泌水平,通过RT-PCR检测炎症相关基因的表达变化,或用Western blot检测蛋白表达差异,若炎症因子水平显著升高则说明造模有效; **2. 形态学观察:**对比刺激前后的细胞形态,炎症状态下细胞可能出现形态不规则、贴壁能力下降等变化,拍照留存实验证据,为后续分析提供支撑。 **3. CCK8检测(以TNF-α为例):**通常低浓度TNF-α对细胞增殖有促进作用,高浓度有抑制作用,需具体情况具体分析。 **注意事项与异常处理:避坑指南请收好** **1. 关键注意事项** **① 安全防护:**操作LPS时需佩戴口罩和手套,避免吸入或皮肤直接接触,实验结束后及时消毒; **② 试剂保存:**LPS和细胞因子需分装保存,避免反复冻融导致活性降低; **③ 时间与浓度:**严格控制刺激时间和刺激剂浓度,建议通过预实验确定最佳条件,确保实验结果的一致性; **④ 无菌操作:**全程保持无菌环境,防止污染影响实验结果。 **2. 常见异常处理** **① 细胞死亡过多:**可能是刺激剂浓度过高或刺激时间过长,需降低刺激剂浓度或缩短孵育时间; **② 炎症反应不明显:**可能是刺激剂浓度不足或细胞对刺激不敏感,可适当提高刺激剂浓度或延长刺激时间; **③ 发生污染:**立即终止实验,对实验环境和仪器进行彻底消毒,更换试剂和细胞后重新开始。 **实验记录:规范留存可追溯** 实验过程中需做好完整记录,包括细胞传代记录表、试剂配制记录表、实验操作记录表和仪器使用记录表,不仅便于后续实验结果的追溯和分析,也能为重复实验提供参考。 总的来说,细胞炎症造模是一项需要耐心和细心的工作,从前期准备到模型验证,每一个步骤都关乎实验的成败。遵循以上标准化流程,同时根据自身实验需求灵活调整,就能构建出稳定可靠的炎症模型,为后续研究打下坚实基础。如果你在实验过程中遇到其他问题,欢迎在评论区留言交流!

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

【图文】实操配置安全组

大家好,本期为大家介绍阿里云如何配置安全组规则。安全组是阿里云提供的分布式虚拟化防火墙,具备状态检测包过滤功,许多用户在购买ECS服务器时一般都是默认创建的安全组,用户想要添加新的安全组规则或者新创建安全组需要如何配置。 首先登录阿里云控制台,进入云服务器ECS网络与安全下的安全组,选择创建安全组。点击创建安全组,根据您的需求选择相应的模板、安全组名称、网络类型。创建好之后右边会有一个配置规则的选项。点击配置规则,有两种配置规则的方式,我们分别讲一下。添加安全组规则,根据您自己的需求选择规则方向、协议类型、端口范围、授权对象等。点击确定就创建了一个入方向的规则,右边可以修改、克隆和删除。快速创建规则就是把常用协议类型以对选框的形式罗列出来,方便大家勾选。点击确定就创建完成了一个新的出方向的规则。本期安全组规则配置的介绍到此结束,如果大家在创建安全组规则的操作中遇到问题可以在下方留言与我们进行交流。

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

运行时数据区——程序计数器

概念 程序计数器是一块较小的内存空间,他可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。 如果线程正在执行一个java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是Native方法,这个计数器为空(Undefined)。此内存区域是唯一一个在java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。 通俗解释 对于一个运行中的java程序而言,其中的每一个线程都有他自己的程序计数器(PC寄存器),他是在该线程启动时创建的,PC寄存器的大小是一个字长,因此它既能够持有一个本地指针,也能持有一个returnAddress(returnAddress类型会被Java虚拟机的jsr、ret和jsr_w指令所使用。returnAddress类型的值指向一条虚拟机指令的操作码。与前面介绍的那些数值类的原生类型不同,returnAddress类型在java语言之中并不存在相应的类型,也无法在程序运行期间更改returnAddress类型的值)。当线程执行某个java方法时 ,PC寄存器的内容总是下一条被执行指令的”地址”,这里的”地址”可以是一个本地指针,也可以是在方法字节码中相对于该方法起始指令的偏移量。如果该线程正在执行一个本地方法,那么PC寄存器的值是”Undefined”。 本地方法和java方法 java中有两种方法:java方法和本地方法。java方法是由java语言编写,编译成字节码,存储在class文件中的。本地方法是由其它语言(比如C,C++,或者是汇编语言)编写的,编译成和处理器相关的机器代码。本地方法保存在动态连接库中,格式是各个平台专用的;java方法是与平台无关的,但是本地方法却不是。运行中的java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法 参考: https://blog.csdn.net/zhushao_1229/article/details/52782091 https://blog.csdn.net/leaf_0303/article/details/78953669

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

Logstash + DataHub + MaxCompute/StreamCompute 进行实时数据分析

Logstash是一款开源日志收集处理框架,有各种不同的input、filter、output插件,用户使用这些插件可以将各种数据源导入到其他系统。logstash-output-datahub插件,实现将数据导入DataHub的功能,通过简单的配置即可完成数据采集和向DataHub的传输任务。结合StreamCompute(Galaxy)用户可以方便的完成流式数据从采集,传输,开发到结果数据存储与展示的整套解决方案。同时,还可以通过创建Collector同步任务将数据同步到MaxCompute(ODPS),之后在MaxCompute上进行完备的数据开发工作。 接下来,会将各个流程步骤在文章中作详细描述,以帮助用户使用Logstash+DataHub+StreamCompute/MaxCompute快速构建起自己的流式数据应用。 数据

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

基于Redis、Storm的实时数据查询实践

通过算法小组给出的聚合文件,我们需要实现一种业务场景,通过用户的消费地点的商户ID与posId,查询出他所在的商圈,并通过商圈地点查询出与该区域的做活动的商户,并与之进行消息匹配,推送相应活动信息到用户手机。 那么整个流程分为两步,第一步,将整个聚合文件刷入缓存,文件数据格式如下: 29 1:1 102100156910958 10015691X有限公司 0 1 29 1:1 102100156910958 10015691 X有限公司0 1 字段含义分别是 地区编号、商圈编号、商户编号、Pos编号、商户名称、合作商户标志。那么我们可以通过 商户编号+Post编号 来定位 其所在的商圈, 可以通过 地区编号+商圈编号 来获取该商圈的所有商户信息(Redis中直接set)。于是导入Redis是可使用key:商户编号+Post编号 value:地区编号+商圈编号 。 随之第二个key 为 地区编号+商圈编号 从而得到 该商圈的所有商户(Redis中使用hset)。 将聚合文件导入Redis,,部分代码如下 String merchantId = StringUtils.join("V_",content[2].trim(),content[3].trim()); String areabiz = StringUtils.join(content[0].trim(),content[1].trim()); String merchantName = StringUtils.join(content[4].trim()); String flag = StringUtils.join(content[5].trim()); Map<String,String> MerchantMap = new HashMap<String,String>(); MerchantMap.put(merchantName, merchantId); try { for (int i = 0; i < jedisvPools.size(); i++) { JedisPool jp = jedisvPools.get(i); Jedis jedis = null; try { jedis = jp.getResource(); //key为商户编号+PosId value为地区编号area+商圈编号bizAreaId jedis.set(merchantId, areabiz); //key为商圈编号+PosId value为商户名称,使用sadd添加相同商圈编号+PosId的商户 if("1".equals(flag)){ jedis.hmset(areabiz, MerchantMap); } } catch (Exception e) { logger.error("", e); } finally { jedis.close(); } } 将需要匹配的活动商户文件及信息导入redis,,部分代码如下 if (StringUtils.isEmpty(content[4]) || StringUtils.isEmpty(content[5]) ||StringUtils.isEmpty(content[6])) { logger.warn("数据格式有误,内容为:{}", line); return; } String merchantId = ""; String posIds = StringUtils.join(content[5]); String address = StringUtils.join(content[3]); String[] posIdArray = posIds.split("、"); String url = content[6]; Map<String,String> MerchantUrlAdress = new HashMap<String,String>(); MerchantUrlAdress.put(address,url); for(String posId : posIdArray){ merchantId = StringUtils.join("Vir_",content[4].trim(),posId.trim()); try { for (int i = 0; i < jedisPools.size(); i++) { JedisPool jp = jedisPools.get(i); Jedis jedis = null; try { jedis = jp.getResource(); //key为商户编号+PosId value为地区编号area+商圈编号bizAreaId jedis.hmset(merchantId,MerchantUrlAdress); } catch (Exception e) { logger.error("", e); } finally { //jedis.close(); jp.returnResourceObject(jedis); } } 接入用户实时刷卡消费信息,流入storm,匹配该用户所在商圈的活动商户,并匹配获取该活动商户的地址及url信息 通过http的形式推送至支付宝或微信渠道,部分代码如下: String bizAreaName = ""; String bizAreaUrl = ""; String address = ""; //根据活动商户ID与postId 查询所在商圈 String areabiz = virtualBusinessService.getAreaBiz(MerchantId); if(null == areabiz){ resultSets.addValue(ResultSets.OpType.INSERT,"BIZAREALISTNAME",bizAreaName); resultSets.addValue(ResultSets.OpType.INSERT, "BIZAREAURL", bizAreaUrl); resultSets.addValue(ResultSets.OpType.INSERT, "BIZADDRESS", address); logger.info("VirtualTradeAreaAlgorithm="+MerchantId); return resultSets; } //根据活动ID,获取该活动配置的商户Id String activityMerchantCode = virtualBusinessService.getActivityConf(activityConfId); //查询所在商圈的所有商户信息 Map<String,String> bizAreaNameMap = virtualBusinessService.getbizAreaNameSet(areabiz); if(!bizAreaNameMap.isEmpty()){ //匹配活动配置的商户 for(String bizName : bizAreaNameMap.keySet()){ String mapvalue = bizAreaNameMap.get(bizName).replace("V_", ""); if(activityMerchantCode.contains(mapvalue)){ bizAreaName = bizName; //根据活动商户名称查询该商户对应的商户ID activityMerchantId = bizAreaNameMap.get(bizName).replace("V_","Vir_"); //根据活动商户Id,查询该活动商户的url Vir_89811144816144501080209 Map<String,String> bizAreaUrlAdree = virtualBusinessService.getBizUrl(activityMerchantId); if(null == bizAreaUrlAdree){ address = ""; bizAreaUrl = ""; }else{ for(String bizAdress : bizAreaUrlAdree.keySet()){ address = bizAdress; bizAreaUrl = bizAreaUrlAdree.get(bizAdress); } } break; } } } 具体还在整理,后续将其补全~

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

57014 canceling statement due to user request(金仓 KingbaseES)

### 问题描述 客户反馈:多个SQL或存储过程执行时间较长,在KStudio工具中能返回数据,但是通过应用就会抛出报错:57014 canceling statement due to user request ,对SQL或存储过程优化后报错消失,让数据库层面检查原因。 现场环境信息:驱动:Kdbndp\_V9/8.0.3.911 数据库版本:KingbaseES\_V009R004C019B0004 SQLServer兼容模式 ![](https://developer.qcloudimg.com/http-save/yehe-11159291/b88842a72a5550bf237ac00e15a581db.png) 报错说明:SQLSTATE=57014,`query_canceled`,**数据库收到取消本次 SQL 执行的信号**,不是 SQL 语法报错。 从字面意思看:**因为用户端请求,取消了正在执行的 SQL**,**“用户” 不一定是人,客户端程序、驱动、超时都属于用户侧请求** 。 ### 分析过程 1、检查连接串,未配置超时参数; 2、检查数据库中超时参数,默认值0:不超时 ( idle\_in\_transaction\_session\_timeout、statement\_timeout 和 client\_idle\_timeout ); 3、检查Kdbndp驱动Command对象的属性,参数CommandTimeout 默认 30s。 ### 解决办法 有以下2种解决办法: 1. 连接串中增加 CommandTimeout 参数并设置合理值; 2. 在KdbndpCommand对象的属性中,找到参数CommandTimeout 参数并设置合理值。

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

详解数仓的3A安全能力

本文分享自华为云社区《GaussDB(DWS) 3A安全能力》,作者:yd_281561943。 1. 前言 适用版本:【8.0.0 (及以上)】 数据库安全是指保护数据库以防止未授权用户窃取、篡改和破坏数据库中数据信息的技术。数据库安全技术可以简单分为3个A: Authentication(认证):认证解决让谁进来的问题(进门) Authorization(授权):授权解决能干啥的问题(干活) Audit(审计):审计解决干了啥的问题(监控) 2. Authentication——认证 连接认证解决用户能否登录数据库的问题。本产品支持如下几种认证方式: 基于主机的认证:服务器端根据客户端的IP地址、用户名及要访问的数据库来查看配置文件从而判断用户是否通过认证。 口令认证:包括远程连接的加密口令认证和本地连接的非加密口令认证。 证书认证:此模式需进行SSL连接配置且需要客户端提供有效的SSL证书,不需要提供用户密码。 第三方认证:ldap、oneaccess等 这几种方式都需要配置“pg_hba.conf”文件,pg_hba.conf文件格式,pg_hba有若干行的HBA记录组成: 一条HBA记录的含义是允许哪些用户(USER),从哪些IP地址(ADDRESS),以哪种连接类型(TYPE),以哪种认证方式(METHOD),连接哪些数据库(DATABASE)。 认证时对每个连接请求从下到下依次检查hba文件中的记录,如果当前记录匹配,就返回。 HBA记录的顺序非常关键。hba的这种逻辑非常重要,轻易不应该变动,否则会引发非常严重的问题。 案例:hba逻辑变动引发的问题 ldap连接出现过一个问题,升级过程中pg_hba.conf文件中的记录会排序,导致升级前后ldap配置行顺序变化,到sha256配置行后面了。由于pg_hba.conf的顺序遍历机制,升级后ldap用户错误匹配到sha256配置行,连接失败。 为解决顺序变动引发的问题,第一版的修改方案是将ldap判断逻辑放在循环遍历的开始位置:先看认证类型,如果是ldap认证就判断配置行method字段是否为ldap,不是就跳到下一行,直到找到method是ldap的为止。 在这版修改方案下,ldap认证方式的连接匹配到的都是ldap的hba记录。用户连接数据库时,可以成功连接,但是业务却无法进行,报错:“Invalid username/password,login denied.”。原因是内部节点执行语句时会进行节点之间的认证,认证类型为trust,不会提供密码。修改之后只会匹配到ldap记录,ldap方式需要密码,从而报错。 升级前后,ldap与sha256配置行位置如下: 升级前: host all @/etc/ldap/ldap_user 0.0.0.0/0 ldap ldapserver=xxx.xxx.xxx.xxx ldapport=xxx ldapprefix="CN=" ldapsuffix="OU=test_dmj_group,DC=com" host all all 0.0.0.0/0 sha256 升级后: host all all 0.0.0.0/0 sha256 host all @/etc/ldap/ldap_user 0.0.0.0/0 ldap ldapserver=xxx.xxx.xxx.xxx ldapport=xxx ldapprefix="CN=" ldapsuffix="OU=test_dmj_group,DC=com" TYPE:type是local、host、hostssl、hostnossl四种之一。 分别表示: local: 仅允许unix domain socket连接。 host: 允许TCP/IP连接,可以匹配SSL和非SSL的连接请求。 hostssl: 允许TCP/IP连接,仅匹配SSL的连接请求。 hostnossl: 允许TCP/IP连接,仅匹配非SSL的连接请求。 DATABASE:可以用all表示所有数据库,也可以用逗号分隔显式指定数据库。 USER:可以用all表示所有用户,也可以用逗号分隔显式指定用户。可以是特定数据库用户的名称,也可以是前面带有+的组名称。+标记实际上意味着“匹配直接或间接属于该角色的任何角色” ,而没有+标记的名称仅匹配该特定角色。 ADDRESS:声明记录所匹配且允许访问的地址。type是local时,表示本机连接,不需要指定IP地址。 METHOD:认证方式有trust、reject、md5、sha256、ldap、cert、oneaccess等。 trust:白名单,无条件允许连接。 reject:黑名单,无条件拒绝连接。 md5: pg的password认证方式,不安全。 sha256: gaussdb的password认证。 ldap:使用LDAP进行第三方认证。 cert:客户端证书认证模式,此模式需进行SSL连接配置且需要客户端提供有效的SSL证书,不需要提供用户密码。 oneaccess:使用oneaccess进行第三方认证。 3.Authorization——授权 权限表示用户对某个数据库对象的操作是否被允许。GaussDB(DWS)中的权限包含三种场景:系统权限、数据对象权限、用户权限。 3.1 系统权限 3.1.1 三权分立 默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立,将系统管理员的CREATEROLE属性和AUDITADMIN属性权限分别给安全管理员和审计管理员。 3.1.2 系统权限授权 系统权限又称为用户属性,包括SYSADMIN、CREATEDB、CREATEROLE、AUDITADMIN和LOGIN。 系统权限可以在创建、修改角色或者用户时进行授权,CREATE/ALTER ROLE/USER user_name [WITH] option语句的option中,可以设置以下字段,来实现系统权限赋权。 SYSADMIN | NOSYSADMIN 决定一个新角色是否为“系统管理员”,具有SYSADMIN属性的角色拥有系统最高权限。缺省为NOSYSADMIN。 AUDITADMIN | NOAUDITADMIN 定义角色是否有审计管理属性。缺省为NOAUDITADMIN。 CREATEDB | NOCREATEDB 决定一个新角色是否能创建数据库。新角色没有创建数据库的权限。缺省为NOCREATEDB。 CREATEROLE | NOCREATEROLE 决定一个角色是否可以创建新角色(也就是执行CREATE ROLE和CREATE USER)。 一个拥有CREATEROLE权限的角色也可以修改和删除其他角色。缺省为NOCREATEROLE。 LOGIN | NOLOGIN 具有LOGIN属性的角色才可以登录数据库。一个拥有LOGIN属性的角色可以认为是一个用户。缺省为NOLOGIN。 3.2 数据对象权限 数据对象包括表和视图、指定字段、数据库、函数、模式等,对它们的创建、增、删、改、查等操作就是数据对象权限。授权语法格式为:GRANT [privileges] ON [objects] TO [users],回收权限语法格式为REVOKE [privileges] ON [objects] FROM [users]。 3.3 用户权限 3.3.1 用户权限授权 将一个角色或用户的权限授予一个或多个其他角色或用户。被授权的角色或用户就拥有授权的角色或用户的权限。当声明了WITH ADMIN OPTION,被授权的用户可以将该权限再次授予其他角色或用户,以及撤销所有由该角色或用户继承到的权限。当授权的角色或用户发生变更或被撤销时,所有继承该角色或用户权限的用户拥有的权限都会随之发生变更。语法格式为GRANT role TO user。 3.3.2 预置角色 GaussDB(DWS)提供了一组预置角色,以“gs_role_”开头命名,这些预置角色具有一些固定的权限。当某些用户需要进行相关操作,只需要把预置角色授给用户即可。目前GaussDB(DWS)的预置角色如下表: 4.Audit——审计 审计是指记录用户的登陆退出以及登陆后在数据库里的行为操作,使得数据库安全管理员可以利用这些日志信息,找出非法操作的用户,时间和内容等。 4.1 设置审计配置项 要使数据库能够审计到某项功能,需要打开审计的总开关(audit_enabled)和对应的审计项开关(audit_operation_exec),二者均支持动态加载,在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。 有两点需要注意,其一如果审计ddl操作,需要另外配置audit_system_object 来审计具体某个对象的ddl 操作;其二如果是审计事务,事务内部的操作是否审计需要结合其具体的配置项是否配置。审计项的参数控制: 4.2 查看审计日志 审计查询命令是pgxc_query_audit: select * from pgxc_query_audit(timestamptz startime,timestamptz endtime,audit_log); startime 和 endtime 分别表示审计记录的开始时间和结束时间,audit_log 表示所查看的审计日志新的所在的物理文件路径,当不指定audit_log 时,默认查看连接当前实例的审计日志信息。审计查询结果如下例: postgres=# create table t1(id int); ERROR: relation "t1" already exists postgres=# select * from pgxc_query_audit('2021-03-21','2021-03-30') order by endtime desc limit 1; -[ RECORD 1 ]---+-------------------------------- begintime | 2021-03-21 11:49:41.643+08 endtime | 2021-03-21 11:49:41.652+08 operation_type | ddl audit_type | ddl_table result | failed username | perfadm database | postgres client_conninfo | gsql@[local] object_name | t1 command_text | create table t1(id int); detail_info | relation "t1" already exists transaction_xid | 0 query_id | 1062177 node_name | cn_5001 thread_id | 139916885260032@669613657906735 local_port | 6000 remote_port | 5. 其他数据仓库安全技术 数据安全展示:数据脱敏、行级访问控制。 数据安全存储:数据存储加密、透明加密。 点击关注,第一时间了解华为云新鲜技术~

资源下载

更多资源
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应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册