CN112912870A - 租户标识符的转换 - Google Patents

租户标识符的转换 Download PDF

Info

Publication number
CN112912870A
CN112912870A CN201980051015.1A CN201980051015A CN112912870A CN 112912870 A CN112912870 A CN 112912870A CN 201980051015 A CN201980051015 A CN 201980051015A CN 112912870 A CN112912870 A CN 112912870A
Authority
CN
China
Prior art keywords
record
tenant identifier
tenant
value
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980051015.1A
Other languages
English (en)
Other versions
CN112912870B (zh
Inventor
T·方哈内尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Salesforce Inc
Original Assignee
Salesforce com Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Salesforce com Inc filed Critical Salesforce com Inc
Publication of CN112912870A publication Critical patent/CN112912870A/zh
Application granted granted Critical
Publication of CN112912870B publication Critical patent/CN112912870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了用于转换租户标识符的系统、设备和技术。可以接收记录。可以根据记录的键或扫描描述符来确定该记录的租户标识符的值。用租户标识符的新值替换记录的键中的租户标识符的值。存储在记录的记录头中的位图可以用于标识存储该租户标识符的编码值的记录列。可以将该租户标识符的编码新值存储在由记录头中存储的位图所标识的列中,该列包括指示启用租户标识符转换的属性。

Description

租户标识符的转换
背景技术
多租户数据库中的记录可以包括租户标识符,该租户标识符指示拥有记录的租户。在某些情况下,属于租户的记录可能需要将其包含的租户标识符替换为新租户标识符。对于一组记录,将已存储在记录中的租户标识符转换为新租户标识符可能是计算密集型的。
附图说明
为了提供对所公开主题的进一步理解而包括的附图被并入本说明书中并构成本说明书的一部分。附图还示出了所公开主题的实施方式,并且与详细描述一起用于解释所公开主题的实施方式的原理。没有试图示出比基本理解所公开主题和可以实践的各种方式所必须的结构细节更多的细节。
图1示出了根据所公开主题的实施方式的用于转换租户标识符的示例系统。
图2A示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。
图2B示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。
图2C示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。
图3示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。
图4示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。
图5A示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。
图5B示出了根据所公开主题的实施方式的适于转换租户标识符的示例布置。
图5C示出了根据所公开主题的实施方式的适于转换租户标识符的示例布置。
图6示出了根据所公开主题的实施方式的适于转换租户标识符的示例布置。
图7示出了根据所公开主题的实施方式的适于转换租户标识符的示例步骤。
图8示出了根据所公开主题的实施方式的适于转换租户标识符的示例步骤。
图9示出了根据所公开主题的实施方式的计算机。
图10示出了根据所公开主题的实施方式的网络配置。
具体实施方式
本文公开的技术能够转换租户标识符,这可允许更有效地转换用于识别数据库记录的所有者的租户标识符。包括存储租户标识符的值的租户标识符列的记录可将租户标识符的值从该租户标识符列中移除。如果该租户标识符的值存储在该记录的不是该租户标识符列的列中,例如以编码形式,则可创建位图,该位图可指示记录的哪些列存储该租户标识符的值。然后可从存储该租户标识符的值的记录的列中移除该租户标识符的值。租户标识符的值和位图可存储在记录的记录头中。该记录还可以包括可在多租户数据库中标识该记录的键。记录的键可包括该租户标识符的值。当已经将其的租户标识符的值从列中移除的记录被解包时,该租户标识符的值可从该记录的键中检索,也可从标识记录的查询的扫描描述符中检索。当需要对记录进行租户标识符转换时,该记录的键中的租户标识符的值可替换为新的值。该记录头中的位图可用于标识记录的先前已经存储了租户标识符的值的列。可检查该标识的列的元数据,以确定这些列是否已经启用了租户标识符转换。租户标识符的新值可用作由位图标识的那些列的值,该位图的元数据指示启用了租户标识符转换。由该位图标识的列(其元数据指示它们不需要租户标识符转换)可将从该记录的记录头中获取的租户标识符的值用作其列值。
租户标识符可用于标识存储在数据库系统中的记录的所有者。分配给租户的租户标识符的值可用作存储在数据库系统中的属于租户所有记录的键的一部分。租户标识符的值可以用字母数字字符串来表示。
如果数据库系统是多租户数据库系统,则可为每个租户分配唯一的租户标识符。多租户可允许各种租户(例如用户、用户组或组织)通过数据库系统上的软件工具或实例访问数据库系统中其自身的记录,可以在各种租户之间共享这些软件工具或实例。每个租户的记录可以是该租户的记录集的一部分。例如数据库可以是关系数据库、层次数据库或任何其他适当的数据库类型。存储在数据库系统中的所有记录可以存储在任何适当的结构中,包括例如日志结构合并(LSM)树。
存储在数据库系统中的记录可包括键。该键可以是用于记录的标识符,例如主键,并且可采用任何适当的形式,例如字母数字序列。键的某些部分可提供有关记录的信息。例如,键的一部分是用于记录所属的租户的租户标识符的值。例如,当记录的值是行的内容时,可标识键的其他部分,例如,表号和行的标识。
记录可以包括值。记录中的值可以是,例如,关系数据库的表的行中列的内容,存储为每列一个值的元组。存储为元组的值可使用例如二进制编码来编码。一些记录可以将拥有元组中编码的记录的租户的租户标识符的值存储为租户标识符的编码值。租户标识符的编码值可以存储在例如记录的租户标识符列中。租户标识符的编码值也可以存储在记录的其他列中,这些列可以不是租户标识符列。
在某些情况下,可能需要转换记录的租户标识符。租户标识符转换可以用新租户标识符的新值替换记录中的租户标识符的值。例如,当复制租户的记录集中的记录以创建租户的记录集中的所有或部分的克隆时,例如,对于沙盒,租户标识符转换可用于为将新租户标识符分配给复制的记录。这可以允许租户独立于被克隆的租户的记录集中的记录,使用沙盒数据库中的记录。
为了允许更有效的租户标识符转换,可以修改存储在数据库系统中的记录。记录可以从其租户标识符列中移除租户标识符的编码值。租户标识符列的属性号可以存储在记录的记录头中。可以在记录头中设置记录类型指示符。记录类型指示符可以是可以被设置为1或真(true)的位,以指示该记录已经从其租户标识符列中移除了租户标识符的编码值。还将租户标识符的编码值存储在除了租户标识符列以外的列中的记录可以具有生成的位图。为记录生成的位图可以指示记录的哪些列存储租户标识符的编码值。然后可以从存储租户标识符编码值的记录的列中移除租户标识符的编码值。租户标识符的编码值和位图可以存储在记录的记录头中。可以在记录头中设置位图指示符,以指示位图和租户标识符的编码值两者的存在。位图指示符可以是设置为1或真的位,以指示记录头存储位图和租户标识符的编码值。这可能导致记录在其列中不存储租户标识符的值或租户标识符的编码值。
位图可以是任何适当的形式。例如,记录的位图可以存储为二进制字符串,其位数等于或小于记录中的列数。二进制字符串的每一位可以对应于记录的一列,因此对于记录的每一列,或者对于不是租户标识符列的每一列,二进制字符串中可以有一位。当生成位图时,当列存储租户标识符的编码值时,与该列对应的位可以设置为1,且当列不存储租户标识符的编码值时,与该列对应的位可以设置为0。
例如,当记录被打包到其内存储(in-storage)表示时,可以修改记录以从记录的列中移除租户标识符的值,其可以在写入数据库系统的持久性存储器之前。
当将从其列中移除了租户标识符的编码值的记录从持久性存储器读取到数据库系统的工作存储器时,可从记录的键,或从标识记录的查询的扫描描述符中检索要与记录的租户标识符列一起使用的租户标识符的值。例如,记录的键可以是字母数字字符串,其可以包括作为一部分的拥有记录的租户的租户标识符的值。可以从记录的键中检索租户标识符的值。提交到数据库系统的查询的扫描描述符还可以包括拥有数据库中的记录的租户的租户标识符的值,将针对该租户运行查询以查找响应记录。扫描描述符可以从例如在数据库系统上运行的执行器接收租户标识符的值。租户标识符的值可以从记录响应的查询的扫描描述符中检索。当记录在数据库系统的工作存储器中时,可以对从键或扫描描述符检索的租户标识符的值进行编码,并且租户标识符的所得的编码值可以用于填充记录的租户标识符列。记录的租户标识符列可以通过存储在记录头中的租户标识符列的属性号来标识。如果记录的记录头存储位图,则当记录在工作存储器中时,可以使用租户标识符的编码值来填充由位图标识为先前已存储了租户标识符的编码值的列。当记录在被传输到持久性存储器之前被打包到工作存储器中时,租户标识符的编码值可能会再次从租户标识符列和在记录被打包之前存储它的任何其它列中移除。
当需要对记录进行租户标识符转换时,可以用新租户标识符的新值替换记录的键中的租户标识符的值。例如,记录的键可以由数据库系统的执行器重写,用租户标识符的新值替换租户标识符的值。这可能会改变被数据库系统标识为记录的所有者的租户,以及该记录所属的租户记录集。例如,当克隆租户的记录集用于沙盒时,从租户的记录集复制的以形成沙盒数据库的记录可能需要新租户标识符,以允许沙盒数据库中的记录与租户的记录集中的记录分开使用。租户标识符的新值可以用于替换沙盒数据库中的记录的键中的租户标识符的值。当已经用租户标识符的新值重写其键的记录被读入工作存储器时,数据库系统可以对租户标识符的新值进行编码,并使用租户标识符的编码新值来填充记录的租户标识符列。记录的租户标识符列可以通过存储在记录的记录头中的表标识符列的属性号来标识。
当记录被复制到数据库系统的工作存储器时,数据库系统的执行器可以填充先前已经存储租户标识符的编码值的记录的列。记录中这类列的存在可以由记录头中的位图指示符位的值来指示,该值可以例如设置为1,以指示记录头中位图和租户标识符的编码值的存在。存储在记录的记录头中的位图可用于标识存储了租户标识符的编码值的列。对于位图指示先前已存储了租户标识符的编码值的记录的列,可以访问用于该列的元数据以确定是否为该类型的列启用了租户标识符转换。
列的元数据可能是数据库系统的系统目录的一部分。例如,列的类型可以存储在系统目录中。系统目录可以包括用于所有类型的列的元数据,其可以包括,例如布尔变量形式的指示,指示是否针对该类型的列启用租户标识符转换。对于作为数据库系统中辅助索引部分的任何类型的列,都可能无法启用租户标识符转换。
如果元数据指示对于由记录的位图标识的列的列类型启用了租户标识符转换,则数据库系统的执行器可以从键或扫描描述符中检索租户标识符的新值,以被编码并填充为该列的值。如果元数据指示未对位图标识的列的列类型启用租户标识符转换,则数据库系统的执行器可以从记录头中检索租户标识符的编码值,以用作该列的值。即使已用新租户标识符的新值替换了键中的租户标识符的值,来自记录头的租户标识符的编码值也可以是租户标识符的原始值的编码。这可以允许在先前已存储了租户标识符的原始值的编码的记录的列中使用租户标识符的适当值,或是原始值,或者是新值,并且不再将租户标识符的任何值存储在持久性存储器中的记录的副本中。
对于由记录头中的位图标识的记录的列,例如,由于该列是辅助索引的一部分,其属于未启用租户标识符转换的列类型,数据库应用程序可以确定是否应用租户标识符转换。数据库应用程序可以是用于与数据库系统进行交互的应用程序。例如,运行数据库应用程序的计算设备可以由租户使用来访问其在数据库系统中的数据库。
在一些实施方式中,可能存在常规数据库索引,其可以用于定位可能需要租户标识符转换的记录,或者可能需要租户标识符转换的记录的数量可能很小,例如,因为它们可能是数据库的小表的记录。当记录包含可能无法启用转换的列(例如,在辅助索引中使用的列)时,可以使用常规数据库索引。数据库系统可以实施更新命令,该更新命令可以更新可能需要租户标识符转换的记录,然后将具有记录的沙盒数据库(可从租户原始记录中克隆)提供给用户,例如,通过数据库应用程序访问。更新命令可以通过遍历由常规数据库索引所索引的记录的所有列或者可能需要租户标识符转换的所有记录,并且用租户标识符的编码的新值替换列中匹配租户标识符编码值的任何值来执行租户标识符转换。
图1示出了根据所公开主题的实施方式的转换租户标识符的示例系统。数据库系统100可包括任何适当的计算设备,例如,如图9所示的计算机20或其组件,用于转换租户标识符。数据库系统100可以实施在笔记本电脑、台式机、单个服务器、服务器集群、服务器场或分布式服务器系统上,或者可以实施为虚拟计算设备或系统,或者物理和虚拟系统的任何适当组合。数据库系统100可以是计算系统和网络基础设施的一部分,或者可以以其他方式连接到计算系统和网络基础设施,包括可以包括其他服务器系统的较大的服务器网络。例如,数据库系统100可以包括任意数量的服务器系统,这些服务器系统可以彼此通信并且可以以任何适当的方式通信。例如,数据库系统100的服务器系统可以通过任何适当的网络连接,该网络可以是LAN和WAN的任何适当组合,包括专用网络和互联网的任何组合。数据库系统100可以包括数据库执行器110和存储器140。存储器140可以包括持久性存储器142和工作存储器144。记录150和系统目录160可以被存储在持久性存储器142中。
数据库执行器110可以是数据库系统100的硬件和软件的任何适当组合,用于与存储在数据库系统100上的数据库进行交互和管理。例如,数据库系统100可以是,例如多租户数据库系统,其可以存储针对多租户的数据库。记录150可以包括针对数据库系统100的多个租户的数据库的记录。数据库执行器110可能够基于接收到的具有扫描描述符的查询从租户的记录150检索记录,并且可能够操作来自记录150的记录。例如,数据库执行器110可能够将记录从持久性存储器142复制到工作存储器150,用新值更新记录,将记录从工作存储器150合并回持久性存储器142,并且例如,在创建沙盒数据库期间克隆租户的记录集时,在记录150中创建新的记录的副本。
持久性存储器142可以是用于数据的持久性存储的硬件和软件的任何适当组合,例如记录150和系统目录160。例如,持久性存储器142可以包括硬盘驱动器、固态驱动器或其他形式的持久性数据存储器。持久性存储器142可以分布在任意数量的计算设备上。工作存储器144可以是用于存储数据的硬件和软件的任何适当组合,该数据可以是持久性的或非持久性的,并且可以用于允许来自记录150的记录在持久性存储器142的外部操作。例如,工作存储器144可以包括硬盘驱动器、固态驱动器、随机存取存储器或其他形式的数据存储器,其可以是持久性的或非持久性的。
记录150可以包括用于数据库系统100的各种租户的数据库的记录。记录150中的记录可以包括用于标识记录的所有者的租户标识符。可以将分配给租户的租户标识符用作存储在数据库中的属于该租户的所有记录的键的一部分。租户标识符的值可以表示为,例如字母数字字符串。可以向数据库系统100的每个租户分配唯一租户标识符。多租户可允许各种租户(例如,用户、用户组或组织),通过数据库系统100上可在各种租户之间共享的软件工具或实例,来访问其在数据库系统100中的自己的记录。每个租户的记录集,包括存储在记录150中的记录,可以是,例如关系数据库、层次数据库或任何其他适当的数据库类型。记录150可以以任何适当的结构存储在数据库系统100的持久性存储器142中,包括例如日志结构合并(LSM)树。这些记录可以不可变地存储,因此在创建记录之后对记录的更新会导致创建记录的新版本,而不会对所存储的记录的先前版本进行任何更改。
存储在数据库系统100中的来自记录150的记录可以包括键。键可以是用于记录的标识符,例如主键,并且可以是任何适当的形式,例如字母数字序列。键的一部分可以提供有关记录的信息。例如,键的一部分可以是用于拥有该记录的租户的租户标识符。例如,当记录的值是行的内容时,键的其他部分可以标识,例如表号和行的标识。
记录可以包括值。记录中的值可以是,例如,关系数据库的表的行中列的内容,存储为每列一个值的元组。存储为元组的值可使用例如二进制编码来编码。一些记录可以存储拥有元组中的记录的租户的租户标识符的编码值。租户标识符的编码值可以存储在例如记录的租户标识符列中。租户标识符的编码值也可以存储在记录的除租户标识符列之外的其他列中。
系统目录160可以包括存储在数据库系统100中的用于租户记录集的元数据。例如,系统目录160可以包括元数据,该元数据描述用于租户的记录集的记录150的记录中使用的各种列类型的属性。系统目录160可以包括存储在数据库系统100中的租户的记录集的元数据。例如,系统目录160可以包括元数据,该元数据描述租户的记录集的记录150的记录中使用的各种列类型的属性。
图2A示出了根据所公开主题的实施方式的转换租户标识符的示例布置。例如,响应于对数据库系统100的查询,数据库执行器110可以将来自记录150中的记录200复制到工作存储器144中。数据库执行器110可以解包记录200,例如,将记录200的元组展开为列。记录200可以包括键210、记录头220和值230。键210可以是用于标识租户的记录集中的记录200的键,并且可以包括租户标识符211和键数据212。租户标识符211可以是拥有记录200的租户的租户标识符211的值。键数据212可以是键210中包括的其他数据,例如,记录200的表的表号和行的标识。键211可以以字母数字字符串的形式存储,该字符串可以是租户标识符211和键数据212的结合。
记录头220可以是记录200的一部分,记录头220可以存储值230之外的记录200的元数据和其他附加数据。例如,记录头200可以包括指示符,例如,作为可以设置为1或真、或0或假的位,以指示记录200的属性。
记录200的值230可包括存储在记录200的列中的值。值230可形成元组。记录200的列可以基于记录200所属的租户的记录集的表的列,例如,如在键数据212中标识的。例如,这些列可以是租户标识符列231和数据列232、233、234和235。租户标识符列231可以是存储编码的租户标识符241的列,其可以是租户标识符211的值的编码。该编码可以是,例如二进制编码。数据列232、233、234和235可以是存储记录的各种类型的数据的列,例如,固定长度或可变长度的字符串,或数字。例如,数据列232可以存储列值242,列值242可以是诸如字符串或数字的值的编码。数据列235可以存储列值245,列值245可以是诸如字符串或数字的值的编码。在租户的记录150的一些记录中,租户标识符的编码值可以存储在该记录中不是租户标识符列的列中。例如,除了租户标识符列241之外,记录200还可以在数据列233和234中存储编码的租户标识符231。
图2B示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。数据执行器110可以将工作存储器144中的记录(例如记录200)转换为允许在记录被打包并存储在持久性存储器142中之前更有效地转换租户标识符的格式。数据库执行器110可以从租户标识符列231中移除编码的租户标识符241,使得租户标识符列231存储的值可以是空值。数据库执行器110可以将租户标识符列属性号221存储在记录头220中。租户标识符列属性号221可用于标识值230中的租户标识符列231。数据库执行器110可以将记录类型指示符222设置为1或真。记录类型指示符222可以是指示符,例如位,其可以用于指示记录200何时已从租户标识符列231中移除编码的租户标识符241。如果记录200在值230中的任何其他列中不包括编码的租户标识符241,则数据库执行器110随后将记录200打包以与记录150一起存储在持久性存储器142中。
图2C示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。数据库执行器110可以检查值230中的其余列,以确定是否有任何列存储编码的租户标识符241。数据库执行器110可以发现编码的租户标识符241存储在数据列233和数据列234中。数据库执行器110可以从数据列233和数据列234中移除编码的租户标识符241,使得这两列都可以存储空值。数据库执行器110可以将编码的租户标识符241写入记录200的记录头220中。数据库执行器可以生成位图224。
位图224可以标识记录200的值230中存储了编码的租户标识符241的租户标识符列231之外的列。例如,记录200的位图224可以是00110,指示第三列和第四列(数据列233和数据列234)是存储了编码的租户标识符241的租户标识符列231之外的列。位图224可以被写入记录头220。
数据库执行器110可以将位图指示符225设置为1或真。位图指示符225可以是,例如可以指示记录头220是否存储位图(例如位图224)和租户标识符的编码值(例如编码的租户标识符241)的位。
图3示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。在改变记录200的格式之后,数据库执行器110可以打包记录200并将其与记录150一起存储在数据库系统100的持久性存储器142中。可以将记录200从工作存储器144中移除。
图4示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。可以克隆数据库系统100中的租户的记录集,例如,以创建沙盒数据库。数据库执行器110可以将租户的记录集的记录从持久性存储器142中的记录150复制到工作存储器144。例如,数据库执行器110可以将记录200作为记录400复制到工作存储器中。当记录200作为记录400复制到工作存储器中时,可以扩展记录200中的打包数据,例如,包括用于值230的值的元组。
图5A示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。记录400可以是记录200的副本,并且可以包括键410、记录头420和值430。键410可以是键210的副本,包括租户标识符211和键数据212。记录头420可以是记录头220的副本,包括租户标识符属性号221、记录类型指示符222、编码的租户标识符241、位图224和位图指示符225。值430可以是值230的副本,包括存储空值的租户标识符列231、存储列值242的数据列232、存储空值的数据列233、存储空值的数据列234和存储列值245的数据列235。
图5B示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。数据库执行器110可以执行记录400的租户标识符的转换,以便准备在沙盒数据库中使用记录400,该记录400是从包括记录200的租户的记录集的记录克隆的。可能需要转换租户标识符,以防止沙盒数据库中的记录与为创建沙盒数据库而克隆的租户的记录集中的记录之间发生冲突。
数据库执行器110可以从键410或从数据库系统100接收到的查询中的扫描描述符确定拥有记录200的租户的租户标识符的值,其中记录400是记录200的副本,并且记录200响应用于定位要克隆的记录的扫描描述符以创建沙盒数据库。然后,数据库执行器110可以使用租户标识符的新值(例如,新租户标识符411)来替换键410中的租户标识符的值(例如,租户标识符211)。新租户标识符411可以是租户标识符的值,该值不同于租户标识符211的值,指示新租户拥有记录400。由新租户标识符411指示的新租户可以是与由租户标识符211指示的租户相同的实体,例如相同的用户、用户组或组织,或者可以是不同的实体。例如,整个组织可以由租户标识符211表示,而仅该组织的子集可以由租户标识符411指示。这可以允许对实体,包括人员和组织,进行控制,这些实体可以访问沙盒数据库,该数据库是现有租户的记录集的克隆,从而将对沙盒数据库和租户的记录集的访问分开。
数据库执行器110可以检查位图指示符225。如果位图指示符225被设置为0或假,则数据库执行器110可以完成记录400的租户标识符的转换。然后,数据库执行器110可以对新租户标识符411进行编码,并将编码存储在使用租户标识符列属性号221标识的租户标识符列231中,并使记录400可用于作为沙盒数据库的一部分。
图5C示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。数据库执行器110可以检查记录头420中的位图指示符225。位图指示符225可以设置为1或真,指示记录头420存储位图和编码的租户标识符两者。
数据库执行器110可以检查位图224,其可以是,例如00110,以确定值430中的哪些列先前已存储了编码的租户标识符241。数据库执行器110可以确定数据列233和数据列234先前已存储了编码的租户标识符241。数据库执行器110可以检查来自系统目录160的列元数据,以确定是否为数据列233和数据列234的列类型启用或禁用租户标识符转换。列元数据可以指示数据列233的列类型启用租户标识符转换,但是对于数据列234的列类型禁用租户标识符转换。数据库执行器110可以在数据列233中存储租户标识符的编码的新值,新标识符411,作为编码的新租户标识符441。
数据库执行器可以从记录头420复制编码的租户标识符241,并将编码的租户标识符241写入数据列234。数据库执行器还可以将编码的新租户标识符441写入租户标识符列231,租户标识符列231可以使用租户标识符列属性号221来标识。这可以完成可在数据库系统100上执行的记录400的租户标识符的转换部分,而不会导致数据库损坏。记录400可以由例如可用于与数据库系统400交互的数据库应用程序访问。
图5D示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。数据库执行器110可以通过从租户标识符列231和数据列233中移除编码的新租户标识符441,并且从数据列234中移除编码的租户标识符241来准备记录400,用于将其打包并与记录150一起存储在持久性存储器142中。数据库执行器110还可以重新生成位图224。例如,可以基于记录400的在租户标识符列231之外的列中的编码的新租户标识符441的副本出现来重新生成位图224。
图6示出了根据所公开主题的实施方式的用于转换租户标识符的示例布置。数据库执行器110在完成记录400的租户标识符的转换之后,可以打包记录400并将其与记录150一起存储在数据库系统100的持久性存储器142中。记录400可以从工作存储器144中移除。
图7示出了根据所公开主题的实施方式的适于转换租户标识符的示例步骤。在702处,租户标识符的编码值可以从记录的租户标识符列中移除。例如,数据执行器110可以将记录200从持久性存储器142复制到工作存储器144,并且可以从租户标识符列231移除编码的租户标识符241。
在704处,如果租户标识符的编码值存储在记录的任何附加列中,则流程可以前进到706。否则,流程可以前进到714,其中可以设置记录的记录类型指示符。例如,数据库执行器110可以检查记录200的值230的列,以确定是否仍然有任何列存储编码的租户标识符241。
在706处,可以生成标识存储租户标识符的编码值的列的位图。例如,数据库执行器110可以生成位图224,其可以将记录200的数据列233和数据列234标识为存储编码的租户标识符241。
在708处,可将租户标识符的编码值从任何存储了该租户标识符的编码值的附加列中移除。例如,数据库执行器110可以从记录200的数据列233和234中移除编码的租户标识符241。
在710处,可以将位图和租户标识符的编码值存储在记录头中。例如,数据库执行器110可以将位图224和编码的租户标识符241写入记录200的记录头220。
在712处,可将记录头中的位图指示符设置为真。例如,数据库执行器110可以将记录头220中的位图指示符225设置为1或真,以指示位图224和编码的租户标识符241都存储在记录200的记录头220中。
在714处,可将记录头中的记录类型指示符设置为真。例如,数据库执行器110可以将记录类型指示符222设置为1或真,以指示记录200已从其存储在记录200的值230中的所有列中移除了编码的租户标识符241。
图8示出了根据所公开主题的实施方式的适于转换租户标识符的示例步骤。在802处,可以确定租户标识符的值。例如,数据库执行器110可能已经将记录200作为记录400复制到工作存储器144中,作为租户的记录集的克隆的一部分,以创建沙盒数据库。数据库执行器110可以执行记录400的租户标识符的转换,以准备在沙盒数据库中使用。数据库执行器110可以通过例如从键410读取租户标识符211,或者从记录200响应的查询中使用的扫描描述符检索租户标识符211,来确定租户标识符211。
在804处,可将租户标识符的值与租户标识符的新值一起放置在键中。例如,数据库执行器110可将键410中的租户标识符211替换为新租户标识符411。新租户标识符411可以是将用于沙盒数据库的新租户标识符的新值,沙盒数据库可以包括记录400作为记录200的副本。
在806处,如果在记录头中设置了位图指示符,则流程可以前进到808。否则,流程可以前进到808,其中可用租户标识符的新值的编码填充租户标识符列。例如,数据库执行器110可以检查记录头430中的位图指示符225,以确定位图指示符225是否被设置为真或1、或者被设置为假或0。
在808处,可用来自记录头的租户标识符的编码值来填充在位图中标识的并且未启用转换的列。例如,数据库执行器110可以检查用于数据列233和数据列234的元数据,数据列233和234可以由位图224指示为先前已存储了编码的租户标识符241。元数据可以指示为数据列234不启用租户标识符转换。数据库执行器110可以从记录头220复制编码的租户标识符241,并将其写入数据列234。
在810处,可用租户标识符的编码新值来填充在位图中标识并且启用了转换的列。例如,数据库执行器110可以检查用于数据列233和数据列234的元数据,数据列233和234可以由位图224指示为先前已存储了编码的租户标识符241。元数据可以指示为数据列233启用了租户标识符转换。数据库执行器110可以从例如键410或保存在存储器中的键410对新租户标识符211进行编码,并且将编码的新租户标识符241写入数据列233。
在812处,可用租户标识符的新值来填充租户标识符列。例如,数据库执行器110可以将编码的租户标识符241写入租户标识符列231,租户标识符列231可以基于记录头220中的租户标识符列属性号221来标识。
本公开主题的实施方式可以在各种组件和网络架构中实施并与之一起使用。图9是适于实施本公开主题的实施方式的示例计算机20。如本文进一步详细讨论的,计算机20可以是多台计算机网络中的单个计算机。如图9所示,计算机可以与中央组件30(例如,服务器、云服务器、数据库等)通信。中央组件30可以与诸如第二计算机31的一个或多个其他计算机通信。根据该实施方式,可以为每台计算机隔离从中央组件30和/或从中央组件30获得的信息,使得计算机20可以不与计算机31共享信息。替代地或可附加地,计算机20可以直接与第二计算机31通信。
计算机(例如,用户计算机、企业计算机等)20包括总线21,该总线21互连计算机20的主要组件,例如中央处理器24、内存器27(通常为RAM,但也可以包括ROM、闪存RAM等)、输入/输出控制器28、用户显示器22(例如,经由显示适配器的显示器或触摸屏)、用户输入接口26(其可以包括一个或多个控制器和相关联的用户输入或诸如键盘、鼠标、WiFi/蜂窝无线电、触摸屏、麦克风/扬声器等设备),并且可以与I/O控制器28、固定存储器23(例如硬盘驱动器、闪存、光纤通道网络、SAN设备、SCSI设备等)以及可移动介质组件25(可操作为控制和接收光盘、闪存驱动器等)紧密耦合。
总线21使得能够在中央处理器24和内存器27之间进行数据通信,如前面所述,内存器27可以包括只读存储器(ROM)或闪存(均未示出)以及随机存取存储器(RAM)(未示出)。RAM可以包括主存储器,操作系统和应用程序被加载到主存储器中。ROM或闪存可以包含(除其他代码外)基本的输入输出系统(BIOS),BIOS控制基本硬件操作,例如与外围组件的交互。驻留在计算机20中的应用程序可以存储在计算机可读介质上并经由计算机可读介质访问,例如硬盘驱动器(例如,固定存储器23)、光盘驱动器、软盘或其他存储介质25。
固定存储器23可与计算机20集成,或者可以是分开的,并且可以通过其他接口访问。网络接口29可以提供经由电话链路到远程服务器的直接连接、提供经由互联网服务提供商(ISP)到互联网的直接连接、或者提供通过经由存在点(POP)或其他技术链接到互联网的直接网络到远程服务器的直接连接。网络接口29可以使用无线技术提供这种连接,包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等。例如,如图10所示,网络接口29可以使计算机能够经由一个或多个局域网、广域网或其他网络与其他计算机通信。
可以以类似的方式连接许多其他设备或组件(未示出)(例如,文档扫描仪、数码相机等)。相反地,图9中所示的组件不必全部存在以实施本发明。这些组件可以以不同的方式互连。如图9所示的计算机的操作在本领域中是容易知道的,并且在本申请中不详细讨论。用于实施本发明的代码可以存储在计算机可读存储介质中,例如内存器27、固定存储器23、可移动介质25中的一个或多个,或者存储在远程存储位置上。
图10示出了根据所公开主题的实施方式的示例网络布置。诸如计算机、微型计算机、本地计算机、智能电话、平板计算设备、企业设备等的一个或多个客户端10、11可以经由一个或多个网络7(例如,配电网络)连接到其他设备。该网络可以是局域网、广域网、互联网或任何其他适当的通信网络,并且可以在包括有线和/或无线网络的任何适当的平台上实现。客户端可以与一个或多个服务器13和/或数据库15通信。这些设备可以由客户端10、11直接访问,或者一个或多个其他设备可以提供中间访问,例如服务器13提供对存储在数据库15中的资源的访问。客户端10、11还可以访问远程平台17或由远程平台17提供的服务,例如云计算布置和服务。远程平台17可以包括一个或多个服务器13和/或数据库15。来自或关于第一客户端的信息可以被隔离到该客户端,使得例如,关于客户端10的信息可以不与客户端11共享。替代地,来自或关于第一客户机的信息可以在与另一客户端共享之前被匿名化。例如,关于客户端10的任何客户端标识信息可以从提供给客户端11的与客户端10有关的信息中移除。
更一般地,本公开主题的各种实施方式可以包括或以计算机实现的过程和用于实现这些过程的装置的形式来实施。也可以以计算机程序产品的形式来实施,该计算机程序产品具有包含在非暂时性和/或有形介质(例如软盘、CD-ROM、硬盘驱动器、通用串行总线(USB)驱动器或任何其它机器可读存储介质)中实施的指令的计算机程序代码,其中,当计算机程序代码被加载到计算机中并由计算机执行时,计算机成为用于实践所公开主题的实施方式的装置。实施方式还可以以计算机程序代码的形式来实现,例如,无论是存储在存储介质中、加载到计算机中和/或由计算机执行,还是通过一些传输介质(例如通过电线或电缆)、通过光纤或通过电磁辐射来传输,其中当计算机程序代码被加载到计算机中并由计算机执行,计算机成为用于实践所公开主题的实施方式的装置。在通用微处理器上实施时,计算机程序代码段将微处理器配置为创建特定的逻辑电路。在一些配置中,存储在计算机可读存储介质上的一组计算机可读指令可以由通用处理器实施,通用处理器可以将通用处理器或包含通用处理器的设备转换为被配置为实施或执行指令的专用设备。可以使用硬件来实施实施方式,该硬件可包括处理器,例如通用微处理器和/或专用集成电路(ASIC),其根据所公开主题的硬件和/或固件的实施方式来实施全部或部分技术。处理器可以耦合到存储器,例如RAM、ROM、闪存、硬盘或能够存储电子信息的任何其他设备。存储器可存储适于由处理器执行的指令,以执行根据所公开主题的实施方式的技术。
为了说明的目的,已经参考具体实施方式来描述了前述描述。然而,以上说明性讨论并不旨在穷举或将所公开主题的实施方式限制为所公开的精确形式。鉴于上述教导,许多修改和变化是可以的。选择并描述实施方式是为了解释所公开主题的实施方式的原理及其实际应用,从而使本领域的其他技术人员能够利用这些实施方式以及具有各种修改的各种实施方式,这些修改可能适合于预期的特定用途。

Claims (22)

1.一种计算机实现的方法,包括:
接收记录;
从所述记录的键和扫描描述符中的至少一个确定所述记录的租户标识符的值;
用所述租户标识符的新值替换所述记录的所述键中的所述租户标识符的所述值;
使用存储在所述记录的记录头中的位图,标识存储了所述租户标识符的编码值的所述记录的一列或多列;以及
将所述租户标识符的编码新值存储在由所述记录头中存储的所述位图所标识的所述一列或多列的列中,所述列包括指示启用租户标识符转换的属性。
2.根据权利要求1所述的计算机实现的方法,其中,所述位图包括所述记录的列的指示,所述记录的列存储了所述租户标识符的所述编码值。
3.根据权利要求1所述的计算机实现的方法,其中,所述租户标识符的所述编码值存储在所述记录头中,并且还包括将所述租户标识符的所述编码值存储在所述一列或多列的一列中,所述列既由所述位图标识又包括指示租户标识符转换被禁用的属性。
4.根据权利要求1所述的计算机实现的方法,其中,所述记录是从多租户数据库系统的持久性存储器中接收的。
5.根据权利要求1所述的计算机实现的方法,其中,所述记录被解包到多租户数据库系统的工作存储器中。
6.根据权利要求1所述的计算机实现的方法,其中,所述记录是从由所述租户标识符的所述值标识的租户所有的数据库中克隆的沙盒数据库的一部分,并且其中,所述沙盒数据库由所述租户标识符的所述新值标识的租户所有。
7.一种计算机实现的方法,包括:
接收记录;
从所述记录的租户标识符列中移除租户标识符的编码值;
确定所述租户标识符的所述编码值存储在所述记录的至少另一列中;
生成标识所述记录的列的位图,所述位图中存储了所述租户标识符的所述编码值;
从由所述位图标识的所述记录的所述列中移除所述租户标识符的所述编码值;以及
将所述位图和所述租户标识符的所述编码值存储在所述记录的记录头中。
8.根据权利要求7所述的计算机实现的方法,还包括在所述记录的所述记录头中存储指示所述位图和所述租户标识符的所述编码值被存储在所述记录头中的位。
9.根据权利要求7所述的计算机实现的方法,还包括在所述记录的所述记录头中存储指示所述租户标识符的所述编码值从所述记录的所述租户标识符列中移除的位。
10.根据权利要求7所述的计算机实现的方法,还包括将租户标识符列属性号存储在所述记录的所述记录头中,以标识所述租户标识符列。
11.一种用于转换租户标识符的计算机实现的系统,包括:
一个或多个存储设备,包括持久性存储器和工作存储器;以及
处理器,从所述持久性存储器中检索记录并将所述记录写入所述工作存储器,从所述记录的键和扫描描述符中的至少一个确定所述记录的租户标识符的值,用所述租户标识符的新值替换所述记录的所述键中的所述租户标识符的所述值,使用存储在所述记录的记录头中的位图,标识存储了所述租户标识符的编码值的所述记录的一列或多列,以及将所述租户标识符的编码新值存储在由所述记录头中存储的所述位图所标识的所述一列或多列的列中,所述列包括指示启用租户标识符转换的属性。
12.根据权利要求11所述的计算机实现的系统,其中,所述位图包括所述记录的列的指示,所述记录的列存储了所述租户标识符的所述编码值。
13.根据权利要求11所述的计算机实现的系统,其中,所述租户标识符的所述编码值存储在所述记录头中,并且其中,所述处理器还将所述租户标识符的所述编码值存储在所述一列或多列的一列中,所述列既由所述位图标识又包括指示租户标识符转换被禁用的属性。
14.根据权利要求11所述的计算机实现的系统,其中,所述持久性存储器是多租户数据库系统的组件。
15.根据权利要求11所述的计算机实现的系统,其中,所述记录被解包到所述多租户数据库系统的所述工作存储器中。
16.根据权利要求11所述的计算机实现的系统,其中,所述记录是从由所述租户标识符的所述值标识的租户所有的数据库中克隆的沙盒数据库的一部分,并且其中,所述沙盒数据库由所述租户标识符的所述新值标识的租户所有。
17.一种计算机实现的方法,包括:
一个或多个存储设备,包括持久性存储器和工作存储器;
以及处理器,从所述持久性存储器中检索记录并将所述记录写入所述工作存储器,从所述记录的租户标识符列中移除租户标识符的编码值,确定所述租户标识符的所述编码值存储在所述记录的至少另一列中,生成标识所述记录的列的位图,所述位图中存储了所述租户标识符的所述编码值,从由所述位图标识的所述记录的所述列中移除所述租户标识符的所述编码值,以及将所述位图和所述租户标识符的所述编码值存储在所述记录的记录头中。
18.根据权利要求17所述的计算机实现的系统,其中,所述处理器进一步在所述记录的所述记录头中存储指示所述位图和所述租户标识符的所述编码值被存储在所述记录头中的位。
19.根据权利要求17所述的计算机实现的系统,其中,所述处理器进一步在所述记录的所述记录头中存储指示所述租户标识符的所述编码值从所述记录的所述租户标识符列中移除的位。
20.根据权利要求17所述的计算机实现的系统,其中,所述处理器还将租户标识符列属性号存储在所述记录的所述记录头中,以标识所述租户标识符列。
21.一种系统,包括:一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时能够操作,以使所述一个或多个计算机执行包括以下步骤的操作:
接收记录;
从所述记录的键和扫描描述符中的至少一个确定所述记录的租户标识符的值;
用所述租户标识符的新值替换所述记录的所述键中的所述租户标识符的所述值;
使用存储在所述记录的记录头中的位图,标识存储了所述租户标识符的编码值的所述记录的一列或多列;以及
将所述租户标识符的编码新值存储在由所述记录头中存储的所述位图所标识的所述一列或多列的列中,所述列包括指示启用租户标识符转换的属性。
22.一种计算机实现的方法,包括:一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时能够操作,以使所述一个或多个计算机执行包括以下步骤的操作:
接收记录;
从所述记录的租户标识符列中移除租户标识符的编码值;
确定所述租户标识符的所述编码值存储在所述记录的至少另一列中;
生成标识所述记录的列的位图,所述位图中存储了所述租户标识符的所述编码值;
从由所述位图标识的所述记录的所述列中移除所述租户标识符的所述编码值;以及
将所述位图和所述租户标识符的所述编码值存储在所述记录的记录头中。
CN201980051015.1A 2018-09-24 2019-09-23 租户标识符的转换 Active CN112912870B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/139,889 US11663207B2 (en) 2018-09-24 2018-09-24 Translation of tenant identifiers
US16/139,889 2018-09-24
PCT/US2019/052455 WO2020068682A1 (en) 2018-09-24 2019-09-23 Translation of tenant identifiers

Publications (2)

Publication Number Publication Date
CN112912870A true CN112912870A (zh) 2021-06-04
CN112912870B CN112912870B (zh) 2024-08-06

Family

ID=68242836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980051015.1A Active CN112912870B (zh) 2018-09-24 2019-09-23 租户标识符的转换

Country Status (6)

Country Link
US (2) US11663207B2 (zh)
EP (1) EP3814974A1 (zh)
JP (1) JP7408626B2 (zh)
CN (1) CN112912870B (zh)
AU (1) AU2019349429B2 (zh)
WO (1) WO2020068682A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420263A (zh) * 2021-06-30 2021-09-21 北京百度网讯科技有限公司 数据统计方法、装置、设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102328B2 (en) * 2019-05-09 2021-08-24 Sap Se Provisioning multi-tenant, microservice architecture-based integration service in a cloud computing environment
US11321294B2 (en) 2019-09-09 2022-05-03 Salesforce.Com, Inc. Database index repair
US12013831B2 (en) 2021-01-29 2024-06-18 Salesforce, Inc. Index for multi-level data structures
US12034726B1 (en) * 2023-05-31 2024-07-09 Cloudflare, Inc. Logging access types based on inserting tenant control headers into requests

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095421A1 (en) * 2000-11-29 2002-07-18 Koskas Elie Ouzi Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
US20170116280A1 (en) * 2015-10-23 2017-04-27 Oracle International Corporation Compression units in an index block
US20180129585A1 (en) * 2016-11-08 2018-05-10 Salesforce.Com, Inc. Formation and manipulation of test data in a database system
US20180268154A1 (en) * 2017-03-16 2018-09-20 Sap Se Tenant table sharing with content separation

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360213B1 (en) * 1997-10-14 2002-03-19 International Business Machines Corporation System and method for continuously adaptive indexes
US6457021B1 (en) * 1998-08-18 2002-09-24 Microsoft Corporation In-memory database system
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7487186B2 (en) * 2004-10-19 2009-02-03 Microsoft Corporation Protocol agnostic database change tracking
US7774346B2 (en) * 2005-08-26 2010-08-10 Oracle International Corporation Indexes that are based on bitmap values and that use summary bitmap values
US20070121632A1 (en) * 2005-11-28 2007-05-31 Arabella Software, Ltd. Method and system for routing an IP packet
US7809741B2 (en) * 2006-03-31 2010-10-05 Microsoft Corporation Generating and utilizing composite keys in lieu of compound keys
US7933869B2 (en) * 2006-12-29 2011-04-26 Sap Ag Method and system for cloning a tenant database in a multi-tenant system
US8032499B2 (en) * 2007-05-21 2011-10-04 Sap Ag Compression of tables based on occurrence of values
US8510270B2 (en) * 2010-07-27 2013-08-13 Oracle International Corporation MYSQL database heterogeneous log based replication
US8874610B2 (en) * 2011-12-06 2014-10-28 International Business Machines Corporation Pattern-based stability analysis of complex data sets
US9031911B2 (en) * 2012-06-05 2015-05-12 International Business Machines Corporation Preserving past states of file system nodes
US20150142748A1 (en) * 2013-11-18 2015-05-21 Actifio, Inc. Computerized methods and apparatus for data cloning
US10235422B2 (en) * 2014-05-08 2019-03-19 Sap Se Lock-free parallel dictionary encoding
US20160085832A1 (en) * 2014-09-24 2016-03-24 Richard L Lam System and method of analyzing data using bitmap techniques
US10366247B2 (en) * 2015-06-02 2019-07-30 ALTR Solutions, Inc. Replacing distinct data in a relational database with a distinct reference to that data and distinct de-referencing of database data
US9904538B2 (en) * 2015-08-24 2018-02-27 International Business Machines Corporation Maintenance of multi-tenant software programs
US10977251B1 (en) * 2015-12-30 2021-04-13 Teradata Us, Inc. Join index bitmap for non-equality query conditions
GB2552574A (en) * 2016-05-06 2018-01-31 Idera Inc Systems and methods for dynamic masking of data
US10437688B2 (en) * 2016-09-22 2019-10-08 Oracle International Corporation Enhancing consistent read performance for in-memory databases
US10572475B2 (en) * 2016-09-23 2020-02-25 Oracle International Corporation Leveraging columnar encoding for query operations
WO2019024060A1 (zh) * 2017-08-03 2019-02-07 华为技术有限公司 数据存储方法、装置和存储介质
US10896225B2 (en) * 2018-05-23 2021-01-19 Singlestore, Inc. Bitmap filter, a method of generating the same, and a method of using a bitmap filter to perform a join

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095421A1 (en) * 2000-11-29 2002-07-18 Koskas Elie Ouzi Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
US20170116280A1 (en) * 2015-10-23 2017-04-27 Oracle International Corporation Compression units in an index block
US20180129585A1 (en) * 2016-11-08 2018-05-10 Salesforce.Com, Inc. Formation and manipulation of test data in a database system
US20180268154A1 (en) * 2017-03-16 2018-09-20 Sap Se Tenant table sharing with content separation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420263A (zh) * 2021-06-30 2021-09-21 北京百度网讯科技有限公司 数据统计方法、装置、设备和存储介质
CN113420263B (zh) * 2021-06-30 2023-08-04 北京百度网讯科技有限公司 数据统计方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US11663207B2 (en) 2023-05-30
JP7408626B2 (ja) 2024-01-05
AU2019349429A1 (en) 2021-02-25
AU2019349429B2 (en) 2024-09-19
US20230267116A1 (en) 2023-08-24
CN112912870B (zh) 2024-08-06
US20200097583A1 (en) 2020-03-26
WO2020068682A1 (en) 2020-04-02
EP3814974A1 (en) 2021-05-05
JP2022500724A (ja) 2022-01-04

Similar Documents

Publication Publication Date Title
CN110799960B (zh) 数据库租户迁移的系统和方法
CN112912870B (zh) 租户标识符的转换
JP7090606B2 (ja) データベース・システムにおけるテスト・データの形成及び動作
US20230306135A1 (en) Masking sensitive information in records of filtered accesses to unstructured data
US10140351B2 (en) Method and apparatus for processing database data in distributed database system
US20190057133A1 (en) Systems and methods of bounded scans on multi-column keys of a database
AU2018290753B2 (en) Systems and methods of creation and deletion of tenants within a database
WO2018097846A1 (en) Edge store designs for graph databases
US10664508B1 (en) Server-side filtering of unstructured data items at object storage services
CN112889039B (zh) 用于克隆后租户标识符转换的记录的标识
CN115918110A (zh) 使用键值存储库的空间搜索
US8005844B2 (en) On-line organization of data sets
KR101828466B1 (ko) 파일시스템을 기반으로 하는 저장장치에서 객체기반 스토리지 인터페이스를 제공하는 방법 및 장치
US10762139B1 (en) Method and system for managing a document search index
JP4850581B2 (ja) データ処理システム
CN116860700A (zh) 处理分布式文件系统中元数据的方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: California, USA

Applicant after: Shuo Power Co.

Address before: California, USA

Applicant before: SALESFORCE.COM, Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant