SlideShare une entreprise Scribd logo
1  sur  53
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P1                                © 2010 Bloombase Technologies




Performance Benchmarks for Bloombase
Spitfire StoreSafe Security Server for Microsoft
Windows
A performance testing report on Microsoft Windows file-systems and
Oracle TPC-C


2010/1/2




Executive Summary
Bloombase Spitfire StoreSafe Storage Security Server protects privacy of sensitive enterprise data by transparent encryption and decryption. This paper
summarizes performance tests of Bloombase Spitfire StoreSafe Storage Security Server for Microsoft Windows on file-systems and relational database
management systems.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P2                                                     © 2010 Bloombase Technologies




Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies,
organizations, products, people and events depicted herein are fictitious and no association with any real company, organization, product, person or event is intended or should be
inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced,
stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose,
without the express written permission of Bloombase Technologies.


Bloombase Technologies may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as
expressly provided in any written license agreement from Bloombase Technologies, the furnishing of this document does not give you any license to these patents, trademarks,
copyrights, or other intellectual property.


This document is the property of Bloombase Technologies. No exploitation or transfer of any information contained herein is permitted in the absence of an agreement with
Bloombase Technologies, and neither the document nor any such information may be released without the written consent of Bloombase Technologies.


© 2010 Bloombase Technologies


Bloombase, Spitfire, StoreSafe and Keyparc are either registered trademarks or trademarks of Bloombase Technologies in the United States, People’s Republic of China, Hong Kong
Special Administrative Region and/or other countries.


The names of actual companies and products mentioned herein may be the trademarks of their respective owners.


Document No.: BLBS_10Q1_TN_BloombaseSpitfireStoreSafeMicrosoftWindowsBenchmarks_USLET_EN_P1_R1
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P3                   © 2010 Bloombase Technologies




Table of Contents




Table of Contents                                                                                              3


Introduction                                                                                                   6


Purpose and Scope                                                                                              7


Assumptions                                                                                                    8


Infrastructure                                                                                                 9
Server ...................................................................................................... 9
Storage .................................................................................................... 9
File Systems ............................................................................................ 9
Application Software ............................................................................ 10
Data At-Rest Protection Software ........................................................ 10
Benchmarking Software ....................................................................... 10
Setup Without Encryption..................................................................... 10
Setup With Encryption .......................................................................... 10
File System Setup ................................................................................. 11
         File System Tests .................................................................................... 11
         Database Tests ....................................................................................... 11
Database Setup ..................................................................................... 11
Bloombase Spitfire StoreSafe Setup .................................................... 12
Bloombase Spitfire KeyCastle Setup .................................................... 13
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P4                         © 2010 Bloombase Technologies




File System Benchmarks                                                                                             14
Configurations .......................................................................................14
Benchmark Tests ................................................................................... 14
         2GB on      FAT32 ......................................................................................... 14
         6GB on      FAT32 ......................................................................................... 15
         2GB on      NTFS ........................................................................................... 16
         6GB on      NTFS ........................................................................................... 17
Conclusion ............................................................................................. 18


TPC-C Benchmarks                                                                                                   19
Configurations .......................................................................................19
Benchmark Tests ................................................................................... 21
         Default TPC-C Profile .............................................................................. 23
         Query Intensive Profile .......................................................................... 24
         Update Intensive Profile......................................................................... 25
Conclusion ............................................................................................. 26


Database Batch Process Benchmarks                                                                                  27
Configurations .......................................................................................27
Benchmark Tests ................................................................................... 27
         Find Orders By Amount and Customer Balance and Discount Query ..... 27
         Find Orders By Amount Query ................................................................ 28
         Find Customers By Name Query ............................................................. 29
         Find Items Under Stock Query ............................................................... 29
         Update Order Line By Amount Query ..................................................... 30
Conclusion ............................................................................................. 31


Conclusion                                                                                                         32


Acknowledgement                                                                                                    33


Disclaimer                                                                                                         34


Technical Reference                                                                                                35


Appendix A – File System Benchmark Scripts                                                                         36
2GB on FAT32 Test Script ..................................................................... 36
2GB on NTFS Test Script ....................................................................... 37
6GB on FAT32 Test Script ..................................................................... 37
6GB on NTFS Test Script ....................................................................... 38


Appendix B - TPC-C Database Creation Scripts                                                                       39
User Creation Script .............................................................................. 39
Table Creation Script ............................................................................ 39
Index Creation Script ............................................................................ 40
TPC-C Queries .......................................................................................42
         New Order Stored Procedure Script ....................................................... 42
         Order Status Stored Procedure Script .................................................... 45
         Payment Stored Procedure Script .......................................................... 46
         Stock Level Stored Procedure Script ...................................................... 48
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P5         © 2010 Bloombase Technologies




         Delivery Stored Procedure Script ........................................................... 49


Appendix C - Batch Process SQL Scripts                                                               51
Find Orders By Amount And Customer Balance and Discount Query .. 51
Find Orders By Amount Query .............................................................. 52
Find Customer By Name Query............................................................. 52
Find Items Under Stock Query ............................................................. 52
Update Order Line By Amount Query ................................................... 53
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P6                                   © 2010 Bloombase Technologies




Introduction




Digital assets including financial reports, legal documents, private human resources information, confidential contracts and sensitive user data are
invaluable properties of a corporation. A business cannot risk losing these information, both confidentiality and non-repudiation. Nevertheless, the Internet
has becoming more pervasive, security attacks have grown. News and reports have revealed millions of dollars of loss in various enterprises and
organizations due to security breaches.


Data protection at the persistence layer used to be an uncommon subject in information technology industry. Persistence data, in the old days, are
assumed safely kept and stored in highly secure data centers with effective physical access control and close surveillance. However, trends in the industry
in backup, archive and high availability with an aim to safeguard data from the worst attack and be responsive to rescues, keeping the enterprise core
system running non-stop, have opened up chances confidential data get disclosed and tampered by unauthorized parties.


Numerous security compliance and standards including Sarbanes Oxley, Gramm-Leach-Bliley Act and Personal Data Privacy Ordinance have raised
enterprises’ awareness of securing their core business and customer data. However, persistence data protection is technically a difficult subject. One has
to prepare for additional system complexity, loss of performance, at the same time, maintaining the same level of stability and scalability, and most
important of all, be highly secure, hacker-proof rather than exposing more security loopholes.


Core business data of an enterprise constitutes a major segment of assets that a corporation possesses. Customer data, marketing strategies, intellectual
properties in form of source codes and business logic, sales history and prediction figures, and other decision support numerical analysis as result of data-
mining may often bury forward looking intelligence that in some sense have very high future value when put into good use.


This technical note discusses application of NIST FIPS 140-2 validated Bloombase Spitfire StoreSafe Storage Security Server to protect files on Microsoft
Windows and Oracle data files. An industry standard file-system load generation tool called ‘dd’ was used to apply load onto Windows file-systems. Oracle
database throughput and latency were tested and measured by another relational database management system (RDBMS) benchmarking tool called
‘Hammerora’ which generates real-life database access patterns and simulates multi-user concurrent use commonly seen in large enterprises and
corporations. The tests were executed on both plain and ciphered data. Latencies and throughputs were measured, compared and analysed. Despite
benefit of Bloombase Spitfire StoreSafe Storage Encryptor being transparent in deployment and operation, readers will see as well the benefit of high
performance encryption at wirespeed that enables negligible impact to secured data system upon introduction of data cryptography.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P7                                       © 2010 Bloombase Technologies




Purpose and Scope



Persistence data encryption at file level provides the best entry point for achieving information security privacy regulatory compliance requirements in view
of both manageability and security.

Securing Oracle data files is not an easy task as data files are dynamic, they keep updated at all times which means static way of data encryption offered
by encryption utilities are not going to fit the bill. Sensitive data committed to Oracle data files will also be written to database redo logs, archive logs and
flash recovery logs. Thus, to secure the system as a whole, all data files, redo, archive and flash recovery logs have to be encrypted as well.

Bloombase Spitfire StoreSafe storage security server validated at NIST FIPS 140-2 provides a single solution to various information security problems that
place huge threats to sensitive data stored in file-systems and relational databases especially Oracle in which transparent encryption is not in place.

This document describes application of Bloombase Spitfire StoreSafe storage security server on Windows file-systems applicable to Oracle to secure
sensitive information at-rest transparently without tedious second development efforts and numerous deployment risks, enabling customers to protect
their private business information and immediately, thus achieving various information security regulatory compliances and standards.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P8                           © 2010 Bloombase Technologies




Assumptions




This document describes performance benchmark testing of Bloombase Spitfire StoreSafe Storage Security Server 3.0 on Oracle 8i database server, FAT32
and NTFS file-systems on Microsoft Windows Server 2000 operating system.


We assume readers have basic knowledge of file operations, structured query language (SQL), Oracle and encryption to be able to comprehend the
technical parts of the literature.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P9   © 2010 Bloombase Technologies




Infrastructure




Server
  Server                          IBM x-Series server

  Processors                      1 x Intel Pentium 4 3.00 GHz

  Memory                          2 GB

  Operating System                Microsoft Windows 2000 Advanced Server SP4




Storage
  Storage Type                  Internal Serial ATA

  Size                          80 GB

  Manufacturer                  Hitachi




File Systems
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P10          © 2010 Bloombase Technologies




  File Systems                  FAT32 and NTFS




Application Software
  Oracle                                     Oracle Databaser Server 8i (8.1.7)




Data At-Rest Protection Software
  Bloombase Spitfire StoreSafe               Bloombase Spitfire StoreSafe Storage Security Server 3.0 for
                                             Microsoft Windows

  Bloombase Spitfire KeyCastle               Bloombase Spitfire KeyCastle Key Management Server 2.0




Benchmarking Software
  File System                                dd for Windows1

  Oracle                                     Hammerora for Windows2




Setup Without Encryption
The following figure shows the benchmarking setup without Bloombase Spitfire StoreSafe encryption




                                                         Clear
                                                         text




Setup With Encryption
The benchmark testing with Bloombase Spitfire StoreSafe encryption environment is setup as in below figure
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P11                                      © 2010 Bloombase Technologies




                                  Bloombase Spitfire
                                    KeyCastle Key
                                  Management Server



                                                                          Bloombase Spitfire
                                                                          StoreSafe Security
                                                                               Server                 X&*^2
                                                                                                      3#$(+



                                                                                                                    Oracle 8i on
                                                  Ethernet Network
                                                                                                              Windows Server 2000 with
                                                  Storage Network                                                 Internal storage




File System Setup
The disk-partition-under-test is assigned drive letter

                                                                                       E:

with capacity 18 GB in size.



File System Tests

For file system benchmark tests, the partition-under-test is formatted by both

                                                                                    FAT32

and

                                                                                     NTFS

file systems.



Database Tests

For Oracle benchmark tests, the partition-under-test is formatted by

                                                                                     NTFS

file system.




Database Setup
Oracle 8i for Windows version 8.1.7 is installed at non system drive D: at location

                                                                                 D:oracle

Oracle database namely

                                                                                    orabm

is create with data file location at
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P12                               © 2010 Bloombase Technologies




                                                                    E:oracleoradataorabm

with 3 redo logs at 10 MB in size and archive log turned on.


Redo logs are configured to store at location

                                                                    E:oracleoradataorabm

whereas archive logs at

                                                             E:oracleoradataorabmarchive




Bloombase Spitfire StoreSafe Setup




Bloombase Spitfire StoreSafe security server for Microsoft Windows version 3.0 and Spitfire StoreSafe web-based management console are installed at
application server at location

                                                                               C:spitfire

A Bloombase Spitfire StoreSafe virtual storage namely

                                                                                 protected

is created at physical location

                                                                                      E:

secured by

                                                                               AES 256-bit

encryption cipher using Spitfire KeyCastle managed encryption key namely

                                                                                      key

When Bloombase Spitfire StoreSafe is in operation, all files written under

                                                                                      E:

get encrypted by Spitfire StoreSafe automatically before the ciphertext contents are physically written to the disk. When files under Spitfire StoreSafe
secured drive are accessed and read, the ciphertext contents are automatically un-encrypted before the on-the-fly un-encrypted virtual plain contents are
returned to the trusted applications.


When Bloombase Spitfire StoreSafe is put to ‘down’ status, files written and read under

                                                                                      E:
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P13                                © 2010 Bloombase Technologies




get written and read with no alteration which means plain contents written to physical disks will reside on physical disk media.




Bloombase Spitfire KeyCastle Setup




Bloombase Spitfire KeyCastle Key Management Server 2.0 is installed on a standalone appliance with dual Intel Quad-Core Xeon 5400 series processors
with 4GB main memory and quad GbE network modules.


Encryption key namely

                                                                                      key

is generated at Bloombase Spitfire KeyCastle Key Management Server by

                                                                                      RSA

algorithm at

                                                                                  2048-bit

in length.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P14                               © 2010 Bloombase Technologies




File System Benchmarks




Configurations
Chrysocome dd version 0.5 zip archive

                                                                                dd-0.5.zip

is downloaded and uncompressed into Microsoft Windows 2000 Advanced Server Windows default directory at

                                                                                  C:WINNT

Two ISO disc image files of random contents are generated and stored at

                                                                              D:fs6G.iso

and

                                                                              D:fs2G.iso

for Chrysocome dd’s generation of file read/write operations to Bloombase Spitfire StoreSafe encrypted virtual storage sub-directory

                                                                                    E:fs

and compare with those without encryption.




Benchmark Tests
2GB on FAT32

Drive under test

                                                                                       E:

is formatted by
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P15                                   © 2010 Bloombase Technologies




                                                                                    FAT32

file-system and directory

                                                                                    E:fs

is created.


With Bloombase Spitfire StoreSafe at ‘off’ status, the

                                                                                      2GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive-
under-test back to D: where start and end times are recorded simulating file read in plain.


With Bloombase Spitfire StoreSafe at ‘on’ status, the

                                                                                      2GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then
copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption.


The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table

                                                            Plain                           With Encryption   Latency Change (%)


                            Read (sec)                      158.75                          199.25            +19.21%


                            Write (sec)                     201.25                          219.25            +8.9%


Test results are visualized in chart below.




6GB on FAT32

Drive under test

                                                                                       E:

is formatted by

                                                                                    FAT32

file-system and directory

                                                                                    E:fs

is created.


With Bloombase Spitfire StoreSafe at ‘off’ status, the

                                                                                      6GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive-
under-test back to D: where start and end times are recorded simulating file read in plain.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P16                                   © 2010 Bloombase Technologies




With Bloombase Spitfire StoreSafe at ‘on’ status, the

                                                                                      6GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then
copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption.


The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table

                                                            Plain                           With Encryption   Latency Change (%)


                            Read (sec)                      435.25                          508               +16.71%


                            Write (sec)                     446.5                           473               +5.9%


Test results are visualized in chart below.




2GB on NTFS

Drive under test

                                                                                       E:

is formatted by

                                                                                     NTFS

file-system and directory

                                                                                    E:fs

is created.


With Bloombase Spitfire StoreSafe at ‘off’ status, the

                                                                                      2GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive-
under-test back to D: where start and end times are recorded simulating file read in plain.


With Bloombase Spitfire StoreSafe at ‘on’ status, the

                                                                                      2GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then
copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption.


The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table

                                                            Plain                           With Encryption   Latency Change (%)


                            Read (sec)                      179.2                           203.8             +13.72%
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P17                                   © 2010 Bloombase Technologies




                            Write (sec)                     195.4                           209.1             +7.0%


Test results are visualized in chart below.




6GB on NTFS

Drive under test

                                                                                       E:

is formatted by

                                                                                     NTFS

file-system and directory

                                                                                    E:fs

is created.


With Bloombase Spitfire StoreSafe at ‘off’ status, the

                                                                                      6GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive-
under-test back to D: where start and end times are recorded simulating file read in plain.


With Bloombase Spitfire StoreSafe at ‘on’ status, the

                                                                                      6GB

image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then
copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption.


The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table

                                                            Plain                           With Encryption   Latency Change (%)


                            Read (sec)                      676.4                           765.2             +13.13%


                            Write (sec)                     711.4                           752.4             +5.78%


Test results are visualized in chart below.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P18                              © 2010 Bloombase Technologies




Conclusion
Bloombase Spitfire StoreSafe Storage Encryption Server has little penalty on file read and write processes ranging from 5% to 19% increase in latency.


Ciphered file writes (encryption) have degradation from 5% to 7% whereas ciphered file reads (un-encryption) from 13% to 19%. It is clear that
Bloombase Spitfire StoreSafe encryption has relatively larger penalties on file reads than writes.


Comparing file sizes, Bloombase Spitfire StoreSafe encryption has relatively larger penalties on small files than large ones.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P19                               © 2010 Bloombase Technologies




TPC-C Benchmarks




Configurations
Transaction Processing Performance Council (TPC) defines transaction processing and database benchmarks and delivers trusted results to the industry.
Their tests serve as golden standards for simulating loads for real-life database systems.


TPC-C benchmark is a popular yardstick for comparing OLTP performance on various hardware and software configurations. TPC-C is based on an
enterprise resource and planning (ERP) system that is commonly seen in real-world enterprises. The test simulates a multi-user client-base who interacts
with the sample database for numerous random real-life tasks including


      •   Customer inquiry


      •   Item inquiry


      •   District inquiry


      •   Warehouse inquiry


      •   Order processing


      •   Payment processing


      •   Delivery processing


      •   Stock level inquiry


      •   Order status inquiry


      •   etc
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P20                                © 2010 Bloombase Technologies




Oracle database system is used in this TPC-C benchmark test. Oracle 8i for Windows version 8.1.7 is installed at non system drive D: at location

                                                                                 D:oracle

Oracle database namely

                                                                                    orabm

is create with data file location at

                                                                    E:oracleoradataorabm

with 3 redo logs at 10 MB in size and archive log turned on.


Redo logs are configured to store at location

                                                                    E:oracleoradataorabm

whereas archive logs at

                                                             E:oracleoradataorabmarchive




The sample database structure0 is designed to be very scalable such that TPC-C testers can tailor the volume of data to simulate actual amount of real-life
data of their own system.




Number of database records follows a typical rule as summarized in below table

  Districts per Warehouse                      10

  Customers per District                       3,000

  Orders per District                          3,000

  Maximum Items per Order                      100,000




Our sample database is initialized with

                                                                                       20

