CN112889039A - 用于克隆后租户标识符转换的记录的标识 - Google Patents

用于克隆后租户标识符转换的记录的标识 Download PDF

Info

Publication number
CN112889039A
CN112889039A CN201980051056.0A CN201980051056A CN112889039A CN 112889039 A CN112889039 A CN 112889039A CN 201980051056 A CN201980051056 A CN 201980051056A CN 112889039 A CN112889039 A CN 112889039A
Authority
CN
China
Prior art keywords
records
tenant identifier
database
tenant
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
CN201980051056.0A
Other languages
English (en)
Other versions
CN112889039B (zh
Inventor
T·方哈内尔
S·吉内克斯
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 CN112889039A publication Critical patent/CN112889039A/zh
Application granted granted Critical
Publication of CN112889039B publication Critical patent/CN112889039B/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/2272Management 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/2228Indexing structures
    • 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/23Updating
    • 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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

公开了用于标识用于克隆后租户标识符转换的记录的系统、设备和技术。可以从在执行数据库应用程序的计算设备处执行数据库执行器的数据库系统接收记录。数据库应用程序可以从记录中标识包括记录头的记录,该记录头包括指示租户标识符的编码值被存储在记录中不是租户标识符列的列中的记录中的位。数据库应用程序可以基于由数据库应用程序标识的记录生成索引。数据库应用程序可以使用索引访问记录,并将存储在记录的列中的租户标识符的编码值替换为用租户标识符的编码新值。

Description

用于克隆后租户标识符转换的记录的标识
背景技术
多租户数据库中的记录可包括租户标识符,该标识符指示拥有记录的租户。在某些情况下,属于租户的记录可能需要将其包含的租户标识符替换为新的租户标识符。识别可能需要转换的记录可能是计算密集型的。
附图说明
为了提供对所公开主题的进一步理解而包括的附图被并入本说明书中并构成本说明书的一部分。附图还示出了所公开主题的实施方式,并且与详细描述一起用于解释所公开主题的实施方式的原理。没有试图示出比基本理解所公开主题和可以实践的各种方式所必须的结构细节更多的细节。
图1示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例系统。
图2A示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。
图2B示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。
图3示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。
图4示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。
图5A示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。
图5B示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图6示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图7示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例步骤。
图8示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图9示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图10示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图11A示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图11B示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图11C示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例布置。
图12示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例步骤。
图13示出了根据所公开主题的实施方式的计算机。
图14示出了根据所公开主题的实施方式的网络配置。
具体实施方式
本文公开的技术能够标识克隆后租户标识符转换的记录,这可允许更有效地标识克隆后租户标识符转换的记录以及更有效的克隆后租户标识符转换。在记录的列中包括该记录的租户标识符的值的副本的记录可以在其记录头中设置记录类型位。表中的记录的记录头中的位的值可以在添加到表中的列中公开。可以生成部分索引,该部分索引可以包括其记录头中的记录类型位被设置为1或真(true)的记录。部分索引可用于标识和访问克隆后租户标识符转换的记录。
租户标识符可用于标识存储在数据库系统中的记录的所有者。分配给租户的租户标识符的值可用作存储在数据库系统中的属于租户所有记录的键的一部分。租户标识符的值可以用字母数字字符串来表示。
如果数据库系统是多租户数据库系统,则可为每个租户分配唯一的租户标识符。多租户可允许各种租户(例如用户、用户组或组织)通过数据库系统上的软件工具或实例访问数据库系统中其自身的记录,可以在各种租户之间共享这些软件工具或实例。每个租户的记录可以是该租户的数据库的一部分。例如数据库可以是关系数据库、层次数据库或任何其他适当的数据库类型。存储在数据库系统中的所有记录可以存储在任何适当的结构中,包括例如日志结构合并(LSM)树。
存储在数据库系统中的记录可包括键。该键可以是用于记录的标识符,例如主键,并且可采用任何适当的形式,例如字母数字序列。键的某些部分可提供有关记录的信息。例如,键的一部分是用于记录所属的租户的租户标识符的值。例如,当记录的值是行的内容时,可标识键的其他部分,例如,表号和行的标识。
记录可以包括值。记录中的值可以是,例如,关系数据库的表的行中列的内容,存储为每列一个值的元组。存储为元组的值可使用例如二进制编码来编码。一些记录可以将拥有元组中编码的记录的租户的租户标识符的值存储为租户标识符的编码值。租户标识符的编码值可以存储在例如记录的租户标识符列中。租户标识符的编码值也可以存储在记录的其他列中,这些列可以不是租户标识符列。
在某些情况下,可能需要转换记录的租户标识符。租户标识符转换可以用新的租户标识符的新值替换记录中的租户标识符的值。例如,当复制租户的记录集中的记录以创建租户的记录集中的所有或部分的克隆时,例如,对于沙盒,租户标识符转换可用于为将新的租户标识符分配给复制的记录。这可以允许租户独立于被克隆的租户的记录集中的记录,使用沙盒数据库中的记录。
为了允许更有效的租户标识符转换,可以修改存储在数据库系统中的记录。可以在记录头中设置记录类型指示符。记录类型指示符可以是可以设置为1或真的位,以指示记录将租户标识符的编码值存储在租户标识符列以外的列中。
对于由记录头中的记录类型指示符标识为将租户标识符的编码值存储在租户标识符列以外的列中的记录,数据库应用程序可以确定是否应用租户标识符转换。数据库应用程序可以是用于与数据库系统交互的应用程序。例如,租户可以使用运行数据库应用程序的计算设备来访问其在数据库系统中的数据库。
为了允许数据库应用程序更有效地标识克隆后租户标识符转换的记录,可以向记录中添加列,以公开记录头中记录类型指示符的值,该值在设置时,指示在记录的除租户标识符列以外的列中存在租户标识符的编码值。该列可以是记录类型指示符列。将租户标识符的编码值存储在除租户标识符列以外的列中的记录可以将其记录类型指示符位设置为1或真,这可导致其记录类型指示符列的值为1或真。未将租户标识符的编码值存储在除租户标识符列以外的列中的记录可以将其记录类型指示符位设置为0或假(false),这可导致其记录类型指示符列的值为0或假。
数据库应用程序或数据库系统的另一适当组件、运行数据库应用程序的计算设备或另一计算设备可以基于存储在数据库系统的持久性存储器或工作存储器中的记录的记录类型指示符列中的值来创建部分索引。部分索引可以仅索引记录类型指示符列的值为1或真的记录。数据库应用程序可以使用部分索引来访问由部分索引索引的记录。然后,数据库应用程序可以选择性地对这些记录执行租户标识符转换。租户标识符转换可由更新命令执行,更新命令可将存储在存储租户标识符的编码值的列中的租户标识符的原始值的编码替换为可由例如数据库应用程序提供的租户标识符的新值的编码。更新命令可以通过遍历由部分索引索引的记录的所有列并在任何列中用租户标识符的编码新值选择性地替换与租户标识符的编码值匹配的任何值来选择性地执行替换。遍历由部分索引索引的记录的列可包括读取存储在这些记录的每一列中的值。
可以使用部分索引代替完整索引,因为完整索引在记录的每一次修改(包括创建、更新和删除操作)上都会产生明显的计算开销。部分索引,可允许对于除租户标识符列之外的列中不包括租户标识符的编码值的所有记录,降低计算成本,而在租户标识符列以外的列中包括租户标识符的编码值的记录可能会产生与完整索引类似的计算成本。这可节省计算资源,因为在除租户标识符列之外的列中存储租户标识符的编码值的记录的数量可能是数据库或表中所有记录的一小部分。
图1示出了根据所公开主题的实施方式的标识克隆后租户标识符转换的记录的示例系统。数据库系统100可包括任何适当的计算设备,例如,如图13所示的计算机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的记录中使用的各种列类型的属性。
图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可以确定数据列232、233、234和235中的任何一个是否存储编码的租户标识符241。记录类型指示符222可以是指示符(例如位),用于指示记录200何时将编码的租户标识符241存储在租户标识符列231以外的列中。如果记录200将编码的租户标识符241存储在值230中的任何其他列中,例如数据列232、233、234和235中的任何一列,则数据库执行器110可以将记录200的记录头220中的记录类型指示符222设置为1或真。否则,数据库执行器110可以将记录类型指示符222设置为0或假。
图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的副本,包括记录类型指示符222。值430可以是值230的副本,包括存储编码的租户标识符241的租户标识符列231、存储列值242的数据列232、存储编码的租户标识符241的数据列233、存储编码的租户标识符241的数据列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还可以将租户标识符列231中的编码的租户标识符241替换为编码的新租户标识符441。
图6示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。数据库执行器110在完成对记录400的克隆之后,可以打包记录400并将其与记录150一起存储在数据库系统100的持久性存储器142中。记录400可以从工作存储器144中移除。
图7示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例步骤。在702处,可以在记录的列中检查租户标识符列之外的租户标识符的编码值。例如,数据库执行器110可以检查记录200的数据列232、233、234和235中是否有编码的租户标识符241。
在704处,如果租户标识符的编码值存储在记录的除租户标识符列之外的任何附加列中,则流程可以前进到706。否则,流程可以前进到708,其中记录的记录类型指示符可以设置为假。
在706处,记录头中的记录类型指示符可以设置为真。例如,数据库执行器110可以将记录头220中的记录类型指示符222设置为1或真,以指示已发现编码的租户标识符241存储在记录200的除租户标识符列231之外的列中。
在708处,记录头中的记录类型指示符可以设置为假。例如,数据库执行器110可以将记录类型指示符222设置为0或假,以指示记录200不在租户标识符列231之外的任何列中存储编码的租户标识符241。
图8示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。例如,可以克隆数据库系统100中的租户的记录集以创建沙盒数据库。在数据库客户端设备900上运行的数据库应用程序910可以访问表记录950,表记录950可以是沙盒数据库的表的记录。数据库客户端设备900可以是用于与数据库系统100交互的任何适当的计算设备。数据库应用程序910可以是在数据库客户端设备900上运行的任何适当的应用程序,其可以允许与数据库系统100和数据库执行器110进行交互。例如,数据库应用程序910可以是拥有存储在数据库系统100的持久性存储器142中的租户记录集的实体所使用的应用程序。
数据库执行器110可以复制表记录950,并通过任何适当的通信链路将它们发送给数据库应用程序910。数据库应用程序910可以将表记录950扩展到数据库客户端设备900的工作存储器944中的表960中。
图9示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。表960可以包括表960中每个记录的行。表960可以包括记录400、1010、1020、1030和1040。表960的列可以是键列1001、租户标识符列231、数据列232、233、234和235以及记录类型指示符列1005。记录类型指示符列1005可以公开记录400、1010、1020、1030和1040中的每个的记录类型指示符的值。记录400可以包括键列1001中的键410、租户标识符列231中的编码的租户标识符241、数据列232中的列值242、数据列233中的编码的租户标识符241、数据列234中的编码的租户标识符241、数据列235中的列值245,以及记录类型指示符列1005中的值1或真。
记录1010可以包括键列1001中的键1011、租户标识符列231中的编码的新租户标识符441、数据列232中的列值1012、数据列233中的列值1013、数据列234中的列值1014、数据列235中的列值1015和记录类型指示符列1005中的值0或假。
记录1020可以包括键列1001中的键1021、租户标识符列231中的编码的新租户标识符441、数据列232中的列值1022、数据列233中的列值1013、数据列234中的列值1024、数据列235中的列值1025以及记录类型指示符列1005中的值0或假。
记录1030可以包括键列1001中的键1031、租户标识符列231中的编码的新租户标识符441、数据列232中的编码的租户标识符241、数据列233中的列值1032、数据列234中的编码的租户标识符241、数据列235中的列值1035,以及记录类型指示符列1005中的值1或真。
记录1040可以包括键列1001中的键1041、租户标识符列231中的编码的新租户标识符441、数据列232中的列值1042、数据列233中的编码的租户标识符241、数据列234中的列值1045、数据列235中的编码的租户标识符241,以及记录类型指示符列1005中的值1或真。
图10示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。数据库应用程序910可以标识表960中包括记录类型指示符列1005中的值为1或真的行。数据库应用程序910可以从所标识的行创建部分索引1160。部分索引1160可以包括键列231和记录类型指示符列1005。部分索引1160中的每一行可以对应于表960中记录类型指示符列1005中的值为1或真的行。部分索引1160的键列231中的键可以标识在其记录头中将其记录类型指示符设置为1或真的记录,并且可以用于访问部分索引960中的记录。
图11A示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。数据库应用程序910可以使用部分索引1160中的键410来访问表960中存储来自记录400的值的行。数据库应用程序910可以确定记录400在数据列233和234中包括编码的租户标识符241。然后,数据库应用程序910可以确定是否对记录400的数据列233和234执行租户标识符转换。如果数据库应用程序910执行租户标识符转换,则编码的租户标识符241可以被移除并替换为编码的新租户标识符441。
图11B示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。数据库应用程序910可以使用来自部分索引1160的键1031来访问表960中存储来自记录1030的值的行。数据库应用程序910可以确定记录1030在数据列232和234中包括编码的租户标识符241。然后,数据库应用程序910可以确定是否对记录1030的数据列232和234执行租户标识符转换。如果数据库应用程序910执行租户标识符转换,则编码的租户标识符241可以被移除并替换为编码的新租户标识符441。
图11C示出了根据所公开主题的实施方式的用于标识克隆后租户标识符转换的记录的示例布置。数据库应用程序910可以使用部分索引1160中的键1041来访问表960中存储来自记录1040的值的行。数据库应用程序910可以确定记录1040在数据列233和235中包括编码的租户标识符241。然后,数据库应用程序910可以确定是否对记录1040的数据列233和235执行租户标识符转换。如果数据库应用程序910执行租户标识符转换,则编码的租户标识符241可以被移除并替换为编码的新租户标识符441。
图12示出了根据所公开主题的实施方式的适于标识克隆后租户标识符转换的记录的示例步骤。在1202处,可以标识记录类型指示符设置为真的记录。例如,数据库应用程序910可以检查表960的行中表示的记录,以标识记录类型指示符列1005中具有值1或真的行和相应记录。表960可以包括可以是从数据库系统100的持久性存储器142接收的沙盒数据库的一部分的记录。
在1204处,可从所标识的记录生成部分索引。例如,数据库应用程序910可以从与表960中的记录类型指示符列1005中的值为1或真的行相对应的记录生成部分索引1160。部分索引1160可以包括所标识的记录的键,例如,记录400、1030和1040的键410、1031和1041。
在1206处,可以转换使用部分索引访问的记录中的租户标识符。例如,数据库应用程序910可以使用部分索引1160中的键410、1031和1041来访问表960中的记录400、1030和1040。数据库应用程序910可以扫描记录400、1030和1040的值以查找编码的租户标识符241的出现,并且可以确定是否对编码的租户标识符241的每次出现执行租户标识符转换。数据库应用程序910可以通过用编码的新租户标识符441替换找到的出现的租户标识符241来执行租户标识符转换。这可以完成表960中记录的租户标识符转换,然后可以将其用作与新租户标识符411相关联的租户所拥有的沙盒数据库的一部分。
本公开主题的实施方式可以在各种组件和网络架构中实施并与之一起使用。图13是适于实施本公开主题的实施方式的示例计算机20。如本文进一步详细讨论的,计算机20可以是多台计算机网络中的单个计算机。如图13所示,计算机可以与中央组件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)连接、数字卫星数据连接等。例如,如图14所示,网络接口29可以使计算机能够经由一个或多个局域网、广域网或其他网络与其他计算机通信。
可以以类似的方式连接许多其他设备或组件(未示出)(例如,文档扫描仪、数码相机等)。相反地,图13中所示的组件不必全部存在以实施本发明。这些组件可以以不同的方式互连。如图13所示的计算机的操作在本领域中是容易知道的,并且在本申请中不详细讨论。用于实施本发明的代码可以存储在计算机可读存储介质中,例如内存器27、固定存储器23、可移动介质25中的一个或多个,或者存储在远程存储位置上。
图14示出了根据所公开主题的实施方式的示例网络布置。诸如计算机、微型计算机、本地计算机、智能电话、平板计算设备、企业设备等的一个或多个客户端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 (21)

