Database Reference
In-Depth Information
the
ET. (3) The table row ETs store records of virtual extension columns in
three separate tables. These tables are separated to store small data values in the
'
'
db_table
'
ET such as NUMBER, DATE-and-TIME, BOOLEAN, VARCHAR and
other data types. While the large data values stored in two other tables: the
table_row
'
rst one
is the
er (URI) for
virtual columns of Binary Large Object (BLOB) data type. The second one is the
'
'
table_row_blob
'
ET, which stores a Uniform Resource Identi
ET, which stores Character Large Object (CLOB) values for virtual
columns with TEXT data type. These three row ETs are capable to store data types,
including traditional relational data, texts, audios, images, videos, and XML in struc-
tured, unstructured, and semi-structured format. The structured data, such as traditional
relational data can be stored in CTTs and VETs using ETs. The unstructured data
table_row_clob
'
les
such as images, audios, videos can be stored in EET, by storing the URI of a
le
in the
'
table_row_blob
'
ET. Then the actual physical
le can be stored in a folder of a
le system, and then this
le can be accessed using the URI that stored in the
'
table_row_blob
'
ET and mapped to the physical
le that stored in a folder. The semi-
structured data such as XML
les can be stored in two ways. Firstly, using the same
method as used for storing unstructured data, then accessing the XML
le using the
'
'
URI that stored in the
table_row_blob
ET and mapped to the physical XML
le that
'
'
stored in a folder. Secondly, XML
les can be stored as text in the
table_row_clob
'
'
ET as a CLOB
ET. (4) The
' table_relationship ' ET allows tenants to create virtual relationships for their virtual
tables with any of CTTs or VETs. (5) The
le, and then accessed from the
table_row_clob
ET is used to add indexes to
virtual columns. These indexes reduce the query execution time when tenants retrieve
data from the VET. (6) The
'
table_index
'
ET allows tenants to create
single or composite virtual primary key for virtual extension columns that are stored in
the
'
table_primary_key_column
'
'
table_column
'
ET [ 21 , 23 ]. Figure 1 shows the details of multi-tenant EET
database schema.
The effectiveness of accessing data from EET was evaluated in [ 23 ], and it will be
con
rmed in this paper. Furthermore, the multi-tenant schema includes access control
data architecture that allows each tenant to have a number of users with different types
of access privileges [ 22 ].
4 Elastic Extension Tables Proxy Service
This paper proposes a multi-tenant database proxy service called EETPS that combines,
generates, and executes tenants
rst converts
multi-tenant queries into traditional database queries, and then executes the queries in a
RDBMS. This service has three objectives: (1) to allow the tenants
'
queries by using a codebase solution that
applications
to retrieve table rows from CTTs, VETs, or both CTTs and VETs. (2) to allow tenants
to extend a business domain database that based on traditional RDBMS during their
applications
'
runtime; (3) to avoid efforts associated with writing SQL queries and
backend data management code by calling functions from this service, which retrieves
simple and complex queries including join operations, union operations,
'
ltering on
multiple properties, and
ltering of data based on subqueries results. These functions
return a two dimensional array (Object [
α
][
β
]), where
α
is the number of array rows
Search WWH ::




Custom Search