Database Concepts  «Prev  Next»

Lesson 3 Common database systems
Objective Identify common database solutions.

Common Database Systems

One of the many important considerations you will have to make when planning your Web application is deciding which database management system you will use. As with most things, there are different database systems for different uses and with different capabilities.

Things to consider

The following items need to be considered when making a decision on the purchase of a new RDBMS (relational database management system)
  1. Number of expected users
  2. Storage capacity
  3. Cost
  4. Efficiency
  5. Will the database system support your needs now and is it scaleable for the future?

Internet or Intranet Application
  • Will the site support a workgroup or corporate intranet?
  • Will the site be available to the global Internet?
Here is an elaboration of each point, along with additional considerations to address when acquiring an RDBMS as a solutions provider:
  1. Number of Expected Users
    • Elaboration:
      • Determine the maximum number of concurrent users the database will need to support. Consider peak loads, as performance can degrade significantly if the RDBMS cannot handle the demand.
      • Understand the type of users (e.g., read-heavy vs. write-heavy operations) and their access patterns.
      • Choose a database solution with built-in features for connection pooling, load balancing, and user authentication management.
  2. Storage Capacity
    • Elaboration:
      • Assess the current size of your data and project future growth over several years.
      • Include additional space requirements for indexes, logs, backups, and temporary files.
      • Consider database solutions that support flexible storage configurations, such as dynamic resizing or cloud storage integrations.
      • Evaluate support for large data files or partitions if working with big data.
  3. Cost
    • Elaboration:
      • Analyze both upfront costs (licenses, hardware, installation) and recurring costs (maintenance, support, cloud subscription fees).
      • Consider additional expenses such as training, consulting, and the cost of potential downtime during implementation.
      • Compare the total cost of ownership (TCO) of on-premises vs. cloud-based RDBMS solutions.
      • Assess whether a free or open-source RDBMS (like PostgreSQL or MySQL) can meet your requirements.
  4. Efficiency
    • Elaboration:
      • Look at performance metrics such as query execution speed, transaction throughput, and response times under different workloads.
      • Evaluate the RDBMS's ability to optimize resources (CPU, memory, disk I/O) and support features like query optimization, indexing, and caching.
      • Determine how efficiently the RDBMS handles concurrent operations, deadlocks, and locking mechanisms.
      • Consider tools or features that monitor and tune database performance (e.g., query analyzers).
  5. Scalability and Future Needs
    • Elaboration:
      • Assess whether the database supports vertical scalability (upgrading hardware) and horizontal scalability (adding more servers or clusters).
      • Ensure the RDBMS can accommodate future growth in data volume, user base, and functionality.
      • Investigate whether the RDBMS supports integration with modern technologies, such as microservices, NoSQL, or hybrid cloud environments.
      • Look for vendor roadmaps or ongoing development that aligns with your long-term strategy.

Additional Considerations:
  1. Security and Compliance
    • Evaluate the RDBMS's ability to enforce robust security measures, such as encryption, role-based access control, and audit logs.
    • Ensure compliance with industry standards (e.g., GDPR, HIPAA, PCI-DSS) and regulatory requirements.
  2. Disaster Recovery and Backup
    • Assess the RDBMS’s native tools for backup and recovery, including support for point-in-time recovery and replication.
    • Consider high availability (HA) features, such as failover clustering, active-active/active-passive replication, and disaster recovery across regions.
  3. Compatibility and Integration
    • Ensure the RDBMS is compatible with your existing infrastructure (OS, middleware, applications).
    • Evaluate integration with other tools and technologies, such as business intelligence (BI), ETL pipelines, and analytics platforms.
  4. Vendor Support and Community
    • Check the availability and responsiveness of vendor support.
    • Investigate whether the RDBMS has an active community or ecosystem for plugins, documentation, and troubleshooting.
  5. Customizability and Extensibility
    • Assess whether the RDBMS allows for custom functions, stored procedures, and extensions.
    • Look at API support and SDKs for custom application development.
  6. Migration and Portability
    • Analyze the complexity and cost of migrating from your current system to the new RDBMS.
    • Ensure the database system supports interoperability and export options for future migrations.
  7. Latency and Geographic Distribution
    • For distributed or cloud environments, evaluate how the RDBMS handles latency and global data replication.
    • Consider features like geo-partitioning or multi-region deployment for global applications.
  8. Community and Documentation
    • Investigate the quality and availability of official documentation, training resources, and forums.
    • Verify the RDBMS has sufficient third-party support in terms of consulting and tutorials.
  9. Licensing Model
    • Review the licensing model (per-core, per-user, or enterprise-wide).
    • Be aware of licensing restrictions for multi-cloud or hybrid deployments.
  10. Analytics and Reporting
    • Determine whether the RDBMS supports advanced analytics, such as in-database machine learning, data visualization, or reporting tools.
    • Investigate integrations with third-party analytics platforms.

By thoroughly evaluating these points, you can select an RDBMS that aligns with your organization's technical requirements, budget constraints, and long-term goals. As a solutions provider, presenting a well-rounded analysis to stakeholders will ensure a robust and future-proof choice.

Database systems

Listed below are descriptions of several popular database systems:

Database system Description Benefits Limitations
Microsoft Access Access is Microsoft's desktop database. Easy to learn Easy to use Inexpensive Helps transition user to Microsoft SQL Server - a more sophisticated database system.
Web enabled: offers Web application wizards and HTML converters.
Only suited for small to medium applications. Access doesn't scale as well as Microsoft SQL Server, Oracle, and other enterprise database systems.
Microsoft SQL Server Microsoft SQL Server is intended for the enterprise market. Easy to set up Easy to use Version 7.0 is easier to administer. Runs on Windows 2000/XP Performance and scalability haven't been as good as Oracle and other proven enterprise database products. Version 7 addresses theseissues but is still fairly new.
Oracle Oracle is predominately used on Unix systems, but there is also a version for Windows. Very powerful and supports large databases Requires a great deal of expertise to use and manage. Expensive to operate in terms or hardware and support staff.

SEMrush Software 3 SEMrush Banner 3