1.一种计算机实现的方法,包括:
在执行数据库应用程序的计算设备处,从执行数据库执行器的数据库系统接收记录;
由所述数据库应用程序从所述记录中标识一个或多个记录,所述一个或多个记录包括记录头,所述记录头包括指示租户标识符的编码值被存储在所述记录中不是租户标识符列的列中的所述记录中的位;
由所述数据库应用程序基于由所述数据库应用程序标识的所述一个或多个记录生成部分索引;以及
由所述数据库应用程序使用所述部分索引访问所述一个或多个记录,并且由所述数据库应用程序将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值。
2.根据权利要求1所述的计算机实现的方法,其中,使用所述部分索引访问所述一个或多个记录,并将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值还包括遍历所述一个或多个记录的所述列。
3.根据权利要求1所述的计算机实现的方法,其中,所述数据库系统是多租户数据库系统。
4.根据权利要求1所述的计算机实现的方法,其中,所述一个或多个记录是从所述数据库系统的持久性存储器中接收的。
5.根据权利要求1所述的计算机实现的方法,其中,所述一个或多个记录被解包到所述计算机设备的工作存储器中。
6.根据权利要求1所述的计算机实现的方法,其中,所述一个或多个记录是从由所述租户标识符的所述值标识的租户所有的数据库中克隆的沙盒数据库的一部分,并且其中,所述沙盒数据库由所述租户标识符的所述新值标识的租户所有。
7.根据权利要求1所述的计算机实现的方法,还包括,在使用所述部分索引访问所述一个或多个记录并将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值之后,使所述一个或多个记录能够用作由所述租户标识符的所述新值标识的所述租户的数据库的一部分。
8.一种用于标识克隆后租户标识符转换的记录的计算机实现的系统,包括:
包括工作存储器的一个或多个存储设备;以及
计算设备的处理器,从执行数据库执行器的数据库系统接收记录;从所述记录中标识一个或多个记录,所述一个或多个记录包括记录头,所述记录头包括指示租户标识符的编码值被存储在所述记录中不是租户标识符列的列中的所述记录中的位;基于一个或多个标识的记录生成部分索引;并使用所述部分索引访问所述一个或多个记录,以及将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值。
9.根据权利要求8所述的计算机实现的系统,其中,所述处理器进一步使用所述部分索引访问所述一个或多个记录,并通过遍历所述一个或多个记录的所述列,将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值。
10.根据权利要求8所述的计算机实现的系统,其中,所述数据库系统是多租户数据库系统。
11.根据权利要求8所述的计算机实现的系统,其中,所述处理器接收的所述一个或多个记录是从所述数据库系统的持久性存储器接收的。
12.根据权利要求8所述的计算机实现的系统,其中,所述一个或多个记录被解包到所述工作存储器中。
13.根据权利要求8所述的计算机实现的系统,其中,所述一个或多个记录是从由所述租户标识符的所述值标识的租户所有的数据库中克隆的沙盒数据库的一部分,并且其中,所述沙盒数据库由所述租户标识符的所述新值标识的租户所有。
14.根据权利要求8所述的计算机实现的系统,进一步包括,在使用所述部分索引访问所述一个或多个记录并将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值之后,使所述一个或多个记录能够用作由所述租户标识符的所述新值标识的所述租户的数据库的一部分。
15.一种系统,包括:一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时能够操作,以使所述一个或多个计算机执行操作,所述操作包括:
在执行数据库应用程序的计算设备处,从执行数据库执行器的数据库系统接收记录;
由所述数据库应用程序从所述记录中标识一个或多个记录,所述一个或多个记录包括记录头,所述记录头包括指示租户标识符的编码值被存储在所述记录中不是租户标识符列的列中的所述记录中的位;
由所述数据库应用程序基于由所述数据库应用程序标识的所述一个或多个记录生成部分索引;以及
由所述数据库应用程序使用所述部分索引访问所述一个或多个记录,并且由所述数据库应用程序将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值。
16.根据权利要求15所述的系统,其中,当由所述一个或多个计算机执行时,使所述一个或多个计算机执行包括以下操作的指令:使用所述部分索引访问所述一个或多个记录,并将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值,还使得所述一个或多个计算机执行包括遍历所述一个或多个记录的所述列的操作。
17.根据权利要求15所述的系统,其中,所述数据库系统是多租户数据库系统。
18.根据权利要求15所述的系统,其中,所述一个或多个记录是从所述数据库系统的持久性存储器中接收的。
19.根据权利要求15所述的系统,其中,所述一个或多个记录被解包到所述计算机设备的工作存储器中。
20.根据权利要求15所述的系统,其中,所述一个或多个记录是从由所述租户标识符的所述值标识的租户所有的数据库中克隆的沙盒数据库的一部分,并且其中,所述沙盒数据库由所述租户标识符的所述新值标识的租户所有。
21.根据权利要求15所述的系统,其中,所述指令在由所述一个或多个计算机执行时,还使得所述一个或多个计算机执行包括以下步骤的操作:在使用所述部分索引访问所述一个或多个记录并将存储在所述一个或多个记录的列中的所述租户标识符的所述编码值替换为租户标识符的编码新值之后,使所述一个或多个记录能够用作由所述租户标识符的所述新值标识的所述租户的数据库的一部分。
CN201980051056.0A 2018-09-24 2019-09-23 用于克隆后租户标识符转换的记录的标识 Active CN112889039B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/139,594 2018-09-24
US16/139,594 US11151110B2 (en) 2018-09-24 2018-09-24 Identification of records for post-cloning tenant identifier translation
PCT/US2019/052453 WO2020068680A1 (en) 2018-09-24 2019-09-23 Identification of records for post-cloning tenant identifier translation

