Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Performance tradeoffs for client-server query processing
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Optimization and execution techniques for queries with expensive methods
Optimization and execution techniques for queries with expensive methods
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From system F to typed assembly language
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Implementation of POSTGRES
IEEE Transactions on Knowledge and Data Engineering
Starburst Mid-Flight: As the Dust Clears
IEEE Transactions on Knowledge and Data Engineering
Inclusion of New Types in Relational Data Base Systems
Proceedings of the Second International Conference on Data Engineering
The Case for Enhanced Abstract Data Types
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
A Performance Study of Query Optimization Algorithms on a Database System Supporting Procedures
VLDB '88 Proceedings of the 14th International Conference on Very Large Data Bases
Java Security: From HotJava to Netscape and Beyond
SP '96 Proceedings of the 1996 IEEE Symposium on Security and Privacy
Implementing multiple protection domains in java
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
JRes: a resource accounting interface for Java
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
SIGMOD '99 Proceedings of the 1999 ACM SIGMOD international conference on Management of data
Principals in programming languages: a syntactic proof technique
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
MOCHA: a self-extensible database middleware system for distributed data sources
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
Portable resource control in Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Security for Distributed E-Service Composition
TES '01 Proceedings of the Second International Workshop on Technologies for E-Services
ObjectGlobe: Ubiquitous query processing on the Internet
The VLDB Journal — The International Journal on Very Large Data Bases
Handbook of massive data sets
Luna: a flexible Java protection system
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
Hosting the .NET Runtime in Microsoft SQL server
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
Resource control for java database extensions
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Hi-index | 0.00 |
The functionality of extensible database servers can be augmented by user-defined functions (UDFs). However, the server's security and stability are concerns whenever new code is incorporated. Recently, there has been interest in the use of Java for database extensibility. This raises several questions: Does Java solve the security problems? How does it affect efficiency?We explore the tradeoffs involved in extending the PREDATOR object-relational database server using Java. We also describe some interesting details of our implementation. The issues examined in our study are security, efficiency, and portability. Our performance experiments compare Java-based extensibility with traditional alternatives in the native language of the server. We explore a variety of UDFs that differ in the amount of computation involved and in the quantity of data accessed. We also qualitatively compare the security and portability of the different alternatives. Our conclusion is that Java-based UDFs are a viable approach in terms of performance. However, there may be challenging design issues in integrating Java UDFs with existing database systems.