精华内容
下载资源
问答
  • 最近在负责一个平台,需要和不同系统进行对接,需要用到数据库的动态扩展字段。现在比较流行的扩展字段方法,有大概如下把,①预留很多列进行扩展,②使用版本号的方式来进行扩展,③使用Key+Value的形式进行扩展。...

    最近在负责一个平台,需要和不同系统进行对接,需要用到数据库的动态扩展字段。

    现在比较流行的扩展字段方法,有大概如下把,①预留很多列进行扩展,②使用版本号的方式来进行扩展,③使用Key+Value的形式进行扩展。下面我讲讲我对这几种方法的看法。

    可能很多人会问,你要增加一个字段,那不就直接在数据库里的对应表加就结了,哪有什么扩展的设计呀,哪天要加字段了就加呗,可以为空就为空,不可以给个默认值完事。确实是这么简单,添加一个字段如果是允许为可空类型确实是一点问题都没有。如果你添加一个字段需要不允许为空,然后又在1KW左右的数据量表里面添加的时候,就可能需要花费很长时间,当然这些操作都可以在夜深人静的时候加(加完之后,改一下代码这个也能做好)

    (一)为可能需要扩展的表,预留一些字段

    数据库预留一些字段,就是以防万一,防患于未然,等到需要的时候,就不需要在表中增加新的字段了,而且这么做的话,一个表里面的数据应该是存储在相邻的物理空间。其实这个问题是不是真的解决我们的需要呢,因为预留字段的特点是col1,col2这种命名,是不是很好维护了,等过了几年再来看这个是否合理呢。

    上面这种就是属于“过度设计”,我们应该做的就是按需设计。

    (二)使用版本号+通用列的方式来进行扩展

    daddd628cc25d9f3971e46fd22eae88a.png

    类似于这种0,如果有字段变更的话,用一个通用列来进行存储,但是用这种结构特别不好,不过SQL Server2016已经支持Json格式了,所以也慢慢得变得可行了。

    (三) 使用Key+Value的方式进行扩展

    下面说说,我最常用的Key+Value方式来进行动态扩展。

    拿最近涉及到的业务系统来举例子,对于不同用户

    857cc2160d2227fb1862b1f1534bdbc4.png

    下面重点讲讲我们这个的做法把,最初的做法是一个用户基础表(UserBase),然后分别为每个系统设计对应的表。比如对应业务系统A(AEX(扩展表),BEX类似于这样。因为对我们整个平台来说,每个业务系统,关注的属性都是不一样,并且都是不确定的,每个业务系统都有自己的业务属性。根据这些情况,我们就把AEX设计成了可扩展的表形式(AEX(主键Id,UserId,Key,Value))。一开始我们是这样设计的,写代码的时候,你会发现我们太依赖这个KEY值了,需要用到KEY值对应的Value的时候,都是拿KEY值对应的内容来进行比较,并且KEY值也不能太长,太长会给我们造成负担。所以我们有了改进的版本,就是要摆脱这种依赖关系。

    摆脱依赖的方法,在面向对象设计,最普通的就是引入第三者,没错,我们需要引入一个专门的配置表来管理这些KEY值,暂且就叫KeyConfig表(Id ,KeyName)  AEX(主键Id,UserId,KeyId,Value)。那么相对应的Value如果有多个值,也可以设置一个ValueConfig表来存储。这些变化都需要根据业务来进行取舍。

    展开全文
  • 针对SOA应用系统中的服务动态扩展问题进行研究,提出了基于SOA的服务动态扩展系统模型,该模型在SOA架构的基础上,引入了服务资源池和服务动态扩展思想,把系统可用服务放入资源池中供系统调用,通过调整资源池的...
  • LINUX 卷动态扩展

    2019-03-28 11:08:13
    一、动态扩展卷 1、创建PV pvcreate /dev/sdb pvdisplay 2、动态扩展VG vgextend vg名称 pv名称 vgextend vg_test/dev/sdb 3、动态扩展lv lvextend -L +50G /dev/mapper/centos-root 注解:-L指定大小 ...

    一、动态扩展卷

    1、创建PV

    pvcreate /dev/sdb

    pvdisplay

    2、动态扩展VG

    vgextend vg名称 pv名称

    vgextend vg_test /dev/sdb

    3、动态扩展lv

    lvextend -L +50G /dev/mapper/centos-root  注解:-L指定大小

    lvextend -l +12799 /dev/mapper/centos-root  注解:-l指添加PE数,空闲PE数可通过vgdisplay查看

    4、扩展文件系统

    xfs 使用命令 xfs_growfs /dev/mapper/centos-root
    ext4使用命令 resize2fs -f /dev/mapper/centos-root

    二、动态收缩卷(危险操作,一定搞清楚步骤)

    1、umount 分区

    2、e2fsck -f lv路径名

    e2fsck -f /dev/vg_test/lv_test

    3、resize2fs /dev/vg_test/lv_test 4G  注解:缩减分区至4G大小

    4、lvresize -L 4G /dev/vg_test/lv_test

    5、mount分区

    6、查看大小  df -h

    展开全文
  • 金蝶 动态扩展平台 文档

    热门讨论 2012-12-22 14:03:43
    金蝶动态扩展平台相关资料,包括 动态扩展平台开发规范.doc
  • 数据库字段动态扩展

    千次阅读 2018-05-30 18:23:13
    在做项目的时候,发现刚刚开始设计的数据库表,到了后期需求的变更,会增加其属性字段,由此涉及到数据库字段动态扩展。有几种方法:1. 动态添加属性字段。 需要时,添加需要的属性时。显然这种方式不利于灵活扩展...

    在做项目的时候,发现刚刚开始设计的数据库表,到了后期需求的变更,会增加其属性字段,由此涉及到数据库字段动态扩展。

    有几种方法:



    1. 动态添加属性字段。
        需要时,添加需要的属性时。显然这种方式不利于灵活扩展,而且在一张大表添加一个字段需要较长时间,这也不适合7*24的服务。

    2. 先预留字段,到时再用。
        就是先给表定义几个扩展字段,以商品表为例。给product添加field1,field2,field3三个varchar(200)类型的字段,这样任何数据类型都可以解析为字符串,把编码后的数据存进去就行了。
        它的缺点是字段是公用的,不能顾名思义,得先查对应关系。另外扩展字段的数量无法精确定义,也存在数据量大时添加字段卡顿的风险。

    3. JSON 格式保存。
        把需扩展的一组字段都到到一个字段里,各个字段用json的方式组成一个大的字符串。这种方式,添加、修改、删除问题都不大,但查询不方便,比如要查询的时候,就要遍历所有数据才行。如果有复杂查询,比如group by ***,这将更麻烦。所以这种方式只能用于数据量很少的方式,比如就10行数据,且没有复杂查询。
    展开全文
  • 数据库动态扩展字段

    2018-01-07 22:03:00
    最近在负责一个平台,需要和不同系统进行对接,需要用到数据库的动态扩展字段。 现在比较流行的扩展字段方法,有大概如下把,①预留很多列进行扩展,②使用版本号的方式来进行扩展,③使用Key+Value的形式进行扩展...

         最近在负责一个平台,需要和不同系统进行对接,需要用到数据库的动态扩展字段。

         现在比较流行的扩展字段方法,有大概如下把,①预留很多列进行扩展,②使用版本号的方式来进行扩展,③使用Key+Value的形式进行扩展。下面我讲讲我对这几种方法的看法。

         可能很多人会问,你要增加一个字段,那不就直接在数据库里的对应表加就结了,哪有什么扩展的设计呀,哪天要加字段了就加呗,可以为空就为空,不可以给个默认值完事。确实是这么简单,添加一个字段如果是允许为可空类型确实是一点问题都没有。如果你添加一个字段需要不允许为空,然后又在1KW左右的数据量表里面添加的时候,就可能需要花费很长时间,当然这些操作都可以在夜深人静的时候加(加完之后,改一下代码这个也能做好)

         (一)为可能需要扩展的表,预留一些字段

              数据库预留一些字段,就是以防万一,防患于未然,等到需要的时候,就不需要在表中增加新的字段了,而且这么做的话,一个表里面的数据应该是存储在相邻的物理空间。其实这个问题是不是真的解决我们的需要呢,因为预留字段的特点是col1,col2这种命名,是不是很好维护了,等过了几年再来看这个是否合理呢。

               上面这种就是属于“过度设计”,我们应该做的就是按需设计。

         (二)使用版本号+通用列的方式来进行扩展

            

     

             类似于这种0,如果有字段变更的话,用一个通用列来进行存储,但是用这种结构特别不好,不过SQL Server2016已经支持Json格式了,所以也慢慢得变得可行了。

         (三) 使用Key+Value的方式进行扩展

             下面说说,我最常用的Key+Value方式来进行动态扩展。

             拿最近涉及到的业务系统来举例子,对于不同用户

             

           下面重点讲讲我们这个的做法把,最初的做法是一个用户基础表(UserBase),然后分别为每个系统设计对应的表。比如对应业务系统A(AEX(扩展表),BEX类似于这样。因为对我们整个平台来说,每个业务系统,关注的属性都是不一样,并且都是不确定的,每个业务系统都有自己的业务属性。根据这些情况,我们就把AEX设计成了可扩展的表形式(AEX(主键Id,UserId,Key,Value))。一开始我们是这样设计的,写代码的时候,你会发现我们太依赖这个KEY值了,需要用到KEY值对应的Value的时候,都是拿KEY值对应的内容来进行比较,并且KEY值也不能太长,太长会给我们造成负担。所以我们有了改进的版本,就是要摆脱这种依赖关系。

          摆脱依赖的方法,在面向对象设计,最普通的就是引入第三者,没错,我们需要引入一个专门的配置表来管理这些KEY值,暂且就叫KeyConfig表(Id ,KeyName)  AEX(主键Id,UserId,KeyId,Value)。那么相对应的Value如果有多个值,也可以设置一个ValueConfig表来存储。这些变化都需要根据业务来进行取舍。

         

              

     

         

    转载于:https://www.cnblogs.com/gdouzz/p/8227787.html

    展开全文
  • 动态扩展IK分词器

    2019-11-20 16:12:57
    动态扩展IK分词器 IK分词器可以扩展词典,但是网上搜到的结果大多是在某个包下放一个文件,文件中存放各种各样的词语,也就是静态的扩展,一旦项目启动就无法在进行扩展。有时候静态的扩展无法满足工作需要,通过...
  • 虚拟机栈的动态扩展

    千次阅读 2019-05-07 20:27:19
    虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。...动态扩展就是在栈空间不够的时候,自动加...
  • FISCO BCOS2.6.0使用webase1.4.1动态扩展群组实操及填坑之路 文章目录FISCO BCOS2.6.0使用webase1.4.1动态扩展群组实操及填坑之路前言一、思路二、正式开始1.环境介绍2.复制已经安装好了的webase-front3.给webase-...
  • php 动态扩展模块

    2015-01-11 10:05:36
    动态扩展模块,首先要知道php.ini的位置,一般在/etc/php.ini。但是如果是自己编译安装的php的话,php.ini的目录可能就不在那了。甚至可能都没有php.ini。这时候用apache请求 查看参数文件的路径然后在那个目录下建...
  • 为明确隔层对水力压裂裂缝扩展形态的影响,应用abaqus建立考虑隔层的水力压裂裂缝动态扩展模型,分析水力压裂裂缝扩展影响。由应力场分布可知,水力裂缝在扩展至隔层有明显的应力场改变。基于该模型,可以进一步分析...
  • java 动态扩展方式

    千次阅读 2010-03-28 18:55:00
    java的体系结构允许动态扩展java程序,过程包括运行时决定所使用的类型,装载它们,使用它们。一、动态扩展的方法通过传递类型的名称,使用java.lang.class的forName()方法。通过用户自定义的类装载器的loadClass()...
  • 最近脑子一热在想若是不考虑水平扩展的成本,我们是不是可以设计一款支持动态扩展的系统,当并发量大达到限流上限时自动增加服务节点,当并发量很小时自动销毁空闲节点。 其实想一想我们的服务模型,与如下的排队...
  • 不支持动态扩展的解决方法

    千次阅读 2015-03-16 14:08:34
    希望通过动态扩展平台对单据做调整,但是做扩展单元导入时,系统总是提示“不支持动态扩展” 解决方案: 进入服务器如下目录:eas\server\properties\dep\whitelist 将该文件夹下面的文件清空即可。 开发环境下...
  • Swift 简单继承和动态扩展

    千次阅读 2015-02-23 22:32:02
    //Swift 简单继承和动态扩展 class Hello { var _name: String? = "Swift" init(name: String) { _name = name } init() { } func sayHello() { println("Hello
  • 问题:DEP导入时,系统总是提示“不支持动态扩展”解决方案:进入服务器如下目录:eas\server\properties\dep\whitelist 将该文件夹下面的文件清空即可。开发环境下 就在\runtime\server\properties\dep\whitelist ...
  • LAMP中PHP功能 的动态扩展

    千次阅读 2013-10-10 16:37:40
    php的动态扩展 我的php版本是php-5.4.6,现在在线跑着lamp,但是目前不支持gd扩展,不想重新编译安装,所以我想尝试一下给php来个动态扩展 第一步,需要执行phpize生成先关的编译包 [root@localhost src]# cd ...
  • 在互联网应用领域,服务的动态性需求十分常见,这就对服务的自动发现和可动态扩展提出了很高的要求。 Docker 的出现,以及微服务架构的兴起,让众多开源项目开始关注在松耦合的架构前提下,如何基于 Docker ...
  • dubbo源码阅读笔记--动态扩展

    千次阅读 2015-04-23 10:46:31
    dubbo的dubbo-common工程中大量使用了动态扩展。 序列化由基类/dubbo-common/src/main/java/com/alibaba/dubbo/common/serialize/Serialization.java可以扩展成:dubbo,fst,hessian,java,json,kryo 日志由...
  • (24)动态扩展数组边界

    2014-03-17 19:49:02
    import java.util.Calendar; /*动态扩展数组边界*/ public class Array2 { public static void main(String[] args) { int nDates=0; final int MAX=10; Calendar[] dates=new Calend
  • 动态扩展的数据库模型设计

    千次阅读 2013-09-10 14:23:57
    但是对于实体的属性变化很快,或者实体和属性由用户在系统中自行定义的情况下,那么就需要一个可以动态扩展的数据库模型,以保存各种动态产生的数据。 比如我们要做一个电子商务网站,需要建立一个商品表以保存各种...
  • redis动态扩展内存

    2018-02-08 16:19:01
    需求:将redis内存从1G扩展到3G,不中断服务转载: 1、打开客户端# redis-cli -p 63912、查看当前值redis 127.0.0.1:6391> config get maxmemory 1) "maxmemory" 2) "1073741824"3、设置...
  • 目录ResourcesLoader、ResourcesProvider详解官方文档概述一些预备知识Android R中的动态扩展资源方式内容一:ResourcesProvider类详解内容二:ResourcesLoader类详解利用ResourcesLoader + ResourcesProvider设计一...
  • extension 动态扩展包,dubbo里面有很多 @SPI @Activate @Adaptive 注解, 同时也有许多配置文件。 如下面的路径 private static final String SERVICES_DIRECTORY = "META-INF/services/"; private ...
  • setuptools针对Python官方的distutils做了很多针对性的功能增强,比如依赖检查,动态扩展;下面来介绍setuptools的基本使用方法。  在平时安装Python模块的时候,如果我们选择使用源码下载的时候,我通常会看到在...
  • mysql 数据库字段动态扩展

    千次阅读 2018-12-03 12:03:20
    1.动态添加属性字段  当数据库中需要增加一个字段的时候,直接在数据库中增加,并修改相应的代码。  优点:操作简单,易懂  缺点:每增加一个字段都需要修改数据库表结构,修改代码。而且在一张大表进行操作的...
  • # -*- coding: utf-8 -*- """ Created on Mon Nov 11 14:21:50 2019 ...#动态扩展类与实例 from types import MethodType class Student: pass def SetName(self,name): self.name=name def SetSn...
  • 数据库字段动态扩展设计

    万次阅读 2016-11-18 02:16:33
    最近讨论数据库有关产品方案的项目自动扩展问题,即每个方案都有多个项目,而每个方案的项目或多或少,也有不一样的,方案以后也坑能随之增加新的项目。因此需要数据库设计一套可扩展的方案。
  • 动态扩展动态扩展硬盘根据所存储的数据量的大小来扩展在宿主机上所占用的磁盘空间,创建动态扩展硬盘时需要你指定硬盘大小,但是动态扩展硬盘刚创建时只会占用非常少的存储空间。这是微软推荐使用的硬盘类型...
  • 一、修改hostname hostnamectl set-hostname hadoopxx 二、修改网络配置 ifconfig ...cat /etc/sysconfig/network-scripts/ifcfg-ens33 ...cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,597
精华内容 13,438
关键字:

动态扩展