Publications (2)

Publication Number Publication Date
CN112889039A true CN112889039A (zh) 2021-06-01
CN112889039B CN112889039B (zh) 2024-08-09

Family

ID=68165728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980051056.0A Active CN112889039B (zh) 2018-09-24 2019-09-23 用于克隆后租户标识符转换的记录的标识

Country Status (6)

Country Link
US (1) US11151110B2 (zh)
EP (1) EP3814927A1 (zh)
JP (1) JP7390356B2 (zh)
CN (1) CN112889039B (zh)
AU (1) AU2019350694B2 (zh)
WO (1) WO2020068680A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223022A1 (en) * 2004-04-02 2005-10-06 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US20080162491A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Method and system for cloning a tenant database in a multi-tenant system
US20100299664A1 (en) * 2009-05-21 2010-11-25 Salesforce.Com, Inc. System, method and computer program product for pushing an application update between tenants of a multi-tenant on-demand database service
US20110289091A1 (en) * 2010-05-18 2011-11-24 Salesforce.Com, Inc. Methods and Systems for Providing Multiple Column Custom Indexes In A Multi-Tenant Database Environment
US20130018890A1 (en) * 2011-07-13 2013-01-17 Salesforce.Com, Inc. Creating a custom index in a multi-tenant database environment
CN104160381A (zh) * 2012-03-08 2014-11-19 国际商业机器公司 多租户环境中租户特定数据集的管理
CN105408857A (zh) * 2013-07-29 2016-03-16 亚马逊科技公司 通过针对选择性交织数据位生成用于关系数据库的多列索引
US20180129693A1 (en) * 2016-11-04 2018-05-10 Salesforce.Com, Inc. Multiversion concurrency control of database records with uncommitted transactions
US20180129585A1 (en) * 2016-11-08 2018-05-10 Salesforce.Com, Inc. Formation and manipulation of test data in a database system
US20180129691A1 (en) * 2016-11-04 2018-05-10 Salesforce.Com, Inc. Dynamic creation and maintenance of multi-column custom indexes for efficient data management in an on-demand services environment
US20180157654A1 (en) * 2016-12-02 2018-06-07 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3175692B2 (ja) * 1998-04-28 2001-06-11 日本電気株式会社 コンピュータと携帯端末間のデータ連携システム及びそのデータ連携方法
AU2001286786A1 (en) 2000-08-25 2002-03-13 Stuart E. Massey Transaction-based enterprise application integration (eai) and development system
JP2005266913A (ja) * 2004-03-16 2005-09-29 Nec Corp ソフトウェアパッケージ製品のパッチ情報提供方法、システム、及びプログラム
JP4837759B2 (ja) * 2009-05-13 2011-12-14 株式会社日立製作所 データベース処理方法、データベース処理システム及びデータベースサーバ
JP2011154602A (ja) * 2010-01-28 2011-08-11 Fujitsu Frontech Ltd 文字列管理装置、文字列登録方法、文字列検索方法および文字列管理プログラム
WO2014128759A1 (ja) * 2013-02-21 2014-08-28 公益財団法人先端医療振興財団 情報システムおよびその更新方法
US10282437B2 (en) * 2014-04-17 2019-05-07 Oracle International Corporation Partial indexes for partitioned tables
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
US10713376B2 (en) * 2016-04-14 2020-07-14 Salesforce.Com, Inc. Fine grain security for analytic data sets

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223022A1 (en) * 2004-04-02 2005-10-06 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
CN101120337A (zh) * 2004-04-02 2008-02-06 易享信息技术(上海)有限公司 多租户数据库系统中的自定义实体和字段
US20080162491A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Method and system for cloning a tenant database in a multi-tenant system
US20100299664A1 (en) * 2009-05-21 2010-11-25 Salesforce.Com, Inc. System, method and computer program product for pushing an application update between tenants of a multi-tenant on-demand database service
US20110289091A1 (en) * 2010-05-18 2011-11-24 Salesforce.Com, Inc. Methods and Systems for Providing Multiple Column Custom Indexes In A Multi-Tenant Database Environment
US20130018890A1 (en) * 2011-07-13 2013-01-17 Salesforce.Com, Inc. Creating a custom index in a multi-tenant database environment
CN104160381A (zh) * 2012-03-08 2014-11-19 国际商业机器公司 多租户环境中租户特定数据集的管理
CN105408857A (zh) * 2013-07-29 2016-03-16 亚马逊科技公司 通过针对选择性交织数据位生成用于关系数据库的多列索引
US20180129693A1 (en) * 2016-11-04 2018-05-10 Salesforce.Com, Inc. Multiversion concurrency control of database records with uncommitted transactions
US20180129691A1 (en) * 2016-11-04 2018-05-10 Salesforce.Com, Inc. Dynamic creation and maintenance of multi-column custom indexes for efficient data management in an on-demand services environment
US20180129585A1 (en) * 2016-11-08 2018-05-10 Salesforce.Com, Inc. Formation and manipulation of test data in a database system
US20180157654A1 (en) * 2016-12-02 2018-06-07 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access

