Databases should be chosen to match your company’s strategy.
They are the hidden workhorses of many organizations’ IT systems, holding critical business intelligence and carrying out hundreds of thousands of transactions each day.
In many ways, the database has become a commodity. Products differ on price, performance, ease of database administration and functionality.
There is a huge choice of database management systems (DBMS), which includes Open-source, NoSQL, and Relational Database Management System (RDBMS). In order to successfully choose which DBMS is right for your project or organization, it is vital that you understand exactly what the implications are with each one.
Where your database sits within the application stack is one of the components to consider when deciding on what software to use. Applications could potentially have a multi-tiered infrastructure, and typically have at least 2 tiers.
Presentation layer: This is the topmost level of the application. The presentation layer displays information related to such services as browsing merchandise, purchasing and shopping cart contents. It communicates with other tiers by which it puts out the results to the browser/client tier and all other tiers in the network. In simple terms, it is a layer that users can access directly (such as a web page, or an operating system’s GUI). You could potentially have an entire database dedicated to housing all the data associated with logins and user configuration settings. If so, a lightweight, open-source database would be ideal. Pinning it to memory would improve customer experience by making their login process quick, and setting up their workspace pretty seamlessly.
Application tier (business logic, logic tier, or middle tier): The logical tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing. This layer typically brokers transactions between the presentation layer and the data layer. For an online retailer, for example, this would be the tier that pulls item information from the database, and presents it back to the client on the presentation layer for selecting. There is typically not a database associated with this tier.
Data tier: The data tier includes the data persistence mechanisms (database servers, file shares, etc.) and the data access layer that encapsulates the persistence mechanisms and exposes the data. The data access layer should provide an application programming interface (API) to the application tier that enables it to manage the stored data without exposing or creating dependencies on the database itself. Depending on how much data is stored in the database, and how it is used you may need a more robust database with features such as:
- Splitting the data in chunks that make sense for the use cases (partitioning),
- Defining your own data types beyond the out of the box ones
- Savepoints in your database code (nested transactions)
- Replication of data across tables and/or other databases (either synchronously or asynchronously)
- Ability to restore the database to a specific point in time
While both open-source and licensed relational databases could potentially have the advanced features, you will want to look at how easy they are to implement, and what the license and maintenance costs are.
At FlockNet we have expert Database Administrators and Developers that can help you navigate this complex world of databases. We will map your needs to the appropriate DBMS, ensuring that you are fitted with the software that is right for you. Call us today to discuss your web, software and database needs.