warehouses which results in number of initial records as summarized in below table

  Warehouses                                   20

  Districts                                    200

  Customers                                    600,000

  Orders                                       600,000

  Order Line Items                             6,127,176

  Item                                         100,000

  Stock                                        2,000,000


Indexes0 are built to speed up queries and to simulate real-life databases.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P21                                     © 2010 Bloombase Technologies




The ensemble data file after initialization is

                                                                                  3.07 GB

in size.




To ensure fair play on plain database and ciphered database, the database is first initialized in plain with Bloombase Spitfire StoreSafe in ‘off’ status. After
TPC-C database is fully initialized, Oracle instance is shutdown and the whole database repository at

                                                                    E:oracleoradataorabm

is archived.


Benchmark tests on ciphered database were executed with Bloombase Spitfire StoreSafe in ‘on’ status with database archive restored at virtual plain
location at

                                                                    E:oracleoradataorabm

Before Oracle instance is launched on Bloombase Spitfire StoreSafe virtual storage

                                                                                      E:




Benchmark Tests
TPC-C testing loads are applied by Hammerora with embedded industry leading Apache JMeter performance testing tool.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P22                                   © 2010 Bloombase Technologies




The tool is installed on a standalone machine with dual Intel Quad-Core Xeon 5400 series processors with 4GB main memory and quad GbE network
module. The stress client is purposely sized to apply good enough loads to the TPC-C sample database so as to push the database system to the limits
obtaining the maximum throughput of the data system in question.


Apache JMeter is built in with a highly configurable multi-threaded load application module and a feature rich graphical interface for reporting load test
results.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P23                                © 2010 Bloombase Technologies




Default TPC-C Profile

Default TPC-C profile specifies a multi-user environment firing random OLTP tasks to the database in test with a typical mix of database queries and
updates.


In this case, number of virtual users are set to

                                                                                      200

Every virtual user submit

                                                                                     1000

random OLTP requests to the ERP database with random sleep times shorter than

                                                                                    10 ms

in between every subsequent requests.


The mix of database queries and updates are summarized in below table




  Virtual Users                                200

  Loop Count                                   1000

  Sleep Milliseconds                           10

  New Order Update Ratio                       20

  Payment Update Ratio                         10

  Delivery Update Ratio                        10

  Stock Level Query Ratio                      50
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P24                                © 2010 Bloombase Technologies




  Order Status Query Ratio                     30




The throughput figures in transaction per minute (tpm) are summarized in below table.

                                                        Plain                          With Encryption   Throughput Change (%)


                        Throughput (tpm)                7763.95                        7626.54           -1.77%


The system throughputs are visualized in below chart.




Query Intensive Profile

The query intensive profile is designed to have relatively larger proportion of random client requests on read-only queries than writable database updates.


In this case, number of virtual users are set to

                                                                                      200

Every virtual user submit

                                                                                     1000

random OLTP requests to the ERP database with random sleep times shorter than

                                                                                    10 ms

in between every subsequent requests.


The mix of database queries and updates are summarized in below table




  Virtual Users                                200

  Loop Count                                   1000

  Sleep Milliseconds                           10

  New Order Update Ratio                       1

  Payment Update Ratio                         1

  Delivery Update Ratio                        1

  Stock Level Query Ratio                      50

  Order Status Query Ratio                     30




The throughput figures in transaction per minute (tpm) are summarized in below table.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P25                                © 2010 Bloombase Technologies




                                                        Plain                          With Encryption   Throughput Change (%)


                        Throughput (tpm)                21556.11                       21268.12          -1.34%




The system throughputs are visualized in below chart.




Update Intensive Profile

The update intensive profile is designed to have relatively larger proportion of random client requests on writeable database updates than read-only
queries.


In this case, number of virtual users are set to

                                                                                      200

Every virtual user submit

                                                                                     1000

random OLTP requests to the ERP database with random sleep times shorter than

                                                                                    10 ms

in between every subsequent requests.


The mix of database queries and updates are summarized in below table




  Virtual Users                                200

  Loop Count                                   1000

  Sleep Milliseconds                           10

  New Order Update Ratio                       20

  Payment Update Ratio                         10

  Delivery Update Ratio                        10

  Stock Level Query Ratio                      1

  Order Status Query Ratio                     1




The throughput figures in transaction per minute (tpm) are summarized in below table.

                                                        Plain                          With Encryption   Throughput Change (%)
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P26                              © 2010 Bloombase Technologies




                        Throughput (tpm)                5543.46                        5480.41        -0.78%




The system throughputs are visualized in below chart.




Conclusion
Bloombase Spitfire StoreSafe storage level encryption has negligible penalty on TPC-C throughputs ranging from 0.7% to 1.7% drop.


Comparing query intensive and update intensive tasks, Bloombase Spitfire StoreSafe storage encryption server has relatively less throughput degradation
on update intensive (encryption) than queries (un-encryption).
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P27                              © 2010 Bloombase Technologies




Database Batch Process Benchmarks




Configurations
TPC-C benchmark tests essentially measure the overall capability a data system can process concurrent heterogeneous requests at a time. System
throughput is primarily a server-side measurement which only makes sense to system administrators and application developers. On the other hand,
system users are mostly concerned at the response of the system.


When it comes to database encryption, users are sure to be let down if encryption puts a huge penalty to latency of a query or a database record update.
This section of paper describes a series of tests based on the same TPC-C database but with long running batch processing SQL’s. The queries were
executed on both plain and encrypted version of the same TPC-C warehouse database and their process times, latencies, were measured and compared.




Benchmark Tests
Find Orders By Amount and Customer Balance and Discount Query

This test is based on the SQL below


select *
from ORDERS, ORDER_LINE, ITEM, CUSTOMER
where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID
and ORDER_LINE.OL_O_ID = ORDERS.O_ID
and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID
and ORDER_LINE.OL_I_ID = ITEM.I_ID
and ORDERS.O_W_ID = CUSTOMER.C_W_ID
and ORDERS.O_D_ID = CUSTOMER.C_D_ID
and ORDERS.O_C_ID = CUSTOMER.C_ID
and ORDER_LINE.OL_AMOUNT > 28
and ORDER_LINE.OL_AMOUNT < 39
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P28                               © 2010 Bloombase Technologies




and CUSTOMER.C_BALANCE > 0
and CUSTOMER.C_DISCOUNT > 0.1
and CUSTOMER.C_DISCOUNT < 0.2
order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc


This query attempts to find the orders with order line amounts within 28 and 39, customers with balance and discount within 10% and 20%. The query
result is sorted by customer last names and first names.


Statistics show the query makes use of indexed columns to optimize search and sorting without table scans.


The following table summarizes averages of 5 query latencies.

                                                            Plain                          With Encryption   Latency Change (%)


                            Query (sec)                     22.44                          22.89             +2.02%


The query processing times are visualized in below chart.




Find Orders By Amount Query

This test is based on the SQL below




select *
from ORDERS, ORDER_LINE, ITEM, CUSTOMER
where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID
and ORDER_LINE.OL_O_ID = ORDERS.O_ID
and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID
and ORDER_LINE.OL_I_ID = ITEM.I_ID
and ORDERS.O_W_ID = CUSTOMER.C_W_ID
and ORDERS.O_D_ID = CUSTOMER.C_D_ID
and ORDERS.O_C_ID = CUSTOMER.C_ID
and ORDER_LINE.OL_AMOUNT > 28
and ORDER_LINE.OL_AMOUNT < 39
order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc


This query attempts to find the orders with order line amounts within 28 and 39. The query result is sorted by customer last names and first names.


Statistics show the query makes use of indexed columns to optimize search and sorting without table scans.


The following table summarizes averages of 5 query latencies.




                                                            Plain                          With Encryption   Latency Change (%)
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P29                                © 2010 Bloombase Technologies




                            Query (sec)                     37.46                          39.57             +5.65%


The query processing times are visualized in below chart.




Find Customers By Name Query

This test is based on the SQL below


select *
from CUSTOMER
where CUSTOMER.C_LAST like 'E%'
and CUSTOMER.C_FIRST like 'E%'
order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc


This query attempts to find customers with both last and first names with ‘E’ as prefix. The query result is sorted by customer last names and first names.


Statistics show the query makes use of indexed columns to optimize search and sorting without table scans.


The following table summarizes averages of 5 query latencies.




                                                            Plain                          With Encryption   Latency Change (%)


                            Query (sec)                     7.46                           8.12              +6.13%


The query processing times are visualized in below chart.




Find Items Under Stock Query

This test is based on the SQL below
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P30                                  © 2010 Bloombase Technologies




select *
from STOCK, ITEM, WAREHOUSE
where STOCK.S_I_ID = ITEM.I_ID
and STOCK.S_W_ID = WAREHOUSE.W_ID
and S_QUANTITY < 10
order by WAREHOUSE.W_NAME asc


This query attempts to find stocks and items with quantity below 10. The query result is sorted by warehouse names.


Statistics show the query makes use of indexed columns to optimize search and sorting without table scans.


The following table summarizes averages of 5 query latencies.




                                                            Plain                          With Encryption   Latency Change (%)


                            Query (sec)                     3.15                           3.29              +4.19%


The query processing times are visualized in below chart.




Update Order Line By Amount Query

This test is based on the SQL below




update ORDER_LINE
set OL_DIST_INFO = OL_DIST_INFO
where OL_AMOUNT > 18
and OL_AMOUNT < 19


This query attempts to find the order lines with amounts within 18 and 19 and update the district information of the line item by its original contents.


Statistics show the query makes use of indexed columns to optimize search and sorting without table scans.


The following table summarizes averages of 5 query latencies.




                                                            Plain                          With Encryption   Latency Change (%)


                            Query (sec)                     13.34                          14.18             +6.31%


The query processing times are visualized in below chart.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P31                               © 2010 Bloombase Technologies




Conclusion
Bloombase Spitfire StoreSafe has little penalties on long running batch processing SQL’s ranging from 2% to 6%.


Comparing read intensive and update intensive queries, Bloombase Spitfire StoreSafe has relative less degradation on latencies for read only queries (un-
encryption).
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P32                                  © 2010 Bloombase Technologies




Conclusion




Bloombase Spitfire StoreSafe Storage Security Server protects privacy of sensitive enterprise data by transparent encryption and decryption. This paper
summarizes quick reference of file and database access latencies and throughputs as a result of introduction of Bloombase Spitfire StoreSafe encryption to
the data storage sub-system.


Bloombase Spitfire StoreSafe Security Server brings in approximately 5% latency penalty on file writes (encryption) and 15% on file reads (un-encryption)
for file systems secured by its real-time transparent encryption, though not negligible, are only barely noticeable for large files. For instance, a system
without encryption takes originally 12 minutes to backup a 6 GB archive file. With Bloombase encryption in place, additional 40 seconds are required to
complete the process which can easily be absorbed by existing backup time-window and should place no major concern to most applications.


Most enterprise scale data systems with sensitive and confidential information are managed by relational database systems as a de-facto standard.
Bloombase Spitfire StoreSafe is highly optimized for database protection reporting negligible drop on TPC-C throughputs at around 1% whereas SQL’s
executed on Bloombase encrypted databases take an average of 4% longer on latencies. Unlike file access where Bloombase Spitfire StoreSafe is
optimized on file writes (encryption), database read-only queries (un-encryption) on Bloombase Spitfire StoreSafe encrypted database files have much less
degradation than database updates. Typical OLTP systems generally have relatively much larger proportion of database inquiries than updates which
would bring down the latency penalty to less than 3%. Adding processing and caching on the application servers, web servers and the network times,
overall latencies likely further minimize to below 1% which is un-noticeable by application users. The end result is a privacy compliant data system yet still
fulfils existing service level agreements (SLA).


NIST FIPS 140-2 validated Bloombase Spitfire StoreSafe Security Server demonstrates uncompromised data at-rest security and trouble-free fast
deployment on-the-fly transparent encryption for file systems and database systems with least impact in both throughput and latency perspectives.


For further information about this paper and the solution, please contact us at sales@bloombase.com or visit our website at http://www.bloombase.com.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P33                                 © 2010 Bloombase Technologies




Acknowledgement




We would like to thank the following individuals for their contribution in terms of technical support and facilities management to the completion of the
testing process:



Sashikala Rajalingam, IBM Innovation Center


Catharine GH Tan, IBM Innovation Center
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P34                               © 2010 Bloombase Technologies




Disclaimer




The tests described in this paper were conducted in the Bloombase InteropLab. Bloombase has not tested this configuration with all the combinations of
hardware and software options available. There may be significant differences in your configuration that will change the procedures necessary to
accomplish the objectives outlined in this paper. If you find that any of these procedures do not work in your environment, please contact us immediately.
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P35   © 2010 Bloombase Technologies




Technical Reference




      1. dd for Microsoft Windows, http://www.chrysocome.net/dd


      2. Hammerora for Windows, http://hammerora.sourceforge.net/


      3. TPC, http://www.tpc.org


      4. TPC-C, http://www.tpc.org/tpcc/
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P36   © 2010 Bloombase Technologies




Appendix A – File System Benchmark
Scripts




2GB on FAT32 Test Script
@echo off
format E: /FS:FAT32 /q /v:
md E:fs
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=D:2G.iso of=E:fs2G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
echo %time%
set /A timeused=%endtime%-%starttime%
echo write time used(s): %timeused%
chkdsk E: /f
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=E:fs2G.iso of=D:2G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P37   © 2010 Bloombase Technologies




echo %time%
set /A timeused=%endtime%-%starttime%
echo read time used(s): %timeused%




2GB on NTFS Test Script
@echo off
format E: /FS:NTFS /q /v:
md E:fs
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=D:2G.iso of=E:fs2G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
echo %time%
set /A timeused=%endtime%-%starttime%
echo write time used(s): %timeused%
chkdsk E: /f
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=E:fs2G.iso of=D:2G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
echo %time%
set /A timeused=%endtime%-%starttime%
echo read time used(s): %timeused%




6GB on FAT32 Test Script
@echo off
format E: /FS:FAT32 /q /v:
md E:fs
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=D:6G.iso of=E:fs6G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
echo %time%
set /A timeused=%endtime%-%starttime%
echo write time used(s): %timeused%
chkdsk E: /f
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P38   © 2010 Bloombase Technologies




set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=E:fs6G.iso of=D:6G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
echo %time%
set /A timeused=%endtime%-%starttime%
echo read time used(s): %timeused%




6GB on NTFS Test Script
@echo off
format E: /FS:NTFS /q /v:
md E:fs
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=D:6G.iso of=E:fs6G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
echo %time%
set /A timeused=%endtime%-%starttime%
echo write time used(s): %timeused%
chkdsk E: /f
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A starttime=%hour%*3600+%min%*60+%sec%
echo %time%
dd if=E:fs6G.iso of=D:6G.iso
set /A hour=%time:~0,1%*10+%time:~1,1%
set /A min=%time:~3,1%*10+%time:~4,1%
set /A sec=%time:~6,1%*10+%time:~7,1%
set /A endtime=%hour%*3600+%min%*60+%sec%
echo %time%
set /A timeused=%endtime%-%starttime%
echo read time used(s): %timeused%
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P39   © 2010 Bloombase Technologies




Appendix B - TPC-C Database Creation
Scripts




User Creation Script
create user orabm identified by orabm temporary tablespace temp;
grant connect,resource to orabm;
alter user orabm default tablespace tools;
alter user orabm quota unlimited on tools;
revoke unlimited tablespace from orabm;
exit




Table Creation Script
grant connect, resource to orabm;
grant connect, resource to sys;

CREATE TABLE ORABM.CUSTOMER (C_ID NUMBER(5, 0), C_D_ID
  NUMBER(2, 0), C_W_ID NUMBER(4, 0), C_FIRST VARCHAR2(16),
  C_MIDDLE CHAR(2), C_LAST VARCHAR2(16), C_STREET_1 VARCHAR2(20),
  C_STREET_2 VARCHAR2(20), C_CITY VARCHAR2(20), C_STATE CHAR(2),
  C_ZIP CHAR(9), C_PHONE CHAR(16), C_SINCE DATE, C_CREDIT
  CHAR(2), C_CREDIT_LIM NUMBER(12, 2), C_DISCOUNT NUMBER(4, 4),
  C_BALANCE NUMBER(12, 2), C_YTD_PAYMENT NUMBER(12, 2),
  C_PAYMENT_CNT NUMBER(8, 0), C_DELIVERY_CNT NUMBER(8, 0), C_DATA
  VARCHAR2(500)) PCTFREE 10;
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P40   © 2010 Bloombase Technologies




CREATE TABLE ORABM.DISTRICT (D_ID NUMBER(2, 0), D_W_ID
  NUMBER(4, 0), D_YTD NUMBER(12, 2), D_TAX NUMBER(4, 4),
  D_NEXT_O_ID NUMBER, D_NAME VARCHAR2(10), D_STREET_1
  VARCHAR2(20), D_STREET_2 VARCHAR2(20), D_CITY VARCHAR2(20),
  D_STATE CHAR(2), D_ZIP CHAR(9)) PCTFREE 10;

CREATE TABLE ORABM.HISTORY (H_C_ID NUMBER, H_C_D_ID NUMBER,
  H_C_W_ID NUMBER, H_D_ID NUMBER, H_W_ID NUMBER, H_DATE DATE,
  H_AMOUNT NUMBER(6, 2), H_DATA VARCHAR2(24)) PCTFREE 10;

CREATE TABLE ORABM.ITEM (I_ID NUMBER(6, 0), I_IM_ID NUMBER,
  I_NAME VARCHAR2(24), I_PRICE NUMBER(5, 2), I_DATA VARCHAR2(50)) PCTFREE 10;

CREATE TABLE ORABM.NEW_ORDER (NO_O_ID NUMBER, NO_D_ID NUMBER,
  NO_W_ID NUMBER) PCTFREE 10;

CREATE TABLE ORABM.ORDERS (O_ID NUMBER, O_D_ID NUMBER, O_W_ID
  NUMBER, O_C_ID NUMBER, O_ENTRY_D DATE, O_CARRIER_ID NUMBER,
  O_OL_CNT NUMBER, O_ALL_LOCAL NUMBER) PCTFREE 10;

CREATE TABLE ORABM.ORDER_LINE (OL_O_ID NUMBER, OL_D_ID NUMBER,
  OL_W_ID NUMBER, OL_NUMBER NUMBER, OL_DELIVERY_D DATE, OL_I_ID
  NUMBER, OL_SUPPLY_W_ID NUMBER, OL_QUANTITY NUMBER, OL_AMOUNT
  NUMBER(6, 2), OL_DIST_INFO CHAR(24)) PCTFREE 10;