Also Published As

Publication number Publication date
JP7390356B2 (ja) 2023-12-01
US20200097573A1 (en) 2020-03-26
AU2019350694A1 (en) 2021-02-25
JP2022501693A (ja) 2022-01-06
CN112889039B (zh) 2024-08-09
AU2019350694B2 (en) 2024-08-29
WO2020068680A1 (en) 2020-04-02
EP3814927A1 (en) 2021-05-05
US11151110B2 (en) 2021-10-19

Similar Documents

Publication Publication Date Title
JP7130600B2 (ja) ファーストクラスデータベース要素としての半構造データの実装
CN112912870B (zh) 租户标识符的转换
US20190057133A1 (en) Systems and methods of bounded scans on multi-column keys of a database
JP2020502626A (ja) データベース・システムにおけるテスト・データの形成及び動作
US20140046928A1 (en) Query plans with parameter markers in place of object identifiers
AU2018290753B2 (en) Systems and methods of creation and deletion of tenants within a database
KR20130049111A (ko) 분산 처리를 이용한 포렌식 인덱스 방법 및 장치
US11816510B2 (en) Elastic data partitioning of a database
US20200233861A1 (en) Elastic data partitioning of a database
US10936640B2 (en) Intelligent visualization of unstructured data in column-oriented data tables
CN115918110A (zh) 使用键值存储库的空间搜索
CN112889039B (zh) 用于克隆后租户标识符转换的记录的标识
US20130041887A1 (en) Adding entries to an index based on use of the index
US20200233848A1 (en) Elastic data partitioning of a database
US20200320079A1 (en) Enhanced search functions against custom indexes
US11366810B2 (en) Index contention under high concurrency in a database system
US20220078236A1 (en) Multipart upload for distributed file systems
Wang et al. Group-Scope query and its access method

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Shuo Power Co.

Address before: California, USA

Applicant before: SALESFORCE.COM, Inc.

GR01 Patent grant
GR01 Patent grant