Selecting the computing environment today for commercial applications is not a simple act of selecting a single vendor who would provide the hardware, the operating system and a choice of one or two different database management systems. In the selection of a computing environment today, the user's view is increasingly getting a higher value, as wide sections of the organization are getting exposed to the computerized system. The end-user today, besides operating the application developed, is also capable of small-scale customizations to suit the local needs. In other words, in a typical multi-user commercial application scenario, a majority of the users would be using some of the popular features of DBMS. This would mean that selecting a proper DBMS for an organization is indeed a very crucial decision. Subsequently, other features of the DBMS could be identified and selected.
A Relational Database Management System (RDBMS) is required to handle the data processing requirements of the units. Features to look for while selecting a proper RDBMS are categorized under the following heads:
- Basic architecture and general facilities
- Database administration features
- Interoperability
- User interface
- Productivity tools
- Programming facility
- Platform and hardware resource requirement
- Manpower & training
- Pricing policy
Basic Architecture and facilities
The RDBMS should support client server architecture, both on a single host environment and in LAN environment. It is preferred that a single multithreaded server process caters to a user's need, communicating with his / her client process.
The database should provide a mechanism to define transactions & should also provide an efficient transaction-processing environment.
It should support mechanisms by which integrity rules like referential and null integrity on the database can be defined. Manipulation of data in the database should always be in line with the rules defined for the database.
It should support concurrence control & deadlock handling. The lock management should work in the defined granularity & should have the capability to escalate automatically to higher resource levels to ensure to ensure better performance.
It should have an intelligent query optimizer.
It should have a high user base & established product support facilities in the country.
Sufficient & lucid documentation should be available both on-line & in printed media.
It should provide standard data types including 'binary' & user defined data types.
It should support database triggers, stored procedures, remote procedure calls & database mirroring.
Database Administration Features
The RDBMS should:
Support on-line backup & restore facilities
Support automatic recovery ensuring data integrity & consistency till the last completed transaction.
Support proper two phase commit & commit with deferred write in the actual database.
Support check pointing & facility to roll forward to the last completed transaction.
Have consistent error reporting at every stage, & a mechanism for logging such errors
Have on-line performance monitors, the results from which could be used to tune performance by setting / configuring installation parameters
Have comprehensive audit training facility
Support authority allotment mechanism to different users (The levels to which authority can be given should also have data viewing capability. Authority level fixing to the user for executing stored procedure should be available.)
Have capability to provide effective & integrated data dictionary of the database.
Be able to spread database support across disks & file systems
Support products, which can create, shadow copies of databases or database segments (The copies should automatically synchronize with the master database at predefined intervals.)
It should provide a mechanism for exchanging data between different locations
It should provide a mechanism for building a distributed database with dissimilar RDBMS.
It should support independent third party 4GLs or tool sets either in the same host, or in a client server environment.
It should support embedded static, dynamic & extended dynamic SQL conforming to ANSI X3: 135, 1992.
It should be available in diverse operating systems & hardware combinations. It should provide source level portability from one operating environment to another as diverse as DOS based PCs & proprietary OS based mainframes.
It should support data exchange.
User interface
In the client server mode, the tool set in the client environment enhances the usability of a database. The strength of the database management system should not only be based on its own client tool set, but also on the basis of third party tools available with it.
The RDBMS should support various standard windowing software and graphic user interface connectivity in a client server environment.
It should provide assistance & context sensitive help to guide a new user to make adhoc queries or reports.
It should support tools like spreadsheet, business graphics etc.
Productive tools
The RDBMS should possess the following features:
Support of a versatile report writer, which can generate various kinds of flexible report formats.
Ability to generate reports through step by step menu driven assistance
Ability to generate executable code from the report writer
Support of extensive text formatting functions
Support of stored procedures developed using 4GL or high level language interfaces, either from SQL, other 4GLs or report writers
Provision of source level porting of report writer programs from one environment to another.
Support of at least one versatile 4GL which, in addition to common non-procedural constructs, support some of the control handles like loop, exit, etc., & can accommodate stored procedures.
Support of a versatile screen painter with multiple tables, default screens & help window options
Support of integrated CASE tools with application documentation facility is an added advantage
Automatic integrity & creation capability with the design incorporated in CASE tools
Support of multiple kinds of triggers, which can be a stored procedure & fired on the occurrence of an event.
No comments:
Post a Comment