CREATE TABLE ORABM.STOCK (S_I_ID NUMBER(6, 0), S_W_ID
  NUMBER(4, 0), S_QUANTITY NUMBER(6, 0), S_DIST_01 CHAR(24),
  S_DIST_02 CHAR(24), S_DIST_03 CHAR(24), S_DIST_04 CHAR(24),
  S_DIST_05 CHAR(24), S_DIST_06 CHAR(24), S_DIST_07 CHAR(24),
  S_DIST_08 CHAR(24), S_DIST_09 CHAR(24), S_DIST_10 CHAR(24),
  S_YTD NUMBER(10, 0), S_ORDER_CNT NUMBER(6, 0), S_REMOTE_CNT
  NUMBER(6, 0), S_DATA VARCHAR2(50)) PCTFREE 10;

CREATE TABLE ORABM.WAREHOUSE (W_ID NUMBER(4, 0), W_YTD
  NUMBER(12, 2), W_TAX NUMBER(4, 4), W_NAME VARCHAR2(10),
  W_STREET_1 VARCHAR2(20), W_STREET_2 VARCHAR2(20), W_CITY
  VARCHAR2(20), W_STATE CHAR(2), W_ZIP CHAR(9)) PCTFREE 10;

exit




Index Creation Script
alter session set sort_area_size=5000000;

CREATE UNIQUE INDEX ORABM.CUSTOMER_I1
ON ORABM.CUSTOMER ( C_W_ID, C_D_ID, C_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.CUSTOMER_I2
ON ORABM.CUSTOMER
( C_LAST, C_W_ID, C_D_ID, C_FIRST, C_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.DISTRICT_I1
ON ORABM.DISTRICT
( D_W_ID, D_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.ITEM_I1
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P41   © 2010 Bloombase Technologies




ON ORABM.ITEM
( I_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.NEW_ORDER_I1
ON ORABM.NEW_ORDER
( NO_W_ID, NO_D_ID, NO_O_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.ORDERS_I1
ON ORABM.ORDERS
( O_W_ID, O_D_ID, O_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.ORDERS_I2
ON ORABM.ORDERS
(O_W_ID, O_D_ID, O_C_ID, O_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.ORDER_LINE_I1
ON ORABM.ORDER_LINE
( OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.STOCK_I1
ON ORABM.STOCK
( S_I_ID, S_W_ID) PCTFREE 10;


CREATE UNIQUE INDEX ORABM.WAREHOUSE_I1
ON ORABM.WAREHOUSE
( W_ID) PCTFREE 10;


CREATE INDEX ORABM.CUSTOMER_I3
ON ORABM.CUSTOMER
( C_FIRST ) PCTFREE 10;

CREATE INDEX ORABM.CUSTOMER_I4
ON ORABM.CUSTOMER
( C_BALANCE ) PCTFREE 10;

CREATE INDEX ORABM.CUSTOMER_I5
ON ORABM.CUSTOMER
( C_DISCOUNT ) PCTFREE 10;

CREATE INDEX ORABM.CUSTOMER_I6
ON ORABM.CUSTOMER
( C_CITY ) PCTFREE 10;

CREATE INDEX ORABM.CUSTOMER_I7
ON ORABM.CUSTOMER
( C_ID ) PCTFREE 10;

CREATE INDEX ORABM.DISTRICT_I2
ON ORABM.DISTRICT
( D_ID ) PCTFREE 10;

CREATE INDEX ORABM.DISTRICT_I3
ON ORABM.DISTRICT
( D_CITY ) PCTFREE 10;

CREATE INDEX ORABM.ORDERS_I3
ON ORABM.ORDERS
( O_OL_CNT ) PCTFREE 10;
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P42   © 2010 Bloombase Technologies




CREATE INDEX ORABM.ORDERS_I4
ON ORABM.ORDERS
( O_C_ID ) PCTFREE 10;

CREATE INDEX ORABM.ORDERS_I5
ON ORABM.ORDERS
( O_ID) PCTFREE 10;

CREATE INDEX ORABM.ORDER_LINE_I2
ON ORABM.ORDER_LINE
( OL_AMOUNT ) PCTFREE 10;

CREATE INDEX ORABM.ORDER_LINE_I3
ON ORABM.ORDER_LINE
( OL_I_ID ) PCTFREE 10;

CREATE INDEX ORABM.ORDER_LINE_I4
ON ORABM.ORDER_LINE
( OL_O_ID) PCTFREE 10;

CREATE INDEX ORABM.STOCK_I2
ON ORABM.STOCK
( S_QUANTITY ) PCTFREE 10;

CREATE INDEX ORABM.WAREHOUSE_I2
ON ORABM.WAREHOUSE
( W_NAME ) PCTFREE 10;




TPC-C Queries
New Order Stored Procedure Script

CREATE OR REPLACE PROCEDURE "ORABM"."NEWORD" (
no_w_id                     INTEGER,
no_max_w_id             INTEGER,
no_d_id                     INTEGER,
no_c_id                     INTEGER,
no_o_ol_cnt                  INTEGER,
no_c_discount                 OUT NUMBER,
no_c_last                   OUT VARCHAR2,
no_c_credit                  OUT VARCHAR2,
no_d_tax                    OUT NUMBER,
no_w_tax                    OUT NUMBER,
no_d_next_o_id                IN OUT INTEGER,
timestamp                   IN DATE )
IS
no_ol_supply_w_id       INTEGER;
no_ol_i_id                   NUMBER;
no_ol_quantity                NUMBER;
no_o_all_local                INTEGER;
o_id                    INTEGER;
no_i_name                   VARCHAR2(24);
no_i_price                   NUMBER(5,2);
no_i_data                   VARCHAR2(50);
no_s_quantity                 NUMBER(6);
no_ol_amount                   NUMBER(6,2);
no_s_dist_01                 CHAR(24);
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P43   © 2010 Bloombase Technologies




no_s_dist_02                                   CHAR(24);
no_s_dist_03                                   CHAR(24);
no_s_dist_04                                   CHAR(24);
no_s_dist_05                                   CHAR(24);
no_s_dist_06                                   CHAR(24);
no_s_dist_07                                   CHAR(24);
no_s_dist_08                                   CHAR(24);
no_s_dist_09                                   CHAR(24);
no_s_dist_10                                   CHAR(24);
no_ol_dist_info                                 CHAR(24);
no_s_data                                     VARCHAR2(50);
x                                         NUMBER;
rbk                                       NUMBER;

not_serializable       EXCEPTION;
PRAGMA EXCEPTION_INIT(not_serializable,-8177);
deadlock                    EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock,-60);
snapshot_too_old       EXCEPTION;
PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555);
integrity_viol        EXCEPTION;
PRAGMA EXCEPTION_INIT(integrity_viol,-1);

BEGIN
--assignment below added due to error in appendix code
no_o_all_local := 0;
SELECT c_discount, c_last, c_credit, w_tax
INTO no_c_discount, no_c_last, no_c_credit, no_w_tax
FROM customer, warehouse
WHERE warehouse.w_id = no_w_id AND customer.c_w_id = no_w_id AND
customer.c_d_id = no_d_id AND customer.c_id = no_c_id;
UPDATE district SET d_next_o_id = d_next_o_id + 1 WHERE d_id = no_d_id AND d_w_id = no_w_id
RETURNING d_next_o_id, d_tax INTO no_d_next_o_id, no_d_tax;
o_id := no_d_next_o_id;
INSERT INTO ORDERS (o_id, o_d_id, o_w_id, o_c_id, o_entry_d, o_ol_cnt, o_all_local) VALUES (o_id,
no_d_id, no_w_id, no_c_id, timestamp, no_o_ol_cnt, no_o_all_local);
INSERT INTO NEW_ORDER (no_o_id, no_d_id, no_w_id) VALUES (o_id, no_d_id, no_w_id);
--#2.4.1.4
rbk := round(DBMS_RANDOM.value(low => 1, high => 100));
--#2.4.1.5
FOR loop_counter IN 1 .. no_o_ol_cnt
LOOP
IF ((loop_counter = no_o_ol_cnt) AND (rbk = 1))
THEN
no_ol_i_id := 100001;
ELSE
no_ol_i_id := round(DBMS_RANDOM.value(low => 1, high => 100000));
END IF;
--#2.4.1.5.2
x := round(DBMS_RANDOM.value(low => 1, high => 100));
IF ( x > 1 )
THEN
no_ol_supply_w_id := no_w_id;
ELSE
no_ol_supply_w_id := no_w_id;
--no_all_local is actually used before this point so following not beneficial
no_o_all_local := 0;
WHILE ((no_ol_supply_w_id = no_w_id) AND (no_max_w_id != 1))
LOOP
no_ol_supply_w_id := round(DBMS_RANDOM.value(low => 1, high => no_max_w_id));
END LOOP;
END IF;
--#2.4.1.5.3
no_ol_quantity := round(DBMS_RANDOM.value(low => 1, high => 10));
SELECT i_price, i_name, i_data INTO no_i_price, no_i_name, no_i_data
FROM item WHERE i_id = no_ol_i_id;
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P44   © 2010 Bloombase Technologies




SELECT s_quantity, s_data, s_dist_01, s_dist_02, s_dist_03, s_dist_04, s_dist_05, s_dist_06,
s_dist_07, s_dist_08, s_dist_09, s_dist_10
INTO no_s_quantity, no_s_data, no_s_dist_01, no_s_dist_02, no_s_dist_03, no_s_dist_04,
no_s_dist_05, no_s_dist_06, no_s_dist_07, no_s_dist_08, no_s_dist_09, no_s_dist_10 FROM stock WHERE
s_i_id = no_ol_i_id AND s_w_id = no_ol_supply_w_id;
IF ( no_s_quantity > no_ol_quantity )
THEN
no_s_quantity := ( no_s_quantity - no_ol_quantity );
ELSE
no_s_quantity := ( no_s_quantity - no_ol_quantity + 91 );
END IF;
UPDATE stock SET s_quantity = no_s_quantity
WHERE s_i_id = no_ol_i_id
AND s_w_id = no_ol_supply_w_id;

no_ol_amount := ( no_ol_quantity * no_i_price * ( 1 + no_w_tax + no_d_tax ) * ( 1 - no_c_discount
) );

IF no_d_id = 1
THEN
no_ol_dist_info := no_s_dist_01;

ELSIF no_d_id = 2
THEN
no_ol_dist_info := no_s_dist_02;

ELSIF no_d_id = 3
THEN
no_ol_dist_info := no_s_dist_03;

ELSIF no_d_id = 4
THEN
no_ol_dist_info := no_s_dist_04;

ELSIF no_d_id = 5
THEN
no_ol_dist_info := no_s_dist_05;

ELSIF no_d_id = 6
THEN
no_ol_dist_info := no_s_dist_06;

ELSIF no_d_id = 7
THEN
no_ol_dist_info := no_s_dist_07;

ELSIF no_d_id = 8
THEN
no_ol_dist_info := no_s_dist_08;

ELSIF no_d_id = 9
THEN
no_ol_dist_info := no_s_dist_09;

ELSIF no_d_id = 10
THEN
no_ol_dist_info := no_s_dist_10;
END IF;

INSERT INTO order_line (ol_o_id, ol_d_id, ol_w_id, ol_number, ol_i_id, ol_supply_w_id, ol_quantity,
ol_amount, ol_dist_info)
VALUES (o_id, no_d_id, no_w_id, loop_counter, no_ol_i_id, no_ol_supply_w_id, no_ol_quantity,
no_ol_amount, no_ol_dist_info);

END LOOP;

COMMIT;
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P45   © 2010 Bloombase Technologies




EXCEPTION
WHEN not_serializable OR deadlock OR snapshot_too_old OR integrity_viol
THEN
ROLLBACK;

END;



Order Status Stored Procedure Script

CREATE OR REPLACE PROCEDURE "ORABM"."OSTAT" (
os_w_id                     INTEGER,
os_d_id                     INTEGER,
os_c_id                     IN OUT INTEGER,
byname                      INTEGER,
os_c_last                    IN OUT VARCHAR2,
os_c_first                   OUT VARCHAR2,
os_c_middle                  OUT VARCHAR2,
os_c_balance                  OUT NUMBER,
os_o_id                     OUT INTEGER,
os_entdate                OUT DATE,
os_o_carrier_id                OUT INTEGER )
IS
TYPE numbertable IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
os_ol_i_id numbertable;
os_ol_supply_w_id numbertable;
os_ol_quantity numbertable;
TYPE amounttable IS TABLE OF NUMBER(6,2) INDEX BY BINARY_INTEGER;
os_ol_amount amounttable;
TYPE datetable IS TABLE OF DATE INDEX BY BINARY_INTEGER;
os_ol_delivery_d datetable;
namecnt                         INTEGER;
i                       BINARY_INTEGER;
CURSOR c_name IS
SELECT c_balance, c_first, c_middle, c_id
FROM customer
WHERE c_last = os_c_last AND c_d_id = os_d_id AND c_w_id = os_w_id
ORDER BY c_first;
CURSOR c_line IS
SELECT ol_i_id, ol_supply_w_id, ol_quantity,
ol_amount, ol_delivery_d
FROM order_line
WHERE ol_o_id = os_o_id AND ol_d_id = os_d_id AND ol_w_id = os_w_id;
os_c_line c_line%ROWTYPE;
not_serializable       EXCEPTION;
PRAGMA EXCEPTION_INIT(not_serializable,-8177);
deadlock                    EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock,-60);
snapshot_too_old       EXCEPTION;
PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555);
BEGIN
IF ( byname = 1 )
THEN
SELECT count(c_id) INTO namecnt
FROM customer
WHERE c_last = os_c_last AND c_d_id = os_d_id AND c_w_id = os_w_id;
IF ( MOD (namecnt, 2) = 1 )
THEN
namecnt := (namecnt + 1);
END IF;
OPEN c_name;
FOR loop_counter IN 0 .. (namecnt/2)
LOOP
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P46   © 2010 Bloombase Technologies




FETCH c_name
INTO os_c_balance, os_c_first, os_c_middle, os_c_id;
END LOOP;
close c_name;
ELSE
SELECT c_balance, c_first, c_middle, c_last
INTO os_c_balance, os_c_first, os_c_middle, os_c_last
FROM customer
WHERE c_id = os_c_id AND c_d_id = os_d_id AND c_w_id = os_w_id;
END IF;
-- The following statement in the TPC-C specification appendix is incorrect
-- as it does not include the where clause and does not restrict the
-- results set giving an ORA-01422.
-- The statement has been modified in accordance with the
-- descriptive specification as follows:
-- The row in the ORDER table with matching O_W_ID (equals C_W_ID),
-- O_D_ID (equals C_D_ID), O_C_ID (equals C_ID), and with the largest
-- existing O_ID, is selected. This is the most recent order placed by that
-- customer. O_ID, O_ENTRY_D, and O_CARRIER_ID are retrieved.
SELECT o_id, o_carrier_id, o_entry_d
INTO os_o_id, os_o_carrier_id, os_entdate
FROM
(SELECT o_id, o_carrier_id, o_entry_d
FROM orders where o_d_id = os_d_id AND o_w_id = os_w_id and o_c_id=os_c_id
ORDER BY o_id DESC)
WHERE ROWNUM = 1;
i := 0;
FOR os_c_line IN c_line
LOOP
os_ol_i_id(i) := os_c_line.ol_i_id;
os_ol_supply_w_id(i) := os_c_line.ol_supply_w_id;
os_ol_quantity(i) := os_c_line.ol_quantity;
os_ol_amount(i) := os_c_line.ol_amount;
os_ol_delivery_d(i) := os_c_line.ol_delivery_d;
i := i+1;
END LOOP;
EXCEPTION WHEN not_serializable OR deadlock OR snapshot_too_old THEN
ROLLBACK;
END;



Payment Stored Procedure Script

CREATE OR REPLACE PROCEDURE "ORABM"."PAYMENT" (
p_w_id                     INTEGER,
p_d_id                     INTEGER,
p_c_w_id                   INTEGER,
p_c_d_id                   INTEGER,
p_c_id                     IN OUT INTEGER,
byname                      INTEGER,
p_h_amount                   NUMBER,
p_c_last                   IN OUT VARCHAR2,
p_w_street_1                 OUT VARCHAR2,
p_w_street_2                 OUT VARCHAR2,
p_w_city                   OUT VARCHAR2,
p_w_state                   OUT VARCHAR2,
p_w_zip                    OUT VARCHAR2,
p_d_street_1                 OUT VARCHAR2,
p_d_street_2                 OUT VARCHAR2,
p_d_city                   OUT VARCHAR2,
p_d_state                   OUT VARCHAR2,
p_d_zip                    OUT VARCHAR2,
p_c_first                   OUT VARCHAR2,
p_c_middle                  OUT VARCHAR2,
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P47   © 2010 Bloombase Technologies




p_c_street_1                 OUT VARCHAR2,
p_c_street_2                 OUT VARCHAR2,
p_c_city                   OUT VARCHAR2,
p_c_state                   OUT VARCHAR2,
p_c_zip                    OUT VARCHAR2,
p_c_phone                   OUT VARCHAR2,
p_c_since                   OUT DATE,
p_c_credit                  IN OUT VARCHAR2,
p_c_credit_lim               OUT NUMBER,
p_c_discount                 OUT NUMBER,
p_c_balance                 IN OUT NUMBER,
p_c_data                   OUT VARCHAR2,
timestamp                    IN DATE )
IS
namecnt                        INTEGER;
p_d_name                   VARCHAR2(11);
p_w_name                   VARCHAR2(11);
p_c_new_data                  VARCHAR2(500);
h_data                      VARCHAR2(30);
CURSOR c_byname IS
SELECT c_first, c_middle, c_id,
c_street_1, c_street_2, c_city, c_state, c_zip,
c_phone, c_credit, c_credit_lim,
c_discount, c_balance, c_since
FROM customer
WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_last = p_c_last
ORDER BY c_first;
not_serializable       EXCEPTION;
PRAGMA EXCEPTION_INIT(not_serializable,-8177);
deadlock                     EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock,-60);
snapshot_too_old       EXCEPTION;
PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555);

BEGIN
UPDATE warehouse SET w_ytd = w_ytd + p_h_amount
WHERE w_id = p_w_id;
SELECT w_street_1, w_street_2, w_city, w_state, w_zip, w_name
INTO p_w_street_1, p_w_street_2, p_w_city, p_w_state, p_w_zip, p_w_name
FROM warehouse
WHERE w_id = p_w_id;
UPDATE district SET d_ytd = d_ytd + p_h_amount
WHERE d_w_id = p_w_id AND d_id = p_d_id;
SELECT d_street_1, d_street_2, d_city, d_state, d_zip, d_name
INTO p_d_street_1, p_d_street_2, p_d_city, p_d_state, p_d_zip, p_d_name
FROM district
WHERE d_w_id = p_w_id AND d_id = p_d_id;
IF ( byname = 1 )
THEN
SELECT count(c_id) INTO namecnt
FROM customer
WHERE c_last = p_c_last AND c_d_id = p_c_d_id AND c_w_id = p_c_w_id;
OPEN c_byname;
IF ( MOD (namecnt, 2) = 1 )
THEN
namecnt := (namecnt + 1);
END IF;
FOR loop_counter IN 0 .. (namecnt/2)
LOOP
FETCH c_byname
INTO p_c_first, p_c_middle, p_c_id, p_c_street_1, p_c_street_2, p_c_city,
p_c_state, p_c_zip, p_c_phone, p_c_credit, p_c_credit_lim, p_c_discount, p_c_balance, p_c_since;
END LOOP;
CLOSE c_byname;
ELSE
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P48   © 2010 Bloombase Technologies




SELECT c_first, c_middle, c_last,
c_street_1, c_street_2, c_city, c_state, c_zip,
c_phone, c_credit, c_credit_lim,
c_discount, c_balance, c_since
INTO p_c_first, p_c_middle, p_c_last,
p_c_street_1, p_c_street_2, p_c_city, p_c_state, p_c_zip,
p_c_phone, p_c_credit, p_c_credit_lim,
p_c_discount, p_c_balance, p_c_since
FROM customer
WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_id = p_c_id;
END IF;
p_c_balance := ( p_c_balance + p_h_amount );
IF p_c_credit = 'BC'
THEN
 SELECT c_data INTO p_c_data
FROM customer
WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_id = p_c_id;
-- The following statement in the TPC-C specification appendix is incorrect
-- copied setting of h_data from later on in the procedure to here as well
h_data := ( p_w_name || ' ' || p_d_name );
p_c_new_data := (TO_CHAR(p_c_id) || ' ' || TO_CHAR(p_c_d_id) || ' ' ||
TO_CHAR(p_c_w_id) || ' ' || TO_CHAR(p_d_id) || ' ' || TO_CHAR(p_w_id) || ' ' ||
TO_CHAR(p_h_amount,'9999.99') || TO_CHAR(timestamp) || h_data);
p_c_new_data := substr(CONCAT(p_c_new_data,p_c_data),1,500-(LENGTH(p_c_new_data)));
UPDATE customer
SET c_balance = p_c_balance, c_data = p_c_new_data
WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND
c_id = p_c_id;
ELSE
UPDATE customer SET c_balance = p_c_balance
WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND
c_id = p_c_id;
END IF;
--setting of h_data is here in the TPC-C appendix
h_data := ( p_w_name|| ' ' || p_d_name );
INSERT INTO history (h_c_d_id, h_c_w_id, h_c_id, h_d_id,
h_w_id, h_date, h_amount, h_data)
VALUES (p_c_d_id, p_c_w_id, p_c_id, p_d_id,
p_w_id, timestamp, p_h_amount, h_data);
COMMIT;
EXCEPTION
WHEN not_serializable OR deadlock OR snapshot_too_old
THEN
ROLLBACK;
END;



Stock Level Stored Procedure Script

CREATE OR REPLACE PROCEDURE "ORABM"."SLEV" (
st_w_id                      INTEGER,
st_d_id                      INTEGER,
threshold                   INTEGER )
IS
st_o_id                       NUMBER;
stock_count             INTEGER;
not_serializable    EXCEPTION;
PRAGMA EXCEPTION_INIT(not_serializable,-8177);
deadlock                    EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock,-60);
snapshot_too_old       EXCEPTION;
PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555);
BEGIN
SELECT d_next_o_id INTO st_o_id
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P49   © 2010 Bloombase Technologies




