2.1 Architecture
For Perl applications to use Postgres as backend, two components are needed.
- Generic database Interface for Perl, DBI. This interface can be used
by all database systems, such as MySQL, DB2 etc.
- Postgres specific implementation of DBI, called DBD::Pg driver.
Both these components are essentially perl modules.
2.2 Interfaces
See the interfaces.txt file in case materials.
2.3 User Interface
N/A
2.4 Compatibility and Interoperability
2.4.1 Standards Conformance
None
2.4.2 Operating System and Platform Compatibility
N/A. For both DBD::Pg and DBI the compatibility
is same as Perl.
2.4.3 Interoperability with Sun Projects/Products
- Both DBD::Pg and DBI will be highly compatible with the
latest Perl version in Solaris.
- DBD::Pg will be built
against the latest version of Postgres binary available
in Solaris.
2.4.4 Interoperability with External Products
None
2.4.5 Coexistence with Similar Functionality
Other databse systems such as MySQL, DB2 can have their Database drivers
running on the same machine. The generic database interface (DBI) will
be useful for all such drivers.
2.4.6 Support for Multiple Concurrent Instances
Yes
2.4.7 Compatibility with Earlier and Future Releases
The DBD::Pg driver is built against the latest version of Postgres.
This driver will not work with any other postgres binaries available
on the system.
2.5 Performance and Scalability
2.5.1 Performance Goals
N/A
2.5.2 Performance Measurement
N/A
2.5.3 Scalability Limits and Potential Bottlenecks
N/A
2.5.4 Static System Behavior
The static size of the full system install is approximately 2.5 MB.
2.5.5 Dynamic System Behavior
Depends on perl limitations and its dynamic behavior.
2.6 Failure and Recovery
2.6.1 Resource Exhaustion
None
2.6.2 Software Failures
N/A. Both DBD::Pg and DBI are perl modules, hence software
failures will be taken care by Perl.
2.6.3 Network Failures
Taken care by Perl.
2.6.4 Data Integrity
Taken care by Perl.
2.6.5 State and Checkpointing
N/A.
2.6.6 Fault Detection
Taken care by Perl.
2.6.7 Fault Recovery (or Cleanup after Failure)
Taken care by Perl.
2.7 Security
Being perl modules, Both DBD::Pg and DBI rely on Perl for
all security aspects.
2.8 Software Engineering and Usability
2.8.1 Namespace Management
Both DBD::Pg and DBI does not provide any extra interfaces.
2.8.2 Dependencies on non-Standard System Interfaces
None
2.8.3 Year 2000 Compliance
N/A. Taken care by perl.
2.8.4 Internationalization (I18N)
N/A. Taken care by perl.
2.8.5 64-bit Issues
None.
2.8.6 Porting to other Platforms
N/A. Taken care by perl.
2.8.7 Accessibility
N/A. Taken care by perl.
3 Release Information
The installation process installs the files into a standard location like /usr.
There are two catogeries of files: binaries and documentation. No configuration
is involved.
3.1 Product Packaging
Both DBD::Pg and DBI will be bundled with Solaris 10. There will also be releases
available for download and manual install.
3.1.1 Package Overview
There will be 2 separate packages for DBD::Pg and DBI.
- SUNWpmdbi : for DBI.
- SUNWpmdbdpg : for DBD::Pg driver.
3.1.2 (Default) Installation Locations
/usr/perl5/vendor_perl.
The directory vendor_perl has been identified for the binaries
that will be supported. This is consistent with the current perl
structure. All the files are specific to perl, hence they live
only in perl directories.
3.1.3 Effect on External Environment
None
3.2 Installation
3.2.1 Installation procedure
Using pkgadd.
3.2.2 Effects on System Files
None.
3.2.3 Boot-Time Requirements
None.
3.2.4 Licensing
The Artistic License.
3.2.5 Upgrade
Releases are labeled in X.Y schema. X is the major version and Y is
minor version.
3.2.6 Software Removal
Using pkgrm.
3.3 System Administration
N/A. Taken care by Perl.
4 Component Name Architecture
4.1 Description
4.2 Interfaces
4.2.1 User-visible
4.2.2 Internal (optional for ARC review)
4.3 Operation
Appendix A: Standards Supported
References
R.1 Related Projects
R.2 Background Information for this Project or
its Product
R.3 Interface Specifications
R.4 Project Details
Important References for embedded comments
[1] http://sac.eng/arc/Processes/Client.Handbook/
[2] http://sac.eng/BestPractices/interface_taxonomy.txt/
[3] Motif 1.2 Style Guide (sun part no. 801-5366-10)
[4] CDE Style Guide and Certification Checklist (Sun part no. 802-1581-10)
[5] Architectural Considerations Document, http://sac.eng.sun.com/arc/ARC-Considerations.html