精华内容
下载资源
问答
  • 共享数据库共享数据表
    2021-12-20 22:24:25

    共享数据库、共享数据表:即租户共享同一个Database,同一套数据库表(所有租户的数据都存放在一个数据库的同一套表中)。在表中增加租户ID等租户标志字段,表明该记录是属于哪个租户的。

     

    优点:所有租户使用同一套数据库,所以成本低廉。
    缺点:隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量,数据备份和恢复最困难。

    这种方案和基于传统应用的数据库设计并没有任何区别,但是由于所有租户使用相同的数据库表,所以需要做好对每个租户数据的隔离安全性处理,这就增加了系统设计和数据管理方面的复杂程度。

    更多相关内容
  • 其主要作用是IPC(Android进程间通讯),简单的来说就是AIDL可以让一个APP使用另外一个APP的Service,使得两个或者多个APP之间可以信息交互,使得多个APP之间只需要使用一套代码,这样对于一个功能就不用在多个APP...
  • 所以今天来教下大家如何多个小程序共享一个云开发环境和数据库。 其实官方给的文档很详细了,但是一个细节官方没有讲到,所以就会导致好多同学做多个小程序共享一个云开发环境时,遇到各种各样的问题。 比如下面...

    我们在做小程序开发时,有时候需要多个小程序公用一个数据库,比如我们做一个外卖小程序,要配套一个骑手小程序,这个时候就要两个小程序公用一个云开发环境,公用一个数据库了。所以今天来教下大家如何多个小程序共享一个云开发环境和数据库。

    其实官方给的文档很详细了,但是一个细节官方没有讲到,所以就会导致好多同学做多个小程序共享一个云开发环境时,遇到各种各样的问题。
    比如下面这样的问题

    明明感觉自己按照官方要求,该配置的都配置了啊,但是为啥就是出错呢。所以我这里再带大家完整的配置一遍,把里面的一些注意事项也给大家好强调下。

    一,准备条件

    1-1,必须同一个主体

    首先看官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/resource-sharing/

    要共享云开发资源可以 ,但是必须是同一个主体。什么是同一个主体呢,就是两个小程序必须都是你自己的,或者是你公司的。
    如果不是同一个主体,会报如下错误

    1-2,最新的基础库,最新版开发工具

    这里记得调到最新的基础库,开发者工具也尽量用最新的

    开发者工具这里官方是有要求的

    二,开通环境共享

    我这里以两个小程序共享一个数据库为例

    小程序A

    小程序B

    大家这里记得我们是小程序A 共享数据库给小程序B

    2-1,开通环境共享

    开通,使用 1.03.2009140 或以上版本的开发者工具,进入云控制台,到 “设置 - 拓展能力 - 环境共享” 点击开通即开通环境共享能力

    2-2,开通后授权给别的小程序


    环境共享开通后将在顶部tab显示环境共享功能,进入 “环境共享” 的页面,点击“添加共享”,即可授权同主体下其他小程序/公众号使用当前小程序下的云开发资源

    这里填写你要共享小程序的appid,我们这里取小程序B的appid

    授权,选择共享的云环境,默认选中所有环境操作权限,可根据实际使用场景自定义授权。这里建议保持默认即可

    比如我这里分享给小程序B(编程小石头)

    2-3,使用共享的云开发环境

    我们上面操作好以后,就可以在小程序B的云开发后台看到共享的云开发环境了。将我们的云开发环境切换下就可以查看和使用共享的资源了。

    可以看到小程序B(编程小石头)可以查看小程序A的数据库了

    三,请求共享的数据库

    我们接下来就在小程序B里调用小程序A的数据库了。官方提示的是调用之前要在小程序A里创建一个如下的云函数,但是我在测试的时候发现不用创建也可以的。

    所以我们就先不创建cloudbase_auth 云函数,来看看能不能调取到数据。

    3-1,初始化云开发环境

    我们小程序B想使用小程序A的云开发环境,这里要注意,初始化的时候要如下面注释里写的一样,用小程序A的appid和云开发环境id

    3-2,调用资源方数据

    初始化以后不能想正常调用云开发数据库那样了,会报错

    所以我们这里要改变下使用方法。如下

    这时候还会报错,是因为我们忽略了官方的一个要求:“ 跨账号调用,必须等待 init 完成”,所以我们必须给init加一个await语法,如下,记得await要结合着async一起使用。

    可以看到我们成功的请求到了小程序A的数据。直接get的时候记得改下数据库权限奥。

    代码贴出来给大家,记得改成自己的配置

    Page({
        async onLoad() {
            // 声明新的 cloud 实例
            var c1 = new wx.cloud.Cloud({
                // 资源方 小程序A的 AppID
                resourceAppid: 'wx7c54942dfc87f4d8',
                // 资源方 小程序A的 的云开发环境ID
                resourceEnv: 'test-ec396a',
            })
    
            // 跨账号调用,必须等待 init 完成
            // init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则
            await c1.init()
    
            // wx.cloud.database().collection('xiaoshitou').get()
            c1.database().collection('xiaoshitou').get()
                .then(res => {
                    console.log('共享环境请求数据成功', res)
                })
        }
    })
    

    四,调用共享环境的云函数

    4-1,调用资源方里的云函数

    我们这里在小程序B(编程小石头)里调用小程序A里的云函数试试。
    如小程序A里有一个xiaoshitou的云函数

    可以看到我们可以成功的调用小程序A里的xiaoshitou云函数

    是不是很简单。今天就给大家讲到这里了,欢迎关注,后面会分享更多小程序开发的知识给大家。

    展开全文
  • 共享存储数据库集群

    千次阅读 2020-12-31 17:22:38
    DM 共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库, 具有高可用、高性能、负载均衡等特性。 DMDSC 支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。 本...

    共享存储数据库集群

    DMDSC 简介

    DM 共享存储数据库集群的英文全称 DM Data Shared Cluster,简称 DMDSC。DM 共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库, 具有高可用、高性能、负载均衡等特性。 DMDSC 支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。

    本章节主要介绍 DMDSC 集群的功能、概念、实现原理,并举例说明搭建过程和管理方法。阅读本章节可以帮助用户:

    • 了解 DMDSC/DMCSS/DMASM 等集群相关概念。
    • 了解 DMASM 分布式文件系统、 DMDSC 集群,以及基于 DMASM 的 DMDSC 集群配置过程和应用。

    DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件。各个节点有自己独立的联机日志和归档日志。 这些文件就保存在共享存储上。

    DMDSC 集群得以实现的重要基础就是共享存储。DM 支持的共享存储有两种:裸设备和 DMASM。这两种存储的区别在于后者在前者的基础上,部署并使用了 DMASM 文件系统。为了方便对裸设备上的磁盘或文件进行管理,推荐用户使用后者。

    DMDSC 集群主要由数据库和数据库实例、共享存储、本地存储、通信网络、以及集群控制软件 DMCSS 组成。下面以部署了 DMASM 的 DMDSC 集群为例,展示 DMDSC 集群系统结构,如下图所示:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sWiG53nF-1609406467913)(../asset/start/DMDSCjqjgt.jpg)]

    DMDSC 主要特点包括:

    • 高可用性 只要集群中有一个活动节点,就能正常提供数据库服务。
    • 高吞吐量 多个节点同时提供数据库服务,有效提升集群的整体事务处理能力。
    • 负载均衡 用户的连接请求被平均分配到集群中的各个节点,确保各个节点的负载大致平衡。

    DMDSC 使用的环境

    部署 DMDSC 集群所用到的硬件和软件环境。

    软硬件环境环境介绍
    主机(2台)内存:2 GB 以上;网卡:双网卡;提供内部网络和外部网络服务;主机用于部署数据库实例 dmserver、DMCSS、DMASMSVR。
    共享存储两台主机可同时访问存储,可以划分为裸设备的磁盘。
    操作系统Linux、Unix、Windows 等。
    达梦数据库软件DM Database Server 64 V8
    其他 DM 软件dmserver、 dminit、 dmasmcmd、 dmasmsvr、 dmasmtool、 dmcss、 dmcssm等 ;位于 DM 数据库安装目录 /dmdbms/bin

    DMDSC 实现原理

    DMDSC 是一个共享存储的数据库集群系统。多个数据库实例同时访问、修改同一个数据库,因此必然带来了全局并发问题。DMDSC 集群基于单节点数据库管理系统之上,改造了 Buffer 缓冲区、事务系统、封锁系统和日志系统等,来适应共享存储集群节点间的全局并发访问控制要求。同时,引入缓存交换技术,提升数据在节点间的传递效率。

    DMCSS 介绍

    DMCSS (Dameng Cluster Synchronization Services) 达梦集群同步服务,使用 DMASM 集群或 DMDSC 集群都必须要配置 DMCSS 服务。在 DMASM 集群或 DMDSC 集群中,每个节点都需要配置一个 DMCSS 服务。这些 DMCSS 服务自身也构成一个集群,DMCSS集群中负责监控、管理整个 DMASM 集群和 DMDSC 集群的节点称为控制节点 (controlnode),其他 DMCSS 节点称为普通节点 (normal node)。DMCSS 普通节点不参与 DMASM 集群和 DMDSC 集群管理,当 DMCSS 控制节点故障时,会从活动的普通节点中重新选取一个 DMCSS 控制节点。

    DMCSS 工作的基本原理是:在 Voting disk 中,为每个被监控对象 (dmasmsvr、dmserver、DMCSS) 分配一片独立的存储区域,被监控对象定时向 Voting Disk 写入信息(包括时间戳、状态、命令、以及命令执行结果等);DMCSS 控制节点定时从 Voting Disk 读取信息,检查被监控对象的状态变化,启动相应的处理流程;被监控对象只会被动的接收 DMCSS 控制节点命令,执行并响应。

    DMCSS 主要功能包括:写入心跳信息、选举 DMCSS 控制节点、选取 DMASM/DMDSC 控制节点、管理被监控对象的启动流程、集群状态监控、节点故障处理、节点重加入等,DMCSS还可以接收并执行 DMCSSM 指令。

    DMASM 介绍

    DMASM (DM Auto Storage Manager) 是一个专用的分布式文件系统,使用 DMASM 自动存储管理方案,可以帮助用户更加便捷地管理 DMDSC 集群的数据库文件。DMASM 的主要部件包括:提供存储服务的裸设备、dmasmsvr 服务器、dmasmapi 接口、初始化工具 dmasmcmd 和管理工具 dmasmtool 等。

    DMDSC 集群可以直接使用裸设备作为共享存储,存放数据库文件。但是,由于裸设备存在的一些功能限制,造成 DMDSC 集群在使用、-维护上并不是那么灵活、方便。裸设备的使用限制如下:
    - 不支持动态扩展文件大小;在创建数据文件时,就必须指定文件大小,并且文件无法动态扩展。
    - 数据文件必须占用整个裸设备盘,造成空间浪费
    - 不支持类 linux 的文件操作命令,使用不方便
    - 操作系统支持最大裸设备数目较小,无法创建足够的数据库文件

    为了克服裸设备的这些使用限制, DM 专门设计了一个分布式文件系统 DMASM,来管理裸设备的磁盘和文件。 DMASM 提供了基本的数据文件访问接口,可以有效降低 DMDSC 共享存储的维护难度,DMASM 提供的主要功能包括:
    - 分布式管理
    支持多台机器并发访问 DMASM 磁盘和文件,提供全局并发控制。
    - 磁盘组管理
    支持创建和删除磁盘组,将裸设备格式化为 DMASM 格式,并由 dmasmsvr 统一管理;一个磁盘组可以包含一个或者多个 DMASM 磁盘;磁盘组支持在线增加 DMASM 磁盘,实现动态存储扩展。
    - 文件管理
    支持创建、删除、截断文件等功能;支持创建目录;支持动态扩展文件;文件可以存放在一个磁盘组的多个磁盘中,文件大小不再受限于单个磁盘大小。
    - 完善、高效的访问接口

    DMASM 文件系统将物理磁盘格式化后,变成可识别、可管理的 DMASM 磁盘,再通过DMASM 磁盘组将一个或者DMASM 磁盘整合成一个整体提供文件服务。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5N4qoGNo-1609406467915)(../asset/start/DMASM.jpg)]

    通过 dmasmapi 可以获得各种文件管理功能。

    • 通用功能的管理工具

    dmasmtool 提供一套类 Linux 的文件操作命令用于管理 DMASM 文件,降低用户学习、使用 DMASM 文件系统的难度。

    • DMASM 原理

    为了帮助用户更好的理解、使用 DMASM,本小节从 DMASM 磁盘与文件管理、DMASM redo日志、簇映射表等方面介绍 DMASM 原理。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nQkBfEUl-1609406467916)(…/asset/start/DMASM.jpg)]

    DMASM 磁盘格式化以后,会逻辑划分为若干簇 (xtent),簇是管理 DMASM 磁盘的基本单位,DMASM 文件的最小分配单位也是簇。这些逻辑划分的簇根据其用途可以分为描述簇、inode 簇和数据簇。如下图所示:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LiICcG9C-1609406467921)(../asset/start/DMASM1.jpg)]

    创建、删除 DMASM 文件操作,在 DMASM 系统内部其实就是转换成修改、维护 inode AU 的具体动作。而扫描全局的 inode AU 链表就可以获取到磁盘组上所有的 DMASM 文件信息.

    展开全文
  • oracle数据库:在oracle中一个数据库可以具有多个用户,那么一个用户一般对应一个Schema,表都是建立在Schema中的,(可以简单的理解:在oracle中一个用户一套数据库表) mysql数据库:mysql数据中的schema比较...

    共享数据库、独立 Schema

    (1) 什么是Schema

    oracle数据库:在oracle中一个数据库可以具有多个用户,那么一个用户一般对应一个Schema,表都是建立在Schema中的,(可以简单的理解:在oracle中一个用户一套数据库表)

     mysql数据库:mysql数据中的schema比较特殊,并不是数据库的下一级,而是等同于数据库。比如执行create schema test 和执行create database test效果是一模一样的

    共享数据库、独立 Schema:即多个或所有的租户使用同一个数据库服务(如常见的ORACLE或MYSQL数据库),但是每个租户一个Schema。

    优点: 为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可支持更多的租户数量。

    缺点: 如果出现故障,数据恢复比较困难,因为恢复数据库将牵涉到其他租户的数据; 如果需要跨租户统计数据,存在一定困难。

    这种方案是方案一的变种。只需要安装一份数据库服务,通过不同的Schema对不同租户的数据进行隔离。由于数据库服务是共享的,所以成本相对低廉。

    共享数据库、共享数据表

    共享数据库、共享数据表:即租户共享同一个Database,同一套数据库表(所有租户的数据都存放在一个数据库的同一套表中)。在表中增加租户ID等租户标志字段,表明该记录是属于哪个租户的。

    优点:所有租户使用同一套数据库,所以成本低廉。
    缺点:隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量,数据备份和恢复最困难。

    这种方案和基于传统应用的数据库设计并没有任何区别,但是由于所有租户使用相同的数据库表,所以需要做好对每个租户数据的隔离安全性处理,这就增加了系统设计和数据管理方面的复杂程度。

     

    展开全文
  • 共享数据库共享数据表,指的是多个或所有租户共享同一个数据库(Database)。所有的租户数据都存在一个数据和同一套表中。通过数据库或表设计的租户ID等租户标志字段,来表明该记录是属于哪个租户的。 优点:...
  • 3、数据要按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性,系统易于扩展,并可以被多个用户分享 4、数据库中存储的数据的三个基本特点:永久存储、有组织、可共享 5、数据库管理系统...
  • 目录 什么是多租户 需求分析 多租户数据库方案分析 独立数据库 共享数据库,独立 Schema ...简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,.
  • 1 多租户是什么 ...简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔...
  • 多租户1.1 多租户是什么1.2 需求分析1.3 多租户的数据库方案分析1.3.1 独立数据库1.3.2 共享数据库、独立 ...简单讲: 在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是
  • 租户SaaS平台的数据库设计方案

    千次阅读 2021-07-05 12:04:21
    简单讲: 在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多...
  • 各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可。但还存在一问题,就是用户在这服务器登录之后,进入另一服务器的别的模块时,仍然...
  • 各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可。但还存在一问题,就是用户在这服务器登录之后,进入另一服务器的别的模块时,仍然...
  • 各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可。但还存在一问题,就是用户在这服务器登录之后,进入另一服务器的别的模块时,仍然...
  • 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库移转到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local)
  • 在全网查找了一晚上也找不到解决方案,百思不得其解,第二天睡醒上厕所突然来了灵感,现在我们来搞一搞,以下资源方为被共享资源的小程序,调用方为调用资源的小程序 先上官方文档...
  • MySQL数据库面试题(2020最新版)

    万次阅读 多人点赞 2020-03-10 17:20:40
    数据库三大范式是什么mysql有关权限的表都有哪几MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4...
  • “Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和/或 MongoDB 等不同类型的数据库,并支持管理某些云数据库,例如阿里云、‎腾讯云。...
  • 微信小程序的云开发功能十分方便,无需自己搭建服务器即可实现后台数据服务的管理。...由于每微信公众平台账号只能发布一小程序,因此无法共用云开发环境。此时就需要进行云函数跨云开发调用。
  • 数据库操作库(mysql,redis,memcache API封装可直接调用),开发框架库(消息调度处理,自动连接管理,服务开发,游戏框架,服务间消息收发,消息通信等等),消息中间件服务(不同网络路由器间自动传递收发消息)...
  • SaaS-租户SaaS平台的数据库方案

    千次阅读 2019-12-27 15:29:30
    第2章 数据库设计与前端框架 1 多租户SaaS平台的数据库方案 1.1 多租户是什么 多租户技术(Multi-...简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租...
  • 前面的博文说了,多租户其实就是把一套系统,提供给多个用户用,让每个用户都像拥有自己的一套系统一样, 这样我们就可以把一套系统部署在我们自己这里,然后我们给某个来购买我们系统服务的商户,分个账号,他们就可以,...
  • 数据库多租户数据隔离设计

    千次阅读 2020-08-03 11:30:09
     什么是多租户 多租户问题,简单来说,是一种架构设计方式,就是在一台或者一组服务器上运行的saas系统,可以为多个租户(客户)提供服务,目的是为了让多个租户在互联网环境下使用同一套程序,且保证租户间的数据...
  • 租户SaaS平台的数据库方案

    千次阅读 2019-02-24 18:14:14
    多租户SaaS平台的数据库方案 1.1 多租户是什么 多租户技术(Multi-...简单讲: 在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架 构,目的是为了让多用...
  • 理解租户的数据库设计方案 熟练使用PowerDesigner构建数据库模型 理解前端工程的基本架构和执行流程 完成前端工程企业模块开发 1 租户SaaS平台的数据库方案 1.1 租户是什么 租户技术(Multi-...
  • 数据库发展和展望二、使用C语言实现一简单的数据库三、使用C语言连接数据库四、SQL语言和MySQL教程1.SQL是什么1) DDL - Data Definition Language,数据定义语言2) DML - Data Manipulation Language,数据处理...
  • MySQL Workbench 不仅可以直接在软件中设计数据库 ER 实体关系图,而且还可以直接通过这实体关系图,自动创建 MySQL 数据库(正向工程),也可以反过来,通过已有的 MySQL 数据库,生成 ER 图(逆向工程),当然,...
  • 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库移转到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),...
  • 关系型数据库的发展历史

    千次阅读 2019-03-12 23:15:03
    数据库发展史 信息系统产生了海量的数据,有数据必须要有数据的存放位置, 无库时代 :没有专门的...非关系型数据库:为适应水平扩展性和处理超大量的数据环境,近几年发展非常迅速的发展,衍生类型非常。 本...
  • 云原生数据库介绍

    千次阅读 2022-01-22 22:46:29
    文章目录数据库系统发展行业趋势:云原生+分布式云原生概念数据库在云原生时代面临的挑战云原生数据库具有的主要技术特点1. 分层架构2. 资源解耦与池化3. 弹性伸缩能力4. 高可用与数据一致性5. 租户与资源隔离6. ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,446
精华内容 35,778
关键字:

多个客户共享同一套数据库

友情链接: CSharp.rar