FROM district
WHERE d_w_id=st_w_id AND d_id=st_d_id;

SELECT COUNT(DISTINCT (s_i_id)) INTO stock_count
FROM order_line, stock
WHERE ol_w_id = st_w_id AND
ol_d_id = st_d_id AND (ol_o_id < st_o_id) AND
ol_o_id >= (st_o_id - 20) AND s_w_id = st_w_id AND
s_i_id = ol_i_id AND s_quantity < threshold;
COMMIT;
EXCEPTION
WHEN not_serializable OR deadlock OR snapshot_too_old
THEN
ROLLBACK;
END;



Delivery Stored Procedure Script

CREATE OR REPLACE PROCEDURE "ORABM"."DELIVERY" (
d_w_id                      INTEGER,
d_o_carrier_id                INTEGER,
timestamp                    IN DATE )
IS
d_no_o_id               INTEGER;
d_d_id                         INTEGER;
d_c_id                         NUMBER;
d_ol_total              NUMBER(6,2);
current_ROWID                  UROWID;
--WHERE CURRENT OF CLAUSE IN SPECIFICATION GAVE VERY POOR PERFORMANCE
--USED ROWID AS GIVEN IN DOC CDOUG Tricks and Treats by Shahs Upadhye
CURSOR c_no IS
SELECT no_o_id,ROWID
FROM new_order
WHERE no_d_id = d_d_id AND no_w_id = d_w_id
ORDER BY no_o_id ASC;

not_serializable       EXCEPTION;
PRAGMA EXCEPTION_INIT(not_serializable,-8177);
deadlock                    EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock,-60);
snapshot_too_old       EXCEPTION;
PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555);

BEGIN
FOR loop_counter IN 1 .. 10
LOOP
d_d_id := loop_counter;
open c_no;
FETCH c_no INTO d_no_o_id,current_ROWID;
EXIT WHEN c_no%NOTFOUND;
DELETE FROM new_order WHERE rowid = current_ROWID;
close c_no;
SELECT o_c_id INTO d_c_id FROM orders
WHERE o_id = d_no_o_id AND o_d_id = d_d_id AND
o_w_id = d_w_id;
 UPDATE orders SET o_carrier_id = d_o_carrier_id
WHERE o_id = d_no_o_id AND o_d_id = d_d_id AND
o_w_id = d_w_id;
UPDATE order_line SET ol_delivery_d = timestamp
WHERE ol_o_id = d_no_o_id AND ol_d_id = d_d_id AND
ol_w_id = d_w_id;
SELECT SUM(ol_amount) INTO d_ol_total
FROM order_line
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P50   © 2010 Bloombase Technologies




WHERE ol_o_id = d_no_o_id AND ol_d_id = d_d_id
AND ol_w_id = d_w_id;
UPDATE customer SET c_balance = c_balance + d_ol_total
WHERE c_id = d_c_id AND c_d_id = d_d_id AND
c_w_id = d_w_id;
COMMIT;
DBMS_OUTPUT.PUT_LINE('D: ' || d_d_id || 'O: ' || d_no_o_id || 'time ' || timestamp);
END LOOP;
EXCEPTION
WHEN not_serializable OR deadlock OR snapshot_too_old
THEN
ROLLBACK;
END;
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P51   © 2010 Bloombase Technologies




Appendix C - Batch Process SQL Scripts




Find Orders By Amount And Customer Balance and
Discount Query
set time off echo on feedback on autotrace off
timing start
select * from
(select *
from ORDERS, ORDER_LINE, ITEM, CUSTOMER
where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID
and ORDER_LINE.OL_O_ID = ORDERS.O_ID
and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID
and ORDER_LINE.OL_I_ID = ITEM.I_ID
and ORDERS.O_W_ID = CUSTOMER.C_W_ID
and ORDERS.O_D_ID = CUSTOMER.C_D_ID
and ORDERS.O_C_ID = CUSTOMER.C_ID
and ORDER_LINE.OL_AMOUNT > 28
and ORDER_LINE.OL_AMOUNT < 39
and CUSTOMER.C_BALANCE > 0
and CUSTOMER.C_DISCOUNT > 0.1
and CUSTOMER.C_DISCOUNT < 0.2
order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc)
where ROWNUM <= 10;
timing stop
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P52   © 2010 Bloombase Technologies




Find Orders By Amount Query
set time off echo on feedback on autotrace off
timing start
select * from
(select *
from ORDERS, ORDER_LINE, ITEM, CUSTOMER
where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID
and ORDER_LINE.OL_O_ID = ORDERS.O_ID
and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID
and ORDER_LINE.OL_I_ID = ITEM.I_ID
and ORDERS.O_W_ID = CUSTOMER.C_W_ID
and ORDERS.O_D_ID = CUSTOMER.C_D_ID
and ORDERS.O_C_ID = CUSTOMER.C_ID
and ORDER_LINE.OL_AMOUNT > 28
and ORDER_LINE.OL_AMOUNT < 39
order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc)
where ROWNUM <= 10;
timing stop




Find Customer By Name Query
set time off echo on feedback on autotrace off
timing start
select * from
(select *
from CUSTOMER
where CUSTOMER.C_LAST like 'E%'
and CUSTOMER.C_FIRST like 'E%'
order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc)
where ROWNUM <= 10;
timing stop




Find Items Under Stock Query
set time off echo on feedback on autotrace off
timing start
select * from
(select *
from STOCK, ITEM, WAREHOUSE
where STOCK.S_I_ID = ITEM.I_ID
and STOCK.S_W_ID = WAREHOUSE.W_ID
and S_QUANTITY < 10
order by WAREHOUSE.W_NAME asc)
where ROWNUM <= 10;
timing stop
Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows   P53   © 2010 Bloombase Technologies




Update Order Line By Amount Query
set time off echo on feedback on autotrace off
timing start
update ORDER_LINE
set OL_DIST_INFO = OL_DIST_INFO
where OL_AMOUNT > 18
and OL_AMOUNT < 19
timing stop

Contenu connexe

Tendances

Dw guide 11 g r2
Dw guide 11 g r2Dw guide 11 g r2
Dw guide 11 g r2sgyazuddin
 
Plesk 8.1 for Linux/UNIX
Plesk 8.1 for Linux/UNIXPlesk 8.1 for Linux/UNIX
Plesk 8.1 for Linux/UNIXwebhostingguy
 
Coherence developer's guide
Coherence developer's guideCoherence developer's guide
Coherence developer's guidewangdun119
 
Informatica installation guide
Informatica installation guideInformatica installation guide
Informatica installation guidecbosepandian
 
R3 tax interface configuration guide
R3 tax interface configuration guideR3 tax interface configuration guide
R3 tax interface configuration guideNaval Bhatt ,PMP
 
Cloud Infrastructure Architecture Case Study
Cloud Infrastructure Architecture Case StudyCloud Infrastructure Architecture Case Study
Cloud Infrastructure Architecture Case StudyEMC
 
Optimizing oracle-on-sun-cmt-platform
Optimizing oracle-on-sun-cmt-platformOptimizing oracle-on-sun-cmt-platform
Optimizing oracle-on-sun-cmt-platformSal Marcus
 
Maa wp sun_apps11i_db10g_r2-2
Maa wp sun_apps11i_db10g_r2-2Maa wp sun_apps11i_db10g_r2-2
Maa wp sun_apps11i_db10g_r2-2Sal Marcus
 
ONTAP : System Administration Guide NetApp, Inc.
ONTAP : System Administration Guide NetApp, Inc.ONTAP : System Administration Guide NetApp, Inc.
ONTAP : System Administration Guide NetApp, Inc.Kumaran Balachandran
 
hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...webhostingguy
 
PANOS 4.1 Administrators Guide
PANOS 4.1 Administrators GuidePANOS 4.1 Administrators Guide
PANOS 4.1 Administrators GuideAltaware, Inc.
 

Tendances (19)

Dw guide 11 g r2
Dw guide 11 g r2Dw guide 11 g r2
Dw guide 11 g r2
 
Plesk 8.1 for Linux/UNIX
Plesk 8.1 for Linux/UNIXPlesk 8.1 for Linux/UNIX
Plesk 8.1 for Linux/UNIX
 
Coherence developer's guide
Coherence developer's guideCoherence developer's guide
Coherence developer's guide
 
Kes8.0 linuxwks installation_en
Kes8.0 linuxwks installation_enKes8.0 linuxwks installation_en
Kes8.0 linuxwks installation_en
 
Amdin iws7 817-2179-10
Amdin iws7 817-2179-10Amdin iws7 817-2179-10
Amdin iws7 817-2179-10
 
B12303
B12303B12303
B12303
 
Oracle_9i_Database_Getting_started
Oracle_9i_Database_Getting_startedOracle_9i_Database_Getting_started
Oracle_9i_Database_Getting_started
 
Informatica installation guide
Informatica installation guideInformatica installation guide
Informatica installation guide
 
R3 tax interface configuration guide
R3 tax interface configuration guideR3 tax interface configuration guide
R3 tax interface configuration guide
 
Cloud Infrastructure Architecture Case Study
Cloud Infrastructure Architecture Case StudyCloud Infrastructure Architecture Case Study
Cloud Infrastructure Architecture Case Study
 
Optimizing oracle-on-sun-cmt-platform
Optimizing oracle-on-sun-cmt-platformOptimizing oracle-on-sun-cmt-platform
Optimizing oracle-on-sun-cmt-platform
 
Maa wp sun_apps11i_db10g_r2-2
Maa wp sun_apps11i_db10g_r2-2Maa wp sun_apps11i_db10g_r2-2
Maa wp sun_apps11i_db10g_r2-2
 
ONTAP : System Administration Guide NetApp, Inc.
ONTAP : System Administration Guide NetApp, Inc.ONTAP : System Administration Guide NetApp, Inc.
ONTAP : System Administration Guide NetApp, Inc.
 
Oracle sap
Oracle sapOracle sap
Oracle sap
 
Admin
AdminAdmin
Admin
 
Fiori eğitimi - kod
Fiori eğitimi - kodFiori eğitimi - kod
Fiori eğitimi - kod
 
hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...
 
Recovery oracle
Recovery oracleRecovery oracle
Recovery oracle
 
PANOS 4.1 Administrators Guide
PANOS 4.1 Administrators GuidePANOS 4.1 Administrators Guide
PANOS 4.1 Administrators Guide
 

En vedette

ES-351 Bloombase Spitfire Identity Manager Essentials
ES-351 Bloombase Spitfire Identity Manager EssentialsES-351 Bloombase Spitfire Identity Manager Essentials
ES-351 Bloombase Spitfire Identity Manager EssentialsBloombase
 
Bloombase Turnkey Data At-Rest Security Compliance Solution for EMC Celerra
Bloombase Turnkey Data At-Rest Security Compliance Solution for EMC CelerraBloombase Turnkey Data At-Rest Security Compliance Solution for EMC Celerra
Bloombase Turnkey Data At-Rest Security Compliance Solution for EMC CelerraBloombase
 
Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...
Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...
Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...Bloombase
 
Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3
Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3
Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3Bloombase
 
Bloombase Spitfire Identity Manager Compatibility Matrix
Bloombase Spitfire Identity Manager Compatibility MatrixBloombase Spitfire Identity Manager Compatibility Matrix
Bloombase Spitfire Identity Manager Compatibility MatrixBloombase
 
Bloombase Spitfire Messaging Security Server Specifications
Bloombase Spitfire Messaging Security Server SpecificationsBloombase Spitfire Messaging Security Server Specifications
Bloombase Spitfire Messaging Security Server SpecificationsBloombase
 
Bloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter Interoperability
Bloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter InteroperabilityBloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter Interoperability
Bloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter InteroperabilityBloombase
 
Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2
Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2
Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2Bloombase
 

En vedette (8)

ES-351 Bloombase Spitfire Identity Manager Essentials
ES-351 Bloombase Spitfire Identity Manager EssentialsES-351 Bloombase Spitfire Identity Manager Essentials
ES-351 Bloombase Spitfire Identity Manager Essentials
 
Bloombase Turnkey Data At-Rest Security Compliance Solution for EMC Celerra
Bloombase Turnkey Data At-Rest Security Compliance Solution for EMC CelerraBloombase Turnkey Data At-Rest Security Compliance Solution for EMC Celerra
Bloombase Turnkey Data At-Rest Security Compliance Solution for EMC Celerra
 
Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...
Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...
Blbs an-encryption-oracle-bloombase-store safe-nec-express-5800ft-application...
 
Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3
Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3
Blbs tn-bloombase-store safe-nas-benchmarking-uslet-en-r3
 
Bloombase Spitfire Identity Manager Compatibility Matrix
Bloombase Spitfire Identity Manager Compatibility MatrixBloombase Spitfire Identity Manager Compatibility Matrix
Bloombase Spitfire Identity Manager Compatibility Matrix
 
Bloombase Spitfire Messaging Security Server Specifications
Bloombase Spitfire Messaging Security Server SpecificationsBloombase Spitfire Messaging Security Server Specifications
Bloombase Spitfire Messaging Security Server Specifications
 
Bloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter Interoperability
Bloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter InteroperabilityBloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter Interoperability
Bloombase Spitfire StoreSafe QLogic 10GbE Ethernet Adapter Interoperability
 
Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2
Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2
Blbs an-bloombase-store safe-oracle-ibm-hacmp-application-notes-uslet-en-r2
 

Similaire à Performance Benchmarks for Bloombase Spitfire StoreSafe Encryption Security Server for Microsoft Windows

Plesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXPlesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXwebhostingguy
 
Forti gate ssl_vpn_user_guide_01-30004-0348-20070405
Forti gate ssl_vpn_user_guide_01-30004-0348-20070405Forti gate ssl_vpn_user_guide_01-30004-0348-20070405
Forti gate ssl_vpn_user_guide_01-30004-0348-20070405hoanv
 
Bloombase Spitfire StoreSafe QLogic iSCSI HBA Interoperability
Bloombase Spitfire StoreSafe QLogic iSCSI HBA InteroperabilityBloombase Spitfire StoreSafe QLogic iSCSI HBA Interoperability
Bloombase Spitfire StoreSafe QLogic iSCSI HBA InteroperabilityBloombase
 
Juniper MX Config guide-routing-is-is
Juniper MX Config guide-routing-is-isJuniper MX Config guide-routing-is-is
Juniper MX Config guide-routing-is-isMohamed Al-Natour
 
Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...
Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...
Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...Jaleel Ahmed Gulammohiddin
 
B035-2447-220K.pdf
B035-2447-220K.pdfB035-2447-220K.pdf
B035-2447-220K.pdfdegido10
 
