Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu,...
-
Upload
vanessa-ashdown -
Category
Documents
-
view
217 -
download
3
Transcript of Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu,...
![Page 1: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/1.jpg)
Supporting RFID-based Item Tracking Applications in Oracle
DBMS Using a Bitmap Datatype
Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan
Oracle New England Development Center
One Oracle Drive, Nashua, NH 03062
![Page 2: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/2.jpg)
VLDB 2005
Talk Outline
• Background• A Bitmap Datatype• Applications• Implementation• Performance Study• Conclusions
![Page 3: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/3.jpg)
VLDB 2005
Background
![Page 4: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/4.jpg)
VLDB 2005
Radio Frequency Identification
• RFID uses radio frequency to automatically detect and identify individual items, which have RFID tags associated with them.
• RFID technology is increasingly being used in applications such as– Asset Tracking, – Supply Chain Management, and– Retail Management.
![Page 5: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/5.jpg)
VLDB 2005
Electronic Product Codes (EPCs)
• EPC is a standard naming scheme proposed by Auto-Id Center for RFID applications.
• An EPC uniquely identifies an item. It contains <Header, Manager No., Object Class, Serial No.>
• The header identifies the format of the EPCtype, the next two components identify the product, whereas the last component uniquely identifies the item within the product.
![Page 6: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/6.jpg)
VLDB 2005
Item Tracking
• RFID Technology enables item tracking applications
• However, there is a need for efficient mechanism for managing the high volume of item tracking information.
![Page 7: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/7.jpg)
VLDB 2005
A Bitmap Type for Item Tracking
• Key Observation: RFID Items can be efficiently tracked by tracking the groups to which an item belongs. For example– Groups of items in the same proximity: e.g.
on a shelf, on a shipment– Groups of items with same property: e.g.
items of a single product, items of a single product with same expiry date
• Our Solution: Use a bitmap type for modeling a collection of EPCs that can occur in item tracking applications.
![Page 8: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/8.jpg)
VLDB 2005
A Bitmap Datatype
![Page 9: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/9.jpg)
VLDB 2005
Example: Product Inventory
• With EPC Collections
• With epc_bitmaps
Store_id
Prod_id Time Item_collection
s1 p1 t1 epc11, epc12, epc13,
…
s1 p2 t2 epc21, epc22, epc23,
…
… … … …
Store_id
Prod_id
Time Item_bmap
s1 p1 t1 bmap1
s1 p2 t2 bmap2
… … … …
![Page 10: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/10.jpg)
VLDB 2005
epc_bitmap Datatype
• A new type to represent a collection of EPCs with a common prefix
CREATE TYPE epc_bitmap_segment ( epc_length NUMBER, epc_suffix_length NUMBER, epc_prefix RAW, epc_suffix_start RAW, epc_suffix_end RAW, epc_suffix_bitmap RAW );
• epc_bitmap type to represent a collection of EPCs
CREATE TYPE epc_bitmap IS TABLE of epc_bitmap_segment;
![Page 11: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/11.jpg)
VLDB 2005
epc_bitmap_segment Datatype
Header EPC_Manager Object_Class Serial_Number
2-bits 21-bits 17-bits 24-bits
0x4AA890001F62C160 ………………………… 0x4AA890001FA0B38E
Len Suff_len
Prefix Suff_start Suff_end bitmap
64 24 0x4AA890001F 0x62C160 0xA0B38E 101001…00010
![Page 12: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/12.jpg)
VLDB 2005
epc_bitmap Operations
Conversion Operations
epc2Bmap, bmap2Epc, and bmap2Count
Pairwise Logical Operations
bmapAnd, bmapOr, bmapMinus, and bmapXor
Maintenance Operations
bmapInsert and bmapDelete
Membership Testing Operation
bmapExists
Comparison Operation
bmapEqual
![Page 13: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/13.jpg)
VLDB 2005
Applications
![Page 14: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/14.jpg)
VLDB 2005
Applications: Shelf Analytics
• Determine the items added to a shelf between time t1 and t2
SELECT bmap2Epc(bmapMinus(s2.item_bmap, s1.item_bmap))
FROM Shelf_Inventory s1, Shelf_Inventory s2
WHERE s1.shelf_id = <sid1> AND
s1.shelf_id = s2.shelf_id AND
s1.time=<t1> AND s2.time=<t2>;
Shelf_Inventory
Shelf_id Time Item_bmap
sid1 t1 bmp1
sid1 t2 bmp2
… … …
![Page 15: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/15.jpg)
VLDB 2005
Applications: Product Recall• Identify the stores that currently have recalled items SELECT Store_id FROM Product_Inventory P
WHERE bmap2Count(bmapAnd(P.Item_bmap,
epc2Bmap(<recall_items>))) > 0
AND P.Product_id=<recall_product_id>
AND P.Time = <current_time>;
Product_Inventory
Prod_id Store_id Time Item_bmap
p1 s1 t1 bmap1
p1 s2 t2 bmap2
… … … …
![Page 16: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/16.jpg)
VLDB 2005
Implementation
![Page 17: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/17.jpg)
VLDB 2005
Implementation
• Leverages Oracle’s Bitmap Index Implementation
• Uses G. Antoshenkov’s “Byte Aligned Data Compression” for creation and operation of bitmaps for rowid collections.
• A collection of EPCs is grouped into different epc_bitmap_segments, – When the previous epc_suffix_bitmap
(maximum size of RAW = 2000) can not hold any more EPCs
– When epc_prefixes are different
![Page 18: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/18.jpg)
VLDB 2005
Persistent epc_bitmap
• Stored in a primary B+-tree structure
primary B+-tree structure
primary key columns
non-key columns
Data1 Data2 Epc_bitmap
… … …
… … set_id_I
… … …
set_id_i epc_length
epc_suffix_length
epc_prefix
epc_suffix_start
epc_suffix_end
epc_suffix_bitmap
![Page 19: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/19.jpg)
VLDB 2005
Query Processing & Optimization
• epc_bitmap function is executed per row• Queries with predicates on bitmap columns
can be speeded up
– Using Function-based B-tree index: On pre-computed value of bmap2Count(bmap_col)
SELECT S.shelf_id
FROM Shelf_inventory S
WHERE bmap2Count(S.item_bmap) > 0 ;
– Using Summary Bitmap Index
![Page 20: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/20.jpg)
VLDB 2005
Summary Bitmap
• Specialized index structure to speed up query to detect the presence of an epc identifier
SELECT s.shelf_id, s.time FROM Shelf_Inventory s WHERE bmapExists(s.item_bmap, <epc1>);
• Create a summary bitmap sbmap using OR operation on {bmap1, …, bmapk}:
bmapExists(sbmap)
i 1…k: bmapExists(bmapi)
![Page 21: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/21.jpg)
VLDB 2005
Summary Bitmap Index Structure
root node
leaf nodes
branch nodes
…
…
EPC Bitmap column
Bmp1
Bmp2
<Bmp1,rowid1>
Table
A Summary Bitmap Tree
…
…Bmpn
<Bmpn,rowidn>
![Page 22: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/22.jpg)
VLDB 2005
Summary Bitmap Index Algorithm
DFS(X, epc):X: a node in the tree index; epc: a given epc;bmp(X): the epc_bitmap associated with node X;
if ( bmapExists(bmp(X), epc)== TRUE){ if (X == leaf node) report bmp(X); else for each child node V of X do DFS(V, epc);}Complexity:O(1) , no candidate O(m log N), m: fan-out, N: no. of rows
![Page 23: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/23.jpg)
VLDB 2005
Performance Study
![Page 24: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/24.jpg)
VLDB 2005
Experimental Setup
• Data represents EPC-64 collections, which are randomly generated with a uniform distribution
• Data sampled every hour for 30 days(720 obs.), 300 days (7200 obs) and 3000 days (72000 obs).
• EPC collections of size 100000, 10000 and 1000 represent typical number of items in department and/or shelf
![Page 25: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/25.jpg)
VLDB 2005
Storage Comparison
0 500 1000 1500
MBytes
7200000rows10EPCs
720000rows100EPCs
72000rows1000EPCs
7200rows10000EPCs
720rows100000EPCs
Epc_ bitmap Type
Collection Type
![Page 26: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/26.jpg)
VLDB 2005
Bulk Load Performance
8782
2367
0
2000
4000
6000
8000
10000
Seco
nds
Collection Type Epc_bitmap Type
7200 rows with 10000 EP Cs in each row
![Page 27: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/27.jpg)
VLDB 2005
Query 1: Enumerate Removed Items
• Enumerate the items removed from a shelf between 2 time intervals
Collection Type Query SELECT b.epc_value FROM epc_coll a, TABLE(a.epcs) b WHERE a.time = '2004-03-04 10:00 AM' MINUS SELECT b2.epc_value FROM epc_coll a2, TABLE(a2.epcs)
b2 WHERE a2.time = '2004-03-04 11:00 AM';
epc_bitmap Type Query SELECT * FROM TABLE( SELECT bmap2Epc(bmapMinus(p1.epcs,p2.epcs)) FROM epc_bmp p1, epc_bmp p2 WHERE p1.time = '2004-03-04 10:00 AM' AND p2.time = '2004-03-04 11:00 AM');
![Page 28: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/28.jpg)
VLDB 2005
Query 1: Enumerate Removed Items
0
0.5
1
1.5
2
2.5
72000rows1000EPCs
7200rows10000EPCs
720rows100000EPCs
Seco
nds
CollectionType
Epc_bitmapType
![Page 29: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/29.jpg)
VLDB 2005
Query 1 with Variant Datasets
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
1 10 100 1000 2500 5000 7500 10000
Number of differing items in epc collections
Sec
onds
CollectionTypeEpc_bitmapType
![Page 30: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/30.jpg)
VLDB 2005
Query 2: Report All Observations
• Report all observations when a given EPC was present
Collection Type Query SELECT a.time FROM epc_coll a WHERE EXISTS(SELECT 1 FROM TABLE(a.epcs) b WHERE b.epc_value =
‘400003000300052A’); epc_bitmap Type Query
SELECT time FROM epc_bmp WHERE bmapExists(epcs, ‘400003000300052A’);
![Page 31: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/31.jpg)
VLDB 2005
Query 2: Report All Observations
0
50
100
150
200
250
300
350
72000rows
1000EPCs
7200rows
10000EPCs
720rows
100000EPCs
Seco
nds
CollectionTypeEpc_bitmapType
![Page 32: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/32.jpg)
VLDB 2005
Performance Discussion
• Storage savings of 2 to 8 times due to compressed bitmaps
• Bulk load performance faster due to smaller storage needs
• For collections of size > 1000, query performance gains of 10% to 1200%
• For smaller collection sizes, performance is same as native collections
![Page 33: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/33.jpg)
VLDB 2005
Conclusions
• epc_bitmap can model transient and persistent EPC collections
• epc_bitmap can be used to support RFID-based item tracking applications
• An efficient primary B+-tree based storage and access mechanism
• Performance experiments validate the feasibility and benefits of the epc_bitmap
• Support can be extended to Row Identifier (rowid) and Life Science Identifier (LSID) collections
![Page 34: Supporting RFID-based Item Tracking Applications in Oracle DBMS Using a Bitmap Datatype Ying Hu, Seema Sundara, Timothy Chorma, Jagannathan Srinivasan.](https://reader035.fdocuments.us/reader035/viewer/2022062620/551b81ce550346a6148b57ef/html5/thumbnails/34.jpg)
VLDB 2005
AQ&
Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S