Data source integration guide for HP Performance Agent
Data source integration guide for HP Performance AgentData source integration guide for HP Performance Agent
Data source integration guide for HP Performance Agenthernajes
 
Pc 811 troubleshooting_guide
Pc 811 troubleshooting_guidePc 811 troubleshooting_guide
Pc 811 troubleshooting_guidemakhaderms
 
Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718
Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718
Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718guest75224e4
 
ProxySG_ProxyAV_Integration_Guide.pdf
ProxySG_ProxyAV_Integration_Guide.pdfProxySG_ProxyAV_Integration_Guide.pdf
ProxySG_ProxyAV_Integration_Guide.pdfPCCW GLOBAL
 
Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140rajesh_rolta
 
irmpg_3.7_python_202301.pdf
irmpg_3.7_python_202301.pdfirmpg_3.7_python_202301.pdf
irmpg_3.7_python_202301.pdfFernandoBello39
 
ScreenOS Idp policy creation en
ScreenOS Idp policy creation enScreenOS Idp policy creation en
ScreenOS Idp policy creation enMohamed Al-Natour
 
Progress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceProgress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceVinh Nguyen
 
hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...webhostingguy
 
Sap s4 hana 1709 op sap api-master guide
Sap s4 hana 1709 op sap api-master guideSap s4 hana 1709 op sap api-master guide
Sap s4 hana 1709 op sap api-master guidemutia_arum
 
Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)Roy Muy Golfo
 
VMware Networking 5.0
VMware Networking 5.0VMware Networking 5.0
VMware Networking 5.0rashedmasood
 

Similaire à Performance Benchmarks for Bloombase Spitfire StoreSafe Encryption Security Server for Microsoft Windows (20)

HRpM_UG_731_HDS_M2
HRpM_UG_731_HDS_M2HRpM_UG_731_HDS_M2
HRpM_UG_731_HDS_M2
 
Plesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIXPlesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIX
 
Forti gate ssl_vpn_user_guide_01-30004-0348-20070405
Forti gate ssl_vpn_user_guide_01-30004-0348-20070405Forti gate ssl_vpn_user_guide_01-30004-0348-20070405
Forti gate ssl_vpn_user_guide_01-30004-0348-20070405
 
Bloombase Spitfire StoreSafe QLogic iSCSI HBA Interoperability
Bloombase Spitfire StoreSafe QLogic iSCSI HBA InteroperabilityBloombase Spitfire StoreSafe QLogic iSCSI HBA Interoperability
Bloombase Spitfire StoreSafe QLogic iSCSI HBA Interoperability
 
Juniper MX Config guide-routing-is-is
Juniper MX Config guide-routing-is-isJuniper MX Config guide-routing-is-is
Juniper MX Config guide-routing-is-is
 
Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...
Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...
Suse linux enterprise_server_15_x_for_sap_applications_configuration_guide_fo...
 
B035-2447-220K.pdf
B035-2447-220K.pdfB035-2447-220K.pdf
B035-2447-220K.pdf
 
Data source integration guide for HP Performance Agent
Data source integration guide for HP Performance AgentData source integration guide for HP Performance Agent
Data source integration guide for HP Performance Agent
 
Pc 811 troubleshooting_guide
Pc 811 troubleshooting_guidePc 811 troubleshooting_guide
Pc 811 troubleshooting_guide
 
Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718
Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718
Forti Gate Ssl Vpn User Guide 01 30007 0348 20080718
 
Install
InstallInstall
Install
 
ProxySG_ProxyAV_Integration_Guide.pdf
ProxySG_ProxyAV_Integration_Guide.pdfProxySG_ProxyAV_Integration_Guide.pdf
ProxySG_ProxyAV_Integration_Guide.pdf
 
Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140Modifying infor erp_syte_line_5140
Modifying infor erp_syte_line_5140
 
irmpg_3.7_python_202301.pdf
irmpg_3.7_python_202301.pdfirmpg_3.7_python_202301.pdf
irmpg_3.7_python_202301.pdf
 
ScreenOS Idp policy creation en
ScreenOS Idp policy creation enScreenOS Idp policy creation en
ScreenOS Idp policy creation en
 
Progress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and referenceProgress OpenEdge database administration guide and reference
Progress OpenEdge database administration guide and reference
 
hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...hp StorageWorks host bus adapter for Windows and Linux ...
hp StorageWorks host bus adapter for Windows and Linux ...
 
Sap s4 hana 1709 op sap api-master guide
Sap s4 hana 1709 op sap api-master guideSap s4 hana 1709 op sap api-master guide
Sap s4 hana 1709 op sap api-master guide
 
Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)Product description vital qip next generation v7 2_en_feb09(1)
Product description vital qip next generation v7 2_en_feb09(1)
 
VMware Networking 5.0
VMware Networking 5.0VMware Networking 5.0
VMware Networking 5.0
 

Plus de Bloombase

a50009291enw - Letter.pdf
a50009291enw - Letter.pdfa50009291enw - Letter.pdf
a50009291enw - Letter.pdfBloombase
 
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...Bloombase
 
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...Bloombase
 
Post-Quantum Security with NVIDIA DPUs and Morpheus
Post-Quantum Security with NVIDIA DPUs and MorpheusPost-Quantum Security with NVIDIA DPUs and Morpheus
Post-Quantum Security with NVIDIA DPUs and MorpheusBloombase
 
HPE - Additional license authorizations - Ala atalla sep2016_5200-0625
HPE - Additional license authorizations - Ala atalla sep2016_5200-0625HPE - Additional license authorizations - Ala atalla sep2016_5200-0625
HPE - Additional license authorizations - Ala atalla sep2016_5200-0625Bloombase
 
HPE - Additional license authorizations
HPE - Additional license authorizationsHPE - Additional license authorizations
HPE - Additional license authorizationsBloombase
 
HPE - Enable Productivity and Security In Your NonStop Environment
HPE - Enable Productivity and Security In Your NonStop EnvironmentHPE - Enable Productivity and Security In Your NonStop Environment
HPE - Enable Productivity and Security In Your NonStop EnvironmentBloombase
 
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...Bloombase
 
4 aa6 8278enw
4 aa6 8278enw4 aa6 8278enw
4 aa6 8278enwBloombase
 
Bloombase store safe bloombase, inc. - oracle cloud marketplace
Bloombase store safe   bloombase, inc. - oracle cloud marketplaceBloombase store safe   bloombase, inc. - oracle cloud marketplace
Bloombase store safe bloombase, inc. - oracle cloud marketplaceBloombase
 
Hpe bloombase store safe kmip integration license - 1 cpu core - with hpe -...
Hpe bloombase store safe kmip integration   license - 1 cpu core - with hpe -...Hpe bloombase store safe kmip integration   license - 1 cpu core - with hpe -...
Hpe bloombase store safe kmip integration license - 1 cpu core - with hpe -...Bloombase
 
The connection forweb p12
The connection forweb p12The connection forweb p12
The connection forweb p12Bloombase
 
Eskm &amp; bloombase integration data security oct 16
Eskm &amp; bloombase integration   data security oct 16Eskm &amp; bloombase integration   data security oct 16
Eskm &amp; bloombase integration data security oct 16Bloombase
 
Bloombase integration with eskm final w alliance cert logo 6_11_15
Bloombase integration with eskm final w alliance cert logo 6_11_15Bloombase integration with eskm final w alliance cert logo 6_11_15
Bloombase integration with eskm final w alliance cert logo 6_11_15Bloombase
 
4 aa6 8278enw
4 aa6 8278enw4 aa6 8278enw
4 aa6 8278enwBloombase
 
Bloombase store safe mf solution brief 2017 pdf
Bloombase store safe   mf solution brief 2017 pdfBloombase store safe   mf solution brief 2017 pdf
Bloombase store safe mf solution brief 2017 pdfBloombase
 
Bloombase store safe 1pager mf solution brief template 2017
Bloombase store safe   1pager mf solution brief template 2017Bloombase store safe   1pager mf solution brief template 2017
Bloombase store safe 1pager mf solution brief template 2017Bloombase
 
The connection beyond non stop encryption
The connection   beyond non stop encryptionThe connection   beyond non stop encryption
The connection beyond non stop encryptionBloombase
 
Blbs tn-double-the-power-half-the-space-uslet-en
Blbs tn-double-the-power-half-the-space-uslet-enBlbs tn-double-the-power-half-the-space-uslet-en
Blbs tn-double-the-power-half-the-space-uslet-enBloombase
 
Win av as_pm_de_3_6_11098_2
Win av as_pm_de_3_6_11098_2Win av as_pm_de_3_6_11098_2
Win av as_pm_de_3_6_11098_2Bloombase
 

Plus de Bloombase (20)

a50009291enw - Letter.pdf
a50009291enw - Letter.pdfa50009291enw - Letter.pdf
a50009291enw - Letter.pdf
 
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
 
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
HPE and Bloombase – HPE ProLiant and Bloombase StoreSafe Intelligent Storage ...
 
Post-Quantum Security with NVIDIA DPUs and Morpheus
Post-Quantum Security with NVIDIA DPUs and MorpheusPost-Quantum Security with NVIDIA DPUs and Morpheus
Post-Quantum Security with NVIDIA DPUs and Morpheus
 
HPE - Additional license authorizations - Ala atalla sep2016_5200-0625
HPE - Additional license authorizations - Ala atalla sep2016_5200-0625HPE - Additional license authorizations - Ala atalla sep2016_5200-0625
HPE - Additional license authorizations - Ala atalla sep2016_5200-0625
 
HPE - Additional license authorizations
HPE - Additional license authorizationsHPE - Additional license authorizations
HPE - Additional license authorizations
 
HPE - Enable Productivity and Security In Your NonStop Environment
HPE - Enable Productivity and Security In Your NonStop EnvironmentHPE - Enable Productivity and Security In Your NonStop Environment
HPE - Enable Productivity and Security In Your NonStop Environment
 
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
Delivering transparent data_encryption_while_centrally_managing_keys_eskm-blo...
 
4 aa6 8278enw
4 aa6 8278enw4 aa6 8278enw
4 aa6 8278enw
 
Bloombase store safe bloombase, inc. - oracle cloud marketplace
Bloombase store safe   bloombase, inc. - oracle cloud marketplaceBloombase store safe   bloombase, inc. - oracle cloud marketplace
Bloombase store safe bloombase, inc. - oracle cloud marketplace
 
Hpe bloombase store safe kmip integration license - 1 cpu core - with hpe -...
Hpe bloombase store safe kmip integration   license - 1 cpu core - with hpe -...Hpe bloombase store safe kmip integration   license - 1 cpu core - with hpe -...
Hpe bloombase store safe kmip integration license - 1 cpu core - with hpe -...
 
The connection forweb p12
The connection forweb p12The connection forweb p12
The connection forweb p12
 
Eskm &amp; bloombase integration data security oct 16
Eskm &amp; bloombase integration   data security oct 16Eskm &amp; bloombase integration   data security oct 16
Eskm &amp; bloombase integration data security oct 16
 
Bloombase integration with eskm final w alliance cert logo 6_11_15
Bloombase integration with eskm final w alliance cert logo 6_11_15Bloombase integration with eskm final w alliance cert logo 6_11_15
Bloombase integration with eskm final w alliance cert logo 6_11_15
 
4 aa6 8278enw
4 aa6 8278enw4 aa6 8278enw
4 aa6 8278enw
 
Bloombase store safe mf solution brief 2017 pdf
Bloombase store safe   mf solution brief 2017 pdfBloombase store safe   mf solution brief 2017 pdf
Bloombase store safe mf solution brief 2017 pdf
 
Bloombase store safe 1pager mf solution brief template 2017
Bloombase store safe   1pager mf solution brief template 2017Bloombase store safe   1pager mf solution brief template 2017
Bloombase store safe 1pager mf solution brief template 2017
 
The connection beyond non stop encryption
The connection   beyond non stop encryptionThe connection   beyond non stop encryption
The connection beyond non stop encryption
 
Blbs tn-double-the-power-half-the-space-uslet-en
Blbs tn-double-the-power-half-the-space-uslet-enBlbs tn-double-the-power-half-the-space-uslet-en
Blbs tn-double-the-power-half-the-space-uslet-en
 
Win av as_pm_de_3_6_11098_2
Win av as_pm_de_3_6_11098_2Win av as_pm_de_3_6_11098_2
Win av as_pm_de_3_6_11098_2
 

Dernier

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Performance Benchmarks for Bloombase Spitfire StoreSafe Encryption Security Server for Microsoft Windows

  • 1. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P1 © 2010 Bloombase Technologies Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows A performance testing report on Microsoft Windows file-systems and Oracle TPC-C 2010/1/2 Executive Summary Bloombase Spitfire StoreSafe Storage Security Server protects privacy of sensitive enterprise data by transparent encryption and decryption. This paper summarizes performance tests of Bloombase Spitfire StoreSafe Storage Security Server for Microsoft Windows on file-systems and relational database management systems.
  • 2. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P2 © 2010 Bloombase Technologies Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, people and events depicted herein are fictitious and no association with any real company, organization, product, person or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Bloombase Technologies. Bloombase Technologies may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Bloombase Technologies, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. This document is the property of Bloombase Technologies. No exploitation or transfer of any information contained herein is permitted in the absence of an agreement with Bloombase Technologies, and neither the document nor any such information may be released without the written consent of Bloombase Technologies. © 2010 Bloombase Technologies Bloombase, Spitfire, StoreSafe and Keyparc are either registered trademarks or trademarks of Bloombase Technologies in the United States, People’s Republic of China, Hong Kong Special Administrative Region and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. Document No.: BLBS_10Q1_TN_BloombaseSpitfireStoreSafeMicrosoftWindowsBenchmarks_USLET_EN_P1_R1
  • 3. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P3 © 2010 Bloombase Technologies Table of Contents Table of Contents 3 Introduction 6 Purpose and Scope 7 Assumptions 8 Infrastructure 9 Server ...................................................................................................... 9 Storage .................................................................................................... 9 File Systems ............................................................................................ 9 Application Software ............................................................................ 10 Data At-Rest Protection Software ........................................................ 10 Benchmarking Software ....................................................................... 10 Setup Without Encryption..................................................................... 10 Setup With Encryption .......................................................................... 10 File System Setup ................................................................................. 11 File System Tests .................................................................................... 11 Database Tests ....................................................................................... 11 Database Setup ..................................................................................... 11 Bloombase Spitfire StoreSafe Setup .................................................... 12 Bloombase Spitfire KeyCastle Setup .................................................... 13
  • 4. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P4 © 2010 Bloombase Technologies File System Benchmarks 14 Configurations .......................................................................................14 Benchmark Tests ................................................................................... 14 2GB on FAT32 ......................................................................................... 14 6GB on FAT32 ......................................................................................... 15 2GB on NTFS ........................................................................................... 16 6GB on NTFS ........................................................................................... 17 Conclusion ............................................................................................. 18 TPC-C Benchmarks 19 Configurations .......................................................................................19 Benchmark Tests ................................................................................... 21 Default TPC-C Profile .............................................................................. 23 Query Intensive Profile .......................................................................... 24 Update Intensive Profile......................................................................... 25 Conclusion ............................................................................................. 26 Database Batch Process Benchmarks 27 Configurations .......................................................................................27 Benchmark Tests ................................................................................... 27 Find Orders By Amount and Customer Balance and Discount Query ..... 27 Find Orders By Amount Query ................................................................ 28 Find Customers By Name Query ............................................................. 29 Find Items Under Stock Query ............................................................... 29 Update Order Line By Amount Query ..................................................... 30 Conclusion ............................................................................................. 31 Conclusion 32 Acknowledgement 33 Disclaimer 34 Technical Reference 35 Appendix A – File System Benchmark Scripts 36 2GB on FAT32 Test Script ..................................................................... 36 2GB on NTFS Test Script ....................................................................... 37 6GB on FAT32 Test Script ..................................................................... 37 6GB on NTFS Test Script ....................................................................... 38 Appendix B - TPC-C Database Creation Scripts 39 User Creation Script .............................................................................. 39 Table Creation Script ............................................................................ 39 Index Creation Script ............................................................................ 40 TPC-C Queries .......................................................................................42 New Order Stored Procedure Script ....................................................... 42 Order Status Stored Procedure Script .................................................... 45 Payment Stored Procedure Script .......................................................... 46 Stock Level Stored Procedure Script ...................................................... 48
  • 5. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P5 © 2010 Bloombase Technologies Delivery Stored Procedure Script ........................................................... 49 Appendix C - Batch Process SQL Scripts 51 Find Orders By Amount And Customer Balance and Discount Query .. 51 Find Orders By Amount Query .............................................................. 52 Find Customer By Name Query............................................................. 52 Find Items Under Stock Query ............................................................. 52 Update Order Line By Amount Query ................................................... 53
  • 6. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P6 © 2010 Bloombase Technologies Introduction Digital assets including financial reports, legal documents, private human resources information, confidential contracts and sensitive user data are invaluable properties of a corporation. A business cannot risk losing these information, both confidentiality and non-repudiation. Nevertheless, the Internet has becoming more pervasive, security attacks have grown. News and reports have revealed millions of dollars of loss in various enterprises and organizations due to security breaches. Data protection at the persistence layer used to be an uncommon subject in information technology industry. Persistence data, in the old days, are assumed safely kept and stored in highly secure data centers with effective physical access control and close surveillance. However, trends in the industry in backup, archive and high availability with an aim to safeguard data from the worst attack and be responsive to rescues, keeping the enterprise core system running non-stop, have opened up chances confidential data get disclosed and tampered by unauthorized parties. Numerous security compliance and standards including Sarbanes Oxley, Gramm-Leach-Bliley Act and Personal Data Privacy Ordinance have raised enterprises’ awareness of securing their core business and customer data. However, persistence data protection is technically a difficult subject. One has to prepare for additional system complexity, loss of performance, at the same time, maintaining the same level of stability and scalability, and most important of all, be highly secure, hacker-proof rather than exposing more security loopholes. Core business data of an enterprise constitutes a major segment of assets that a corporation possesses. Customer data, marketing strategies, intellectual properties in form of source codes and business logic, sales history and prediction figures, and other decision support numerical analysis as result of data- mining may often bury forward looking intelligence that in some sense have very high future value when put into good use. This technical note discusses application of NIST FIPS 140-2 validated Bloombase Spitfire StoreSafe Storage Security Server to protect files on Microsoft Windows and Oracle data files. An industry standard file-system load generation tool called ‘dd’ was used to apply load onto Windows file-systems. Oracle database throughput and latency were tested and measured by another relational database management system (RDBMS) benchmarking tool called ‘Hammerora’ which generates real-life database access patterns and simulates multi-user concurrent use commonly seen in large enterprises and corporations. The tests were executed on both plain and ciphered data. Latencies and throughputs were measured, compared and analysed. Despite benefit of Bloombase Spitfire StoreSafe Storage Encryptor being transparent in deployment and operation, readers will see as well the benefit of high performance encryption at wirespeed that enables negligible impact to secured data system upon introduction of data cryptography.
  • 7. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P7 © 2010 Bloombase Technologies Purpose and Scope Persistence data encryption at file level provides the best entry point for achieving information security privacy regulatory compliance requirements in view of both manageability and security. Securing Oracle data files is not an easy task as data files are dynamic, they keep updated at all times which means static way of data encryption offered by encryption utilities are not going to fit the bill. Sensitive data committed to Oracle data files will also be written to database redo logs, archive logs and flash recovery logs. Thus, to secure the system as a whole, all data files, redo, archive and flash recovery logs have to be encrypted as well. Bloombase Spitfire StoreSafe storage security server validated at NIST FIPS 140-2 provides a single solution to various information security problems that place huge threats to sensitive data stored in file-systems and relational databases especially Oracle in which transparent encryption is not in place. This document describes application of Bloombase Spitfire StoreSafe storage security server on Windows file-systems applicable to Oracle to secure sensitive information at-rest transparently without tedious second development efforts and numerous deployment risks, enabling customers to protect their private business information and immediately, thus achieving various information security regulatory compliances and standards.
  • 8. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P8 © 2010 Bloombase Technologies Assumptions This document describes performance benchmark testing of Bloombase Spitfire StoreSafe Storage Security Server 3.0 on Oracle 8i database server, FAT32 and NTFS file-systems on Microsoft Windows Server 2000 operating system. We assume readers have basic knowledge of file operations, structured query language (SQL), Oracle and encryption to be able to comprehend the technical parts of the literature.
  • 9. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P9 © 2010 Bloombase Technologies Infrastructure Server Server IBM x-Series server Processors 1 x Intel Pentium 4 3.00 GHz Memory 2 GB Operating System Microsoft Windows 2000 Advanced Server SP4 Storage Storage Type Internal Serial ATA Size 80 GB Manufacturer Hitachi File Systems
  • 10. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P10 © 2010 Bloombase Technologies File Systems FAT32 and NTFS Application Software Oracle Oracle Databaser Server 8i (8.1.7) Data At-Rest Protection Software Bloombase Spitfire StoreSafe Bloombase Spitfire StoreSafe Storage Security Server 3.0 for Microsoft Windows Bloombase Spitfire KeyCastle Bloombase Spitfire KeyCastle Key Management Server 2.0 Benchmarking Software File System dd for Windows1 Oracle Hammerora for Windows2 Setup Without Encryption The following figure shows the benchmarking setup without Bloombase Spitfire StoreSafe encryption Clear text Setup With Encryption The benchmark testing with Bloombase Spitfire StoreSafe encryption environment is setup as in below figure
  • 11. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P11 © 2010 Bloombase Technologies Bloombase Spitfire KeyCastle Key Management Server Bloombase Spitfire StoreSafe Security Server X&*^2 3#$(+ Oracle 8i on Ethernet Network Windows Server 2000 with Storage Network Internal storage File System Setup The disk-partition-under-test is assigned drive letter E: with capacity 18 GB in size. File System Tests For file system benchmark tests, the partition-under-test is formatted by both FAT32 and NTFS file systems. Database Tests For Oracle benchmark tests, the partition-under-test is formatted by NTFS file system. Database Setup Oracle 8i for Windows version 8.1.7 is installed at non system drive D: at location D:oracle Oracle database namely orabm is create with data file location at
  • 12. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P12 © 2010 Bloombase Technologies E:oracleoradataorabm with 3 redo logs at 10 MB in size and archive log turned on. Redo logs are configured to store at location E:oracleoradataorabm whereas archive logs at E:oracleoradataorabmarchive Bloombase Spitfire StoreSafe Setup Bloombase Spitfire StoreSafe security server for Microsoft Windows version 3.0 and Spitfire StoreSafe web-based management console are installed at application server at location C:spitfire A Bloombase Spitfire StoreSafe virtual storage namely protected is created at physical location E: secured by AES 256-bit encryption cipher using Spitfire KeyCastle managed encryption key namely key When Bloombase Spitfire StoreSafe is in operation, all files written under E: get encrypted by Spitfire StoreSafe automatically before the ciphertext contents are physically written to the disk. When files under Spitfire StoreSafe secured drive are accessed and read, the ciphertext contents are automatically un-encrypted before the on-the-fly un-encrypted virtual plain contents are returned to the trusted applications. When Bloombase Spitfire StoreSafe is put to ‘down’ status, files written and read under E:
  • 13. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P13 © 2010 Bloombase Technologies get written and read with no alteration which means plain contents written to physical disks will reside on physical disk media. Bloombase Spitfire KeyCastle Setup Bloombase Spitfire KeyCastle Key Management Server 2.0 is installed on a standalone appliance with dual Intel Quad-Core Xeon 5400 series processors with 4GB main memory and quad GbE network modules. Encryption key namely key is generated at Bloombase Spitfire KeyCastle Key Management Server by RSA algorithm at 2048-bit in length.
  • 14. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P14 © 2010 Bloombase Technologies File System Benchmarks Configurations Chrysocome dd version 0.5 zip archive dd-0.5.zip is downloaded and uncompressed into Microsoft Windows 2000 Advanced Server Windows default directory at C:WINNT Two ISO disc image files of random contents are generated and stored at D:fs6G.iso and D:fs2G.iso for Chrysocome dd’s generation of file read/write operations to Bloombase Spitfire StoreSafe encrypted virtual storage sub-directory E:fs and compare with those without encryption. Benchmark Tests 2GB on FAT32 Drive under test E: is formatted by
  • 15. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P15 © 2010 Bloombase Technologies FAT32 file-system and directory E:fs is created. With Bloombase Spitfire StoreSafe at ‘off’ status, the 2GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive- under-test back to D: where start and end times are recorded simulating file read in plain. With Bloombase Spitfire StoreSafe at ‘on’ status, the 2GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption. The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table Plain With Encryption Latency Change (%) Read (sec) 158.75 199.25 +19.21% Write (sec) 201.25 219.25 +8.9% Test results are visualized in chart below. 6GB on FAT32 Drive under test E: is formatted by FAT32 file-system and directory E:fs is created. With Bloombase Spitfire StoreSafe at ‘off’ status, the 6GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive- under-test back to D: where start and end times are recorded simulating file read in plain.
  • 16. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P16 © 2010 Bloombase Technologies With Bloombase Spitfire StoreSafe at ‘on’ status, the 6GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption. The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table Plain With Encryption Latency Change (%) Read (sec) 435.25 508 +16.71% Write (sec) 446.5 473 +5.9% Test results are visualized in chart below. 2GB on NTFS Drive under test E: is formatted by NTFS file-system and directory E:fs is created. With Bloombase Spitfire StoreSafe at ‘off’ status, the 2GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive- under-test back to D: where start and end times are recorded simulating file read in plain. With Bloombase Spitfire StoreSafe at ‘on’ status, the 2GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption. The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table Plain With Encryption Latency Change (%) Read (sec) 179.2 203.8 +13.72%
  • 17. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P17 © 2010 Bloombase Technologies Write (sec) 195.4 209.1 +7.0% Test results are visualized in chart below. 6GB on NTFS Drive under test E: is formatted by NTFS file-system and directory E:fs is created. With Bloombase Spitfire StoreSafe at ‘off’ status, the 6GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write in plain. The image file is then copied from drive- under-test back to D: where start and end times are recorded simulating file read in plain. With Bloombase Spitfire StoreSafe at ‘on’ status, the 6GB image file at D: is copied to drive-under-test where start and end times are recorded simulating file write with on-the-fly encryption. The image file is then copied from drive-under-test back to D: where start and end times are recorded simulating file read with on-the-fly un-encryption. The test is automated by test script0 and is run for 5 times with average taken. Latency changes are calculated and summarized in below table Plain With Encryption Latency Change (%) Read (sec) 676.4 765.2 +13.13% Write (sec) 711.4 752.4 +5.78% Test results are visualized in chart below.
  • 18. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P18 © 2010 Bloombase Technologies Conclusion Bloombase Spitfire StoreSafe Storage Encryption Server has little penalty on file read and write processes ranging from 5% to 19% increase in latency. Ciphered file writes (encryption) have degradation from 5% to 7% whereas ciphered file reads (un-encryption) from 13% to 19%. It is clear that Bloombase Spitfire StoreSafe encryption has relatively larger penalties on file reads than writes. Comparing file sizes, Bloombase Spitfire StoreSafe encryption has relatively larger penalties on small files than large ones.
  • 19. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P19 © 2010 Bloombase Technologies TPC-C Benchmarks Configurations Transaction Processing Performance Council (TPC) defines transaction processing and database benchmarks and delivers trusted results to the industry. Their tests serve as golden standards for simulating loads for real-life database systems. TPC-C benchmark is a popular yardstick for comparing OLTP performance on various hardware and software configurations. TPC-C is based on an enterprise resource and planning (ERP) system that is commonly seen in real-world enterprises. The test simulates a multi-user client-base who interacts with the sample database for numerous random real-life tasks including • Customer inquiry • Item inquiry • District inquiry • Warehouse inquiry • Order processing • Payment processing • Delivery processing • Stock level inquiry • Order status inquiry • etc
  • 20. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P20 © 2010 Bloombase Technologies Oracle database system is used in this TPC-C benchmark test. Oracle 8i for Windows version 8.1.7 is installed at non system drive D: at location D:oracle Oracle database namely orabm is create with data file location at E:oracleoradataorabm with 3 redo logs at 10 MB in size and archive log turned on. Redo logs are configured to store at location E:oracleoradataorabm whereas archive logs at E:oracleoradataorabmarchive The sample database structure0 is designed to be very scalable such that TPC-C testers can tailor the volume of data to simulate actual amount of real-life data of their own system. Number of database records follows a typical rule as summarized in below table Districts per Warehouse 10 Customers per District 3,000 Orders per District 3,000 Maximum Items per Order 100,000 Our sample database is initialized with 20 warehouses which results in number of initial records as summarized in below table Warehouses 20 Districts 200 Customers 600,000 Orders 600,000 Order Line Items 6,127,176 Item 100,000 Stock 2,000,000 Indexes0 are built to speed up queries and to simulate real-life databases.
  • 21. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P21 © 2010 Bloombase Technologies The ensemble data file after initialization is 3.07 GB in size. To ensure fair play on plain database and ciphered database, the database is first initialized in plain with Bloombase Spitfire StoreSafe in ‘off’ status. After TPC-C database is fully initialized, Oracle instance is shutdown and the whole database repository at E:oracleoradataorabm is archived. Benchmark tests on ciphered database were executed with Bloombase Spitfire StoreSafe in ‘on’ status with database archive restored at virtual plain location at E:oracleoradataorabm Before Oracle instance is launched on Bloombase Spitfire StoreSafe virtual storage E: Benchmark Tests TPC-C testing loads are applied by Hammerora with embedded industry leading Apache JMeter performance testing tool.
  • 22. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P22 © 2010 Bloombase Technologies The tool is installed on a standalone machine with dual Intel Quad-Core Xeon 5400 series processors with 4GB main memory and quad GbE network module. The stress client is purposely sized to apply good enough loads to the TPC-C sample database so as to push the database system to the limits obtaining the maximum throughput of the data system in question. Apache JMeter is built in with a highly configurable multi-threaded load application module and a feature rich graphical interface for reporting load test results.
  • 23. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P23 © 2010 Bloombase Technologies Default TPC-C Profile Default TPC-C profile specifies a multi-user environment firing random OLTP tasks to the database in test with a typical mix of database queries and updates. In this case, number of virtual users are set to 200 Every virtual user submit 1000 random OLTP requests to the ERP database with random sleep times shorter than 10 ms in between every subsequent requests. The mix of database queries and updates are summarized in below table Virtual Users 200 Loop Count 1000 Sleep Milliseconds 10 New Order Update Ratio 20 Payment Update Ratio 10 Delivery Update Ratio 10 Stock Level Query Ratio 50
  • 24. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P24 © 2010 Bloombase Technologies Order Status Query Ratio 30 The throughput figures in transaction per minute (tpm) are summarized in below table. Plain With Encryption Throughput Change (%) Throughput (tpm) 7763.95 7626.54 -1.77% The system throughputs are visualized in below chart. Query Intensive Profile The query intensive profile is designed to have relatively larger proportion of random client requests on read-only queries than writable database updates. In this case, number of virtual users are set to 200 Every virtual user submit 1000 random OLTP requests to the ERP database with random sleep times shorter than 10 ms in between every subsequent requests. The mix of database queries and updates are summarized in below table Virtual Users 200 Loop Count 1000 Sleep Milliseconds 10 New Order Update Ratio 1 Payment Update Ratio 1 Delivery Update Ratio 1 Stock Level Query Ratio 50 Order Status Query Ratio 30 The throughput figures in transaction per minute (tpm) are summarized in below table.
  • 25. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P25 © 2010 Bloombase Technologies Plain With Encryption Throughput Change (%) Throughput (tpm) 21556.11 21268.12 -1.34% The system throughputs are visualized in below chart. Update Intensive Profile The update intensive profile is designed to have relatively larger proportion of random client requests on writeable database updates than read-only queries. In this case, number of virtual users are set to 200 Every virtual user submit 1000 random OLTP requests to the ERP database with random sleep times shorter than 10 ms in between every subsequent requests. The mix of database queries and updates are summarized in below table Virtual Users 200 Loop Count 1000 Sleep Milliseconds 10 New Order Update Ratio 20 Payment Update Ratio 10 Delivery Update Ratio 10 Stock Level Query Ratio 1 Order Status Query Ratio 1 The throughput figures in transaction per minute (tpm) are summarized in below table. Plain With Encryption Throughput Change (%)
  • 26. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P26 © 2010 Bloombase Technologies Throughput (tpm) 5543.46 5480.41 -0.78% The system throughputs are visualized in below chart. Conclusion Bloombase Spitfire StoreSafe storage level encryption has negligible penalty on TPC-C throughputs ranging from 0.7% to 1.7% drop. Comparing query intensive and update intensive tasks, Bloombase Spitfire StoreSafe storage encryption server has relatively less throughput degradation on update intensive (encryption) than queries (un-encryption).
  • 27. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P27 © 2010 Bloombase Technologies Database Batch Process Benchmarks Configurations TPC-C benchmark tests essentially measure the overall capability a data system can process concurrent heterogeneous requests at a time. System throughput is primarily a server-side measurement which only makes sense to system administrators and application developers. On the other hand, system users are mostly concerned at the response of the system. When it comes to database encryption, users are sure to be let down if encryption puts a huge penalty to latency of a query or a database record update. This section of paper describes a series of tests based on the same TPC-C database but with long running batch processing SQL’s. The queries were executed on both plain and encrypted version of the same TPC-C warehouse database and their process times, latencies, were measured and compared. Benchmark Tests Find Orders By Amount and Customer Balance and Discount Query This test is based on the SQL below select * from ORDERS, ORDER_LINE, ITEM, CUSTOMER where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID and ORDER_LINE.OL_O_ID = ORDERS.O_ID and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID and ORDER_LINE.OL_I_ID = ITEM.I_ID and ORDERS.O_W_ID = CUSTOMER.C_W_ID and ORDERS.O_D_ID = CUSTOMER.C_D_ID and ORDERS.O_C_ID = CUSTOMER.C_ID and ORDER_LINE.OL_AMOUNT > 28 and ORDER_LINE.OL_AMOUNT < 39
  • 28. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P28 © 2010 Bloombase Technologies and CUSTOMER.C_BALANCE > 0 and CUSTOMER.C_DISCOUNT > 0.1 and CUSTOMER.C_DISCOUNT < 0.2 order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc This query attempts to find the orders with order line amounts within 28 and 39, customers with balance and discount within 10% and 20%. The query result is sorted by customer last names and first names. Statistics show the query makes use of indexed columns to optimize search and sorting without table scans. The following table summarizes averages of 5 query latencies. Plain With Encryption Latency Change (%) Query (sec) 22.44 22.89 +2.02% The query processing times are visualized in below chart. Find Orders By Amount Query This test is based on the SQL below select * from ORDERS, ORDER_LINE, ITEM, CUSTOMER where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID and ORDER_LINE.OL_O_ID = ORDERS.O_ID and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID and ORDER_LINE.OL_I_ID = ITEM.I_ID and ORDERS.O_W_ID = CUSTOMER.C_W_ID and ORDERS.O_D_ID = CUSTOMER.C_D_ID and ORDERS.O_C_ID = CUSTOMER.C_ID and ORDER_LINE.OL_AMOUNT > 28 and ORDER_LINE.OL_AMOUNT < 39 order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc This query attempts to find the orders with order line amounts within 28 and 39. The query result is sorted by customer last names and first names. Statistics show the query makes use of indexed columns to optimize search and sorting without table scans. The following table summarizes averages of 5 query latencies. Plain With Encryption Latency Change (%)
  • 29. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P29 © 2010 Bloombase Technologies Query (sec) 37.46 39.57 +5.65% The query processing times are visualized in below chart. Find Customers By Name Query This test is based on the SQL below select * from CUSTOMER where CUSTOMER.C_LAST like 'E%' and CUSTOMER.C_FIRST like 'E%' order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc This query attempts to find customers with both last and first names with ‘E’ as prefix. The query result is sorted by customer last names and first names. Statistics show the query makes use of indexed columns to optimize search and sorting without table scans. The following table summarizes averages of 5 query latencies. Plain With Encryption Latency Change (%) Query (sec) 7.46 8.12 +6.13% The query processing times are visualized in below chart. Find Items Under Stock Query This test is based on the SQL below
  • 30. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P30 © 2010 Bloombase Technologies select * from STOCK, ITEM, WAREHOUSE where STOCK.S_I_ID = ITEM.I_ID and STOCK.S_W_ID = WAREHOUSE.W_ID and S_QUANTITY < 10 order by WAREHOUSE.W_NAME asc This query attempts to find stocks and items with quantity below 10. The query result is sorted by warehouse names. Statistics show the query makes use of indexed columns to optimize search and sorting without table scans. The following table summarizes averages of 5 query latencies. Plain With Encryption Latency Change (%) Query (sec) 3.15 3.29 +4.19% The query processing times are visualized in below chart. Update Order Line By Amount Query This test is based on the SQL below update ORDER_LINE set OL_DIST_INFO = OL_DIST_INFO where OL_AMOUNT > 18 and OL_AMOUNT < 19 This query attempts to find the order lines with amounts within 18 and 19 and update the district information of the line item by its original contents. Statistics show the query makes use of indexed columns to optimize search and sorting without table scans. The following table summarizes averages of 5 query latencies. Plain With Encryption Latency Change (%) Query (sec) 13.34 14.18 +6.31% The query processing times are visualized in below chart.
  • 31. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P31 © 2010 Bloombase Technologies Conclusion Bloombase Spitfire StoreSafe has little penalties on long running batch processing SQL’s ranging from 2% to 6%. Comparing read intensive and update intensive queries, Bloombase Spitfire StoreSafe has relative less degradation on latencies for read only queries (un- encryption).
  • 32. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P32 © 2010 Bloombase Technologies Conclusion Bloombase Spitfire StoreSafe Storage Security Server protects privacy of sensitive enterprise data by transparent encryption and decryption. This paper summarizes quick reference of file and database access latencies and throughputs as a result of introduction of Bloombase Spitfire StoreSafe encryption to the data storage sub-system. Bloombase Spitfire StoreSafe Security Server brings in approximately 5% latency penalty on file writes (encryption) and 15% on file reads (un-encryption) for file systems secured by its real-time transparent encryption, though not negligible, are only barely noticeable for large files. For instance, a system without encryption takes originally 12 minutes to backup a 6 GB archive file. With Bloombase encryption in place, additional 40 seconds are required to complete the process which can easily be absorbed by existing backup time-window and should place no major concern to most applications. Most enterprise scale data systems with sensitive and confidential information are managed by relational database systems as a de-facto standard. Bloombase Spitfire StoreSafe is highly optimized for database protection reporting negligible drop on TPC-C throughputs at around 1% whereas SQL’s executed on Bloombase encrypted databases take an average of 4% longer on latencies. Unlike file access where Bloombase Spitfire StoreSafe is optimized on file writes (encryption), database read-only queries (un-encryption) on Bloombase Spitfire StoreSafe encrypted database files have much less degradation than database updates. Typical OLTP systems generally have relatively much larger proportion of database inquiries than updates which would bring down the latency penalty to less than 3%. Adding processing and caching on the application servers, web servers and the network times, overall latencies likely further minimize to below 1% which is un-noticeable by application users. The end result is a privacy compliant data system yet still fulfils existing service level agreements (SLA). NIST FIPS 140-2 validated Bloombase Spitfire StoreSafe Security Server demonstrates uncompromised data at-rest security and trouble-free fast deployment on-the-fly transparent encryption for file systems and database systems with least impact in both throughput and latency perspectives. For further information about this paper and the solution, please contact us at sales@bloombase.com or visit our website at http://www.bloombase.com.
  • 33. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P33 © 2010 Bloombase Technologies Acknowledgement We would like to thank the following individuals for their contribution in terms of technical support and facilities management to the completion of the testing process: Sashikala Rajalingam, IBM Innovation Center Catharine GH Tan, IBM Innovation Center
  • 34. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P34 © 2010 Bloombase Technologies Disclaimer The tests described in this paper were conducted in the Bloombase InteropLab. Bloombase has not tested this configuration with all the combinations of hardware and software options available. There may be significant differences in your configuration that will change the procedures necessary to accomplish the objectives outlined in this paper. If you find that any of these procedures do not work in your environment, please contact us immediately.
  • 35. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P35 © 2010 Bloombase Technologies Technical Reference 1. dd for Microsoft Windows, http://www.chrysocome.net/dd 2. Hammerora for Windows, http://hammerora.sourceforge.net/ 3. TPC, http://www.tpc.org 4. TPC-C, http://www.tpc.org/tpcc/
  • 36. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P36 © 2010 Bloombase Technologies Appendix A – File System Benchmark Scripts 2GB on FAT32 Test Script @echo off format E: /FS:FAT32 /q /v: md E:fs set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=D:2G.iso of=E:fs2G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec% echo %time% set /A timeused=%endtime%-%starttime% echo write time used(s): %timeused% chkdsk E: /f set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=E:fs2G.iso of=D:2G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec%
  • 37. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P37 © 2010 Bloombase Technologies echo %time% set /A timeused=%endtime%-%starttime% echo read time used(s): %timeused% 2GB on NTFS Test Script @echo off format E: /FS:NTFS /q /v: md E:fs set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=D:2G.iso of=E:fs2G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec% echo %time% set /A timeused=%endtime%-%starttime% echo write time used(s): %timeused% chkdsk E: /f set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=E:fs2G.iso of=D:2G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec% echo %time% set /A timeused=%endtime%-%starttime% echo read time used(s): %timeused% 6GB on FAT32 Test Script @echo off format E: /FS:FAT32 /q /v: md E:fs set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=D:6G.iso of=E:fs6G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec% echo %time% set /A timeused=%endtime%-%starttime% echo write time used(s): %timeused% chkdsk E: /f set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1%
  • 38. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P38 © 2010 Bloombase Technologies set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=E:fs6G.iso of=D:6G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec% echo %time% set /A timeused=%endtime%-%starttime% echo read time used(s): %timeused% 6GB on NTFS Test Script @echo off format E: /FS:NTFS /q /v: md E:fs set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=D:6G.iso of=E:fs6G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec% echo %time% set /A timeused=%endtime%-%starttime% echo write time used(s): %timeused% chkdsk E: /f set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A starttime=%hour%*3600+%min%*60+%sec% echo %time% dd if=E:fs6G.iso of=D:6G.iso set /A hour=%time:~0,1%*10+%time:~1,1% set /A min=%time:~3,1%*10+%time:~4,1% set /A sec=%time:~6,1%*10+%time:~7,1% set /A endtime=%hour%*3600+%min%*60+%sec% echo %time% set /A timeused=%endtime%-%starttime% echo read time used(s): %timeused%
  • 39. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P39 © 2010 Bloombase Technologies Appendix B - TPC-C Database Creation Scripts User Creation Script create user orabm identified by orabm temporary tablespace temp; grant connect,resource to orabm; alter user orabm default tablespace tools; alter user orabm quota unlimited on tools; revoke unlimited tablespace from orabm; exit Table Creation Script grant connect, resource to orabm; grant connect, resource to sys; CREATE TABLE ORABM.CUSTOMER (C_ID NUMBER(5, 0), C_D_ID NUMBER(2, 0), C_W_ID NUMBER(4, 0), C_FIRST VARCHAR2(16), C_MIDDLE CHAR(2), C_LAST VARCHAR2(16), C_STREET_1 VARCHAR2(20), C_STREET_2 VARCHAR2(20), C_CITY VARCHAR2(20), C_STATE CHAR(2), C_ZIP CHAR(9), C_PHONE CHAR(16), C_SINCE DATE, C_CREDIT CHAR(2), C_CREDIT_LIM NUMBER(12, 2), C_DISCOUNT NUMBER(4, 4), C_BALANCE NUMBER(12, 2), C_YTD_PAYMENT NUMBER(12, 2), C_PAYMENT_CNT NUMBER(8, 0), C_DELIVERY_CNT NUMBER(8, 0), C_DATA VARCHAR2(500)) PCTFREE 10;
  • 40. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P40 © 2010 Bloombase Technologies CREATE TABLE ORABM.DISTRICT (D_ID NUMBER(2, 0), D_W_ID NUMBER(4, 0), D_YTD NUMBER(12, 2), D_TAX NUMBER(4, 4), D_NEXT_O_ID NUMBER, D_NAME VARCHAR2(10), D_STREET_1 VARCHAR2(20), D_STREET_2 VARCHAR2(20), D_CITY VARCHAR2(20), D_STATE CHAR(2), D_ZIP CHAR(9)) PCTFREE 10; CREATE TABLE ORABM.HISTORY (H_C_ID NUMBER, H_C_D_ID NUMBER, H_C_W_ID NUMBER, H_D_ID NUMBER, H_W_ID NUMBER, H_DATE DATE, H_AMOUNT NUMBER(6, 2), H_DATA VARCHAR2(24)) PCTFREE 10; CREATE TABLE ORABM.ITEM (I_ID NUMBER(6, 0), I_IM_ID NUMBER, I_NAME VARCHAR2(24), I_PRICE NUMBER(5, 2), I_DATA VARCHAR2(50)) PCTFREE 10; CREATE TABLE ORABM.NEW_ORDER (NO_O_ID NUMBER, NO_D_ID NUMBER, NO_W_ID NUMBER) PCTFREE 10; CREATE TABLE ORABM.ORDERS (O_ID NUMBER, O_D_ID NUMBER, O_W_ID NUMBER, O_C_ID NUMBER, O_ENTRY_D DATE, O_CARRIER_ID NUMBER, O_OL_CNT NUMBER, O_ALL_LOCAL NUMBER) PCTFREE 10; CREATE TABLE ORABM.ORDER_LINE (OL_O_ID NUMBER, OL_D_ID NUMBER, OL_W_ID NUMBER, OL_NUMBER NUMBER, OL_DELIVERY_D DATE, OL_I_ID NUMBER, OL_SUPPLY_W_ID NUMBER, OL_QUANTITY NUMBER, OL_AMOUNT NUMBER(6, 2), OL_DIST_INFO CHAR(24)) PCTFREE 10; CREATE TABLE ORABM.STOCK (S_I_ID NUMBER(6, 0), S_W_ID NUMBER(4, 0), S_QUANTITY NUMBER(6, 0), S_DIST_01 CHAR(24), S_DIST_02 CHAR(24), S_DIST_03 CHAR(24), S_DIST_04 CHAR(24), S_DIST_05 CHAR(24), S_DIST_06 CHAR(24), S_DIST_07 CHAR(24), S_DIST_08 CHAR(24), S_DIST_09 CHAR(24), S_DIST_10 CHAR(24), S_YTD NUMBER(10, 0), S_ORDER_CNT NUMBER(6, 0), S_REMOTE_CNT NUMBER(6, 0), S_DATA VARCHAR2(50)) PCTFREE 10; CREATE TABLE ORABM.WAREHOUSE (W_ID NUMBER(4, 0), W_YTD NUMBER(12, 2), W_TAX NUMBER(4, 4), W_NAME VARCHAR2(10), W_STREET_1 VARCHAR2(20), W_STREET_2 VARCHAR2(20), W_CITY VARCHAR2(20), W_STATE CHAR(2), W_ZIP CHAR(9)) PCTFREE 10; exit Index Creation Script alter session set sort_area_size=5000000; CREATE UNIQUE INDEX ORABM.CUSTOMER_I1 ON ORABM.CUSTOMER ( C_W_ID, C_D_ID, C_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.CUSTOMER_I2 ON ORABM.CUSTOMER ( C_LAST, C_W_ID, C_D_ID, C_FIRST, C_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.DISTRICT_I1 ON ORABM.DISTRICT ( D_W_ID, D_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.ITEM_I1
  • 41. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P41 © 2010 Bloombase Technologies ON ORABM.ITEM ( I_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.NEW_ORDER_I1 ON ORABM.NEW_ORDER ( NO_W_ID, NO_D_ID, NO_O_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.ORDERS_I1 ON ORABM.ORDERS ( O_W_ID, O_D_ID, O_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.ORDERS_I2 ON ORABM.ORDERS (O_W_ID, O_D_ID, O_C_ID, O_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.ORDER_LINE_I1 ON ORABM.ORDER_LINE ( OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER) PCTFREE 10; CREATE UNIQUE INDEX ORABM.STOCK_I1 ON ORABM.STOCK ( S_I_ID, S_W_ID) PCTFREE 10; CREATE UNIQUE INDEX ORABM.WAREHOUSE_I1 ON ORABM.WAREHOUSE ( W_ID) PCTFREE 10; CREATE INDEX ORABM.CUSTOMER_I3 ON ORABM.CUSTOMER ( C_FIRST ) PCTFREE 10; CREATE INDEX ORABM.CUSTOMER_I4 ON ORABM.CUSTOMER ( C_BALANCE ) PCTFREE 10; CREATE INDEX ORABM.CUSTOMER_I5 ON ORABM.CUSTOMER ( C_DISCOUNT ) PCTFREE 10; CREATE INDEX ORABM.CUSTOMER_I6 ON ORABM.CUSTOMER ( C_CITY ) PCTFREE 10; CREATE INDEX ORABM.CUSTOMER_I7 ON ORABM.CUSTOMER ( C_ID ) PCTFREE 10; CREATE INDEX ORABM.DISTRICT_I2 ON ORABM.DISTRICT ( D_ID ) PCTFREE 10; CREATE INDEX ORABM.DISTRICT_I3 ON ORABM.DISTRICT ( D_CITY ) PCTFREE 10; CREATE INDEX ORABM.ORDERS_I3 ON ORABM.ORDERS ( O_OL_CNT ) PCTFREE 10;
  • 42. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P42 © 2010 Bloombase Technologies CREATE INDEX ORABM.ORDERS_I4 ON ORABM.ORDERS ( O_C_ID ) PCTFREE 10; CREATE INDEX ORABM.ORDERS_I5 ON ORABM.ORDERS ( O_ID) PCTFREE 10; CREATE INDEX ORABM.ORDER_LINE_I2 ON ORABM.ORDER_LINE ( OL_AMOUNT ) PCTFREE 10; CREATE INDEX ORABM.ORDER_LINE_I3 ON ORABM.ORDER_LINE ( OL_I_ID ) PCTFREE 10; CREATE INDEX ORABM.ORDER_LINE_I4 ON ORABM.ORDER_LINE ( OL_O_ID) PCTFREE 10; CREATE INDEX ORABM.STOCK_I2 ON ORABM.STOCK ( S_QUANTITY ) PCTFREE 10; CREATE INDEX ORABM.WAREHOUSE_I2 ON ORABM.WAREHOUSE ( W_NAME ) PCTFREE 10; TPC-C Queries New Order Stored Procedure Script CREATE OR REPLACE PROCEDURE "ORABM"."NEWORD" ( no_w_id INTEGER, no_max_w_id INTEGER, no_d_id INTEGER, no_c_id INTEGER, no_o_ol_cnt INTEGER, no_c_discount OUT NUMBER, no_c_last OUT VARCHAR2, no_c_credit OUT VARCHAR2, no_d_tax OUT NUMBER, no_w_tax OUT NUMBER, no_d_next_o_id IN OUT INTEGER, timestamp IN DATE ) IS no_ol_supply_w_id INTEGER; no_ol_i_id NUMBER; no_ol_quantity NUMBER; no_o_all_local INTEGER; o_id INTEGER; no_i_name VARCHAR2(24); no_i_price NUMBER(5,2); no_i_data VARCHAR2(50); no_s_quantity NUMBER(6); no_ol_amount NUMBER(6,2); no_s_dist_01 CHAR(24);
  • 43. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P43 © 2010 Bloombase Technologies no_s_dist_02 CHAR(24); no_s_dist_03 CHAR(24); no_s_dist_04 CHAR(24); no_s_dist_05 CHAR(24); no_s_dist_06 CHAR(24); no_s_dist_07 CHAR(24); no_s_dist_08 CHAR(24); no_s_dist_09 CHAR(24); no_s_dist_10 CHAR(24); no_ol_dist_info CHAR(24); no_s_data VARCHAR2(50); x NUMBER; rbk NUMBER; not_serializable EXCEPTION; PRAGMA EXCEPTION_INIT(not_serializable,-8177); deadlock EXCEPTION; PRAGMA EXCEPTION_INIT(deadlock,-60); snapshot_too_old EXCEPTION; PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555); integrity_viol EXCEPTION; PRAGMA EXCEPTION_INIT(integrity_viol,-1); BEGIN --assignment below added due to error in appendix code no_o_all_local := 0; SELECT c_discount, c_last, c_credit, w_tax INTO no_c_discount, no_c_last, no_c_credit, no_w_tax FROM customer, warehouse WHERE warehouse.w_id = no_w_id AND customer.c_w_id = no_w_id AND customer.c_d_id = no_d_id AND customer.c_id = no_c_id; UPDATE district SET d_next_o_id = d_next_o_id + 1 WHERE d_id = no_d_id AND d_w_id = no_w_id RETURNING d_next_o_id, d_tax INTO no_d_next_o_id, no_d_tax; o_id := no_d_next_o_id; INSERT INTO ORDERS (o_id, o_d_id, o_w_id, o_c_id, o_entry_d, o_ol_cnt, o_all_local) VALUES (o_id, no_d_id, no_w_id, no_c_id, timestamp, no_o_ol_cnt, no_o_all_local); INSERT INTO NEW_ORDER (no_o_id, no_d_id, no_w_id) VALUES (o_id, no_d_id, no_w_id); --#2.4.1.4 rbk := round(DBMS_RANDOM.value(low => 1, high => 100)); --#2.4.1.5 FOR loop_counter IN 1 .. no_o_ol_cnt LOOP IF ((loop_counter = no_o_ol_cnt) AND (rbk = 1)) THEN no_ol_i_id := 100001; ELSE no_ol_i_id := round(DBMS_RANDOM.value(low => 1, high => 100000)); END IF; --#2.4.1.5.2 x := round(DBMS_RANDOM.value(low => 1, high => 100)); IF ( x > 1 ) THEN no_ol_supply_w_id := no_w_id; ELSE no_ol_supply_w_id := no_w_id; --no_all_local is actually used before this point so following not beneficial no_o_all_local := 0; WHILE ((no_ol_supply_w_id = no_w_id) AND (no_max_w_id != 1)) LOOP no_ol_supply_w_id := round(DBMS_RANDOM.value(low => 1, high => no_max_w_id)); END LOOP; END IF; --#2.4.1.5.3 no_ol_quantity := round(DBMS_RANDOM.value(low => 1, high => 10)); SELECT i_price, i_name, i_data INTO no_i_price, no_i_name, no_i_data FROM item WHERE i_id = no_ol_i_id;
  • 44. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P44 © 2010 Bloombase Technologies SELECT s_quantity, s_data, s_dist_01, s_dist_02, s_dist_03, s_dist_04, s_dist_05, s_dist_06, s_dist_07, s_dist_08, s_dist_09, s_dist_10 INTO no_s_quantity, no_s_data, no_s_dist_01, no_s_dist_02, no_s_dist_03, no_s_dist_04, no_s_dist_05, no_s_dist_06, no_s_dist_07, no_s_dist_08, no_s_dist_09, no_s_dist_10 FROM stock WHERE s_i_id = no_ol_i_id AND s_w_id = no_ol_supply_w_id; IF ( no_s_quantity > no_ol_quantity ) THEN no_s_quantity := ( no_s_quantity - no_ol_quantity ); ELSE no_s_quantity := ( no_s_quantity - no_ol_quantity + 91 ); END IF; UPDATE stock SET s_quantity = no_s_quantity WHERE s_i_id = no_ol_i_id AND s_w_id = no_ol_supply_w_id; no_ol_amount := ( no_ol_quantity * no_i_price * ( 1 + no_w_tax + no_d_tax ) * ( 1 - no_c_discount ) ); IF no_d_id = 1 THEN no_ol_dist_info := no_s_dist_01; ELSIF no_d_id = 2 THEN no_ol_dist_info := no_s_dist_02; ELSIF no_d_id = 3 THEN no_ol_dist_info := no_s_dist_03; ELSIF no_d_id = 4 THEN no_ol_dist_info := no_s_dist_04; ELSIF no_d_id = 5 THEN no_ol_dist_info := no_s_dist_05; ELSIF no_d_id = 6 THEN no_ol_dist_info := no_s_dist_06; ELSIF no_d_id = 7 THEN no_ol_dist_info := no_s_dist_07; ELSIF no_d_id = 8 THEN no_ol_dist_info := no_s_dist_08; ELSIF no_d_id = 9 THEN no_ol_dist_info := no_s_dist_09; ELSIF no_d_id = 10 THEN no_ol_dist_info := no_s_dist_10; END IF; INSERT INTO order_line (ol_o_id, ol_d_id, ol_w_id, ol_number, ol_i_id, ol_supply_w_id, ol_quantity, ol_amount, ol_dist_info) VALUES (o_id, no_d_id, no_w_id, loop_counter, no_ol_i_id, no_ol_supply_w_id, no_ol_quantity, no_ol_amount, no_ol_dist_info); END LOOP; COMMIT;
  • 45. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P45 © 2010 Bloombase Technologies EXCEPTION WHEN not_serializable OR deadlock OR snapshot_too_old OR integrity_viol THEN ROLLBACK; END; Order Status Stored Procedure Script CREATE OR REPLACE PROCEDURE "ORABM"."OSTAT" ( os_w_id INTEGER, os_d_id INTEGER, os_c_id IN OUT INTEGER, byname INTEGER, os_c_last IN OUT VARCHAR2, os_c_first OUT VARCHAR2, os_c_middle OUT VARCHAR2, os_c_balance OUT NUMBER, os_o_id OUT INTEGER, os_entdate OUT DATE, os_o_carrier_id OUT INTEGER ) IS TYPE numbertable IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; os_ol_i_id numbertable; os_ol_supply_w_id numbertable; os_ol_quantity numbertable; TYPE amounttable IS TABLE OF NUMBER(6,2) INDEX BY BINARY_INTEGER; os_ol_amount amounttable; TYPE datetable IS TABLE OF DATE INDEX BY BINARY_INTEGER; os_ol_delivery_d datetable; namecnt INTEGER; i BINARY_INTEGER; CURSOR c_name IS SELECT c_balance, c_first, c_middle, c_id FROM customer WHERE c_last = os_c_last AND c_d_id = os_d_id AND c_w_id = os_w_id ORDER BY c_first; CURSOR c_line IS SELECT ol_i_id, ol_supply_w_id, ol_quantity, ol_amount, ol_delivery_d FROM order_line WHERE ol_o_id = os_o_id AND ol_d_id = os_d_id AND ol_w_id = os_w_id; os_c_line c_line%ROWTYPE; not_serializable EXCEPTION; PRAGMA EXCEPTION_INIT(not_serializable,-8177); deadlock EXCEPTION; PRAGMA EXCEPTION_INIT(deadlock,-60); snapshot_too_old EXCEPTION; PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555); BEGIN IF ( byname = 1 ) THEN SELECT count(c_id) INTO namecnt FROM customer WHERE c_last = os_c_last AND c_d_id = os_d_id AND c_w_id = os_w_id; IF ( MOD (namecnt, 2) = 1 ) THEN namecnt := (namecnt + 1); END IF; OPEN c_name; FOR loop_counter IN 0 .. (namecnt/2) LOOP
  • 46. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P46 © 2010 Bloombase Technologies FETCH c_name INTO os_c_balance, os_c_first, os_c_middle, os_c_id; END LOOP; close c_name; ELSE SELECT c_balance, c_first, c_middle, c_last INTO os_c_balance, os_c_first, os_c_middle, os_c_last FROM customer WHERE c_id = os_c_id AND c_d_id = os_d_id AND c_w_id = os_w_id; END IF; -- The following statement in the TPC-C specification appendix is incorrect -- as it does not include the where clause and does not restrict the -- results set giving an ORA-01422. -- The statement has been modified in accordance with the -- descriptive specification as follows: -- The row in the ORDER table with matching O_W_ID (equals C_W_ID), -- O_D_ID (equals C_D_ID), O_C_ID (equals C_ID), and with the largest -- existing O_ID, is selected. This is the most recent order placed by that -- customer. O_ID, O_ENTRY_D, and O_CARRIER_ID are retrieved. SELECT o_id, o_carrier_id, o_entry_d INTO os_o_id, os_o_carrier_id, os_entdate FROM (SELECT o_id, o_carrier_id, o_entry_d FROM orders where o_d_id = os_d_id AND o_w_id = os_w_id and o_c_id=os_c_id ORDER BY o_id DESC) WHERE ROWNUM = 1; i := 0; FOR os_c_line IN c_line LOOP os_ol_i_id(i) := os_c_line.ol_i_id; os_ol_supply_w_id(i) := os_c_line.ol_supply_w_id; os_ol_quantity(i) := os_c_line.ol_quantity; os_ol_amount(i) := os_c_line.ol_amount; os_ol_delivery_d(i) := os_c_line.ol_delivery_d; i := i+1; END LOOP; EXCEPTION WHEN not_serializable OR deadlock OR snapshot_too_old THEN ROLLBACK; END; Payment Stored Procedure Script CREATE OR REPLACE PROCEDURE "ORABM"."PAYMENT" ( p_w_id INTEGER, p_d_id INTEGER, p_c_w_id INTEGER, p_c_d_id INTEGER, p_c_id IN OUT INTEGER, byname INTEGER, p_h_amount NUMBER, p_c_last IN OUT VARCHAR2, p_w_street_1 OUT VARCHAR2, p_w_street_2 OUT VARCHAR2, p_w_city OUT VARCHAR2, p_w_state OUT VARCHAR2, p_w_zip OUT VARCHAR2, p_d_street_1 OUT VARCHAR2, p_d_street_2 OUT VARCHAR2, p_d_city OUT VARCHAR2, p_d_state OUT VARCHAR2, p_d_zip OUT VARCHAR2, p_c_first OUT VARCHAR2, p_c_middle OUT VARCHAR2,
  • 47. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P47 © 2010 Bloombase Technologies p_c_street_1 OUT VARCHAR2, p_c_street_2 OUT VARCHAR2, p_c_city OUT VARCHAR2, p_c_state OUT VARCHAR2, p_c_zip OUT VARCHAR2, p_c_phone OUT VARCHAR2, p_c_since OUT DATE, p_c_credit IN OUT VARCHAR2, p_c_credit_lim OUT NUMBER, p_c_discount OUT NUMBER, p_c_balance IN OUT NUMBER, p_c_data OUT VARCHAR2, timestamp IN DATE ) IS namecnt INTEGER; p_d_name VARCHAR2(11); p_w_name VARCHAR2(11); p_c_new_data VARCHAR2(500); h_data VARCHAR2(30); CURSOR c_byname IS SELECT c_first, c_middle, c_id, c_street_1, c_street_2, c_city, c_state, c_zip, c_phone, c_credit, c_credit_lim, c_discount, c_balance, c_since FROM customer WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_last = p_c_last ORDER BY c_first; not_serializable EXCEPTION; PRAGMA EXCEPTION_INIT(not_serializable,-8177); deadlock EXCEPTION; PRAGMA EXCEPTION_INIT(deadlock,-60); snapshot_too_old EXCEPTION; PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555); BEGIN UPDATE warehouse SET w_ytd = w_ytd + p_h_amount WHERE w_id = p_w_id; SELECT w_street_1, w_street_2, w_city, w_state, w_zip, w_name INTO p_w_street_1, p_w_street_2, p_w_city, p_w_state, p_w_zip, p_w_name FROM warehouse WHERE w_id = p_w_id; UPDATE district SET d_ytd = d_ytd + p_h_amount WHERE d_w_id = p_w_id AND d_id = p_d_id; SELECT d_street_1, d_street_2, d_city, d_state, d_zip, d_name INTO p_d_street_1, p_d_street_2, p_d_city, p_d_state, p_d_zip, p_d_name FROM district WHERE d_w_id = p_w_id AND d_id = p_d_id; IF ( byname = 1 ) THEN SELECT count(c_id) INTO namecnt FROM customer WHERE c_last = p_c_last AND c_d_id = p_c_d_id AND c_w_id = p_c_w_id; OPEN c_byname; IF ( MOD (namecnt, 2) = 1 ) THEN namecnt := (namecnt + 1); END IF; FOR loop_counter IN 0 .. (namecnt/2) LOOP FETCH c_byname INTO p_c_first, p_c_middle, p_c_id, p_c_street_1, p_c_street_2, p_c_city, p_c_state, p_c_zip, p_c_phone, p_c_credit, p_c_credit_lim, p_c_discount, p_c_balance, p_c_since; END LOOP; CLOSE c_byname; ELSE
  • 48. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P48 © 2010 Bloombase Technologies SELECT c_first, c_middle, c_last, c_street_1, c_street_2, c_city, c_state, c_zip, c_phone, c_credit, c_credit_lim, c_discount, c_balance, c_since INTO p_c_first, p_c_middle, p_c_last, p_c_street_1, p_c_street_2, p_c_city, p_c_state, p_c_zip, p_c_phone, p_c_credit, p_c_credit_lim, p_c_discount, p_c_balance, p_c_since FROM customer WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_id = p_c_id; END IF; p_c_balance := ( p_c_balance + p_h_amount ); IF p_c_credit = 'BC' THEN SELECT c_data INTO p_c_data FROM customer WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_id = p_c_id; -- The following statement in the TPC-C specification appendix is incorrect -- copied setting of h_data from later on in the procedure to here as well h_data := ( p_w_name || ' ' || p_d_name ); p_c_new_data := (TO_CHAR(p_c_id) || ' ' || TO_CHAR(p_c_d_id) || ' ' || TO_CHAR(p_c_w_id) || ' ' || TO_CHAR(p_d_id) || ' ' || TO_CHAR(p_w_id) || ' ' || TO_CHAR(p_h_amount,'9999.99') || TO_CHAR(timestamp) || h_data); p_c_new_data := substr(CONCAT(p_c_new_data,p_c_data),1,500-(LENGTH(p_c_new_data))); UPDATE customer SET c_balance = p_c_balance, c_data = p_c_new_data WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_id = p_c_id; ELSE UPDATE customer SET c_balance = p_c_balance WHERE c_w_id = p_c_w_id AND c_d_id = p_c_d_id AND c_id = p_c_id; END IF; --setting of h_data is here in the TPC-C appendix h_data := ( p_w_name|| ' ' || p_d_name ); INSERT INTO history (h_c_d_id, h_c_w_id, h_c_id, h_d_id, h_w_id, h_date, h_amount, h_data) VALUES (p_c_d_id, p_c_w_id, p_c_id, p_d_id, p_w_id, timestamp, p_h_amount, h_data); COMMIT; EXCEPTION WHEN not_serializable OR deadlock OR snapshot_too_old THEN ROLLBACK; END; Stock Level Stored Procedure Script CREATE OR REPLACE PROCEDURE "ORABM"."SLEV" ( st_w_id INTEGER, st_d_id INTEGER, threshold INTEGER ) IS st_o_id NUMBER; stock_count INTEGER; not_serializable EXCEPTION; PRAGMA EXCEPTION_INIT(not_serializable,-8177); deadlock EXCEPTION; PRAGMA EXCEPTION_INIT(deadlock,-60); snapshot_too_old EXCEPTION; PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555); BEGIN SELECT d_next_o_id INTO st_o_id
  • 49. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P49 © 2010 Bloombase Technologies FROM district WHERE d_w_id=st_w_id AND d_id=st_d_id; SELECT COUNT(DISTINCT (s_i_id)) INTO stock_count FROM order_line, stock WHERE ol_w_id = st_w_id AND ol_d_id = st_d_id AND (ol_o_id < st_o_id) AND ol_o_id >= (st_o_id - 20) AND s_w_id = st_w_id AND s_i_id = ol_i_id AND s_quantity < threshold; COMMIT; EXCEPTION WHEN not_serializable OR deadlock OR snapshot_too_old THEN ROLLBACK; END; Delivery Stored Procedure Script CREATE OR REPLACE PROCEDURE "ORABM"."DELIVERY" ( d_w_id INTEGER, d_o_carrier_id INTEGER, timestamp IN DATE ) IS d_no_o_id INTEGER; d_d_id INTEGER; d_c_id NUMBER; d_ol_total NUMBER(6,2); current_ROWID UROWID; --WHERE CURRENT OF CLAUSE IN SPECIFICATION GAVE VERY POOR PERFORMANCE --USED ROWID AS GIVEN IN DOC CDOUG Tricks and Treats by Shahs Upadhye CURSOR c_no IS SELECT no_o_id,ROWID FROM new_order WHERE no_d_id = d_d_id AND no_w_id = d_w_id ORDER BY no_o_id ASC; not_serializable EXCEPTION; PRAGMA EXCEPTION_INIT(not_serializable,-8177); deadlock EXCEPTION; PRAGMA EXCEPTION_INIT(deadlock,-60); snapshot_too_old EXCEPTION; PRAGMA EXCEPTION_INIT(snapshot_too_old,-1555); BEGIN FOR loop_counter IN 1 .. 10 LOOP d_d_id := loop_counter; open c_no; FETCH c_no INTO d_no_o_id,current_ROWID; EXIT WHEN c_no%NOTFOUND; DELETE FROM new_order WHERE rowid = current_ROWID; close c_no; SELECT o_c_id INTO d_c_id FROM orders WHERE o_id = d_no_o_id AND o_d_id = d_d_id AND o_w_id = d_w_id; UPDATE orders SET o_carrier_id = d_o_carrier_id WHERE o_id = d_no_o_id AND o_d_id = d_d_id AND o_w_id = d_w_id; UPDATE order_line SET ol_delivery_d = timestamp WHERE ol_o_id = d_no_o_id AND ol_d_id = d_d_id AND ol_w_id = d_w_id; SELECT SUM(ol_amount) INTO d_ol_total FROM order_line
  • 50. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P50 © 2010 Bloombase Technologies WHERE ol_o_id = d_no_o_id AND ol_d_id = d_d_id AND ol_w_id = d_w_id; UPDATE customer SET c_balance = c_balance + d_ol_total WHERE c_id = d_c_id AND c_d_id = d_d_id AND c_w_id = d_w_id; COMMIT; DBMS_OUTPUT.PUT_LINE('D: ' || d_d_id || 'O: ' || d_no_o_id || 'time ' || timestamp); END LOOP; EXCEPTION WHEN not_serializable OR deadlock OR snapshot_too_old THEN ROLLBACK; END;
  • 51. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P51 © 2010 Bloombase Technologies Appendix C - Batch Process SQL Scripts Find Orders By Amount And Customer Balance and Discount Query set time off echo on feedback on autotrace off timing start select * from (select * from ORDERS, ORDER_LINE, ITEM, CUSTOMER where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID and ORDER_LINE.OL_O_ID = ORDERS.O_ID and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID and ORDER_LINE.OL_I_ID = ITEM.I_ID and ORDERS.O_W_ID = CUSTOMER.C_W_ID and ORDERS.O_D_ID = CUSTOMER.C_D_ID and ORDERS.O_C_ID = CUSTOMER.C_ID and ORDER_LINE.OL_AMOUNT > 28 and ORDER_LINE.OL_AMOUNT < 39 and CUSTOMER.C_BALANCE > 0 and CUSTOMER.C_DISCOUNT > 0.1 and CUSTOMER.C_DISCOUNT < 0.2 order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc) where ROWNUM <= 10; timing stop
  • 52. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P52 © 2010 Bloombase Technologies Find Orders By Amount Query set time off echo on feedback on autotrace off timing start select * from (select * from ORDERS, ORDER_LINE, ITEM, CUSTOMER where ORDER_LINE.OL_W_ID = ORDERS.O_W_ID and ORDER_LINE.OL_O_ID = ORDERS.O_ID and ORDER_LINE.OL_D_ID = ORDERS.O_D_ID and ORDER_LINE.OL_I_ID = ITEM.I_ID and ORDERS.O_W_ID = CUSTOMER.C_W_ID and ORDERS.O_D_ID = CUSTOMER.C_D_ID and ORDERS.O_C_ID = CUSTOMER.C_ID and ORDER_LINE.OL_AMOUNT > 28 and ORDER_LINE.OL_AMOUNT < 39 order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc) where ROWNUM <= 10; timing stop Find Customer By Name Query set time off echo on feedback on autotrace off timing start select * from (select * from CUSTOMER where CUSTOMER.C_LAST like 'E%' and CUSTOMER.C_FIRST like 'E%' order by CUSTOMER.C_LAST asc, CUSTOMER.C_FIRST asc) where ROWNUM <= 10; timing stop Find Items Under Stock Query set time off echo on feedback on autotrace off timing start select * from (select * from STOCK, ITEM, WAREHOUSE where STOCK.S_I_ID = ITEM.I_ID and STOCK.S_W_ID = WAREHOUSE.W_ID and S_QUANTITY < 10 order by WAREHOUSE.W_NAME asc) where ROWNUM <= 10; timing stop
  • 53. Performance Benchmarks for Bloombase Spitfire StoreSafe Security Server for Microsoft Windows P53 © 2010 Bloombase Technologies Update Order Line By Amount Query set time off echo on feedback on autotrace off timing start update ORDER_LINE set OL_DIST_INFO = OL_DIST_INFO where OL_AMOUNT > 18 and OL_AMOUNT < 19 timing stop