Who has your data? SQL or ISAM? Increasingly, customers are demanding that their
application data be maintained in accessible SQL databases. As more and more
companies consolidate their data into single, enterprise-wide databases, data
marts and data warehouses they seek the benefit of having easily accessible data
about customers, products, production data and much more. Accessible databases
allow for business intelligence, reporting and integration that might not
otherwise be possible.
This demand for standardized databases and
centralized access requires database servers that are responsive and scalable
with near zero latency for extracting and manipulating data. In addition,
concern over 24 by 7 data availability puts pressure on IT departments to
insist on standardized databases that comply with industry-standard disaster
recovery and high availability solutions.
A Relational Database Management System (RDBMS) based on Structured
Query Language (SQL) is regarded as the industry standard for data storage
while XML is often viewed as an industry standard for data transport. Application integration, business
intelligence and virtualization are all simplified when industry standard
databases are utilized. Not for any inherently technical reason, but simply
because vendors can develop these needed solutions based on commonly accepted
standards. This may seem like a circular argument, SQL should be a standard
because it is a standard, but this is in essence the reality.
Rightly or wrongly, Indexed Sequential Access
Method (ISAM) data is often viewed as outdated and non-compliant. Independent
Software Vendors (ISV) that fail to offer products that comply with these
perceptions may suffer in the marketplace. In addition, enterprises that run
applications with ISAM databases may be perceived as non-compliant with
industry best practice and can be cited for this in IT, risk management and
security audits.
Market perceptions aside, migrating a flat file or
Btrieve type application to the Magic xpa Application Platform using a SQL
database can deliver an organization numerous benefits. Structured Query Language (SQL) databases
provide an enterprise class data platform for use in business applications.
Most developers would agree that SQL databases are preferred for
enterprise-class business applications developed on the Magic xpa Application
Platform. Why?
SQL provides: a more robust data functionality to
support business requirements such as OLTP and data warehousing; higher levels
of security for mission-critical applications; the ability to apply business
rules from within the database; and support for increased levels of transaction
activity.
Because SQL is a popular concept used in databases
such as MS-SQL, DB2 and Oracle databases, it is widely supported by a variety
of data management, business applications, reporting and business intelligence
tools. Not only are connections to other systems simplified, applications built
on SQL are more future-proof than other applications. Standardization on SQL
makes it easier for an organization to manage its data regardless of its use
context. Because SQL can incorporate logical transactions at the database
level, use of stored procedures, and an object-oriented methodology, it is
often viewed as a superior choice for all sizes and types of applications.
SQL databases benefit from a wide variety of advanced
solutions for data security that are readily available, highly sophisticated
and ultimately secure. Identity management, idempotence and overall control
over information access is enhanced through SQL across the full range of enterprise
systems.
In general, SQL is better suited to very large
database sizes and maintains a higher degree of transactional integrity and
operational reliability. In other words, it is less likely to crash. Data
integrity can be maintained on the database level and metadata is more easily
tracked for purposes such as audit logs.
Am I saying that ISAM approaches are inferior in every way? No. Cost is a factor. While there are costs associated with most SQL
databases, there are also express or light versions of SQL databases available
for more cost-sensitive applications. ISAM is sometimes faster when you know what you're looking for. Having said this, processing times have advanced, disk latency is reduced, and in-memory storage (aka Big Data) is an increasing trend. Furthermore, what ISAM gains it often gives back due to greater bandwidth requirements.
For these and many other reasons, most Magic xpa Application Platform installations
rely upon SQL as their primary database, in part because SQL can deliver
database level functionality not inherent to other approaches.
- Sequence and identity mechanisms are included in SQL databases for better multi-user application functionality.
- SQL statements provide functionality for better application maintenance such as version updates, updated field definitions, table structure conversions, and added fields and indexes.
- The Where clause is a powerful feature of SQL databases that allows for advanced filtering.
Many believe
that the relational model
for data storage and retrieval has proven to be superior at handling large
amounts of data and turning that data into useful information without requiring
special programming techniques. The reason for that superiority is the Structured
Query Language (SQL). This relatively simple language allows complex data
manipulation using only a few simple commands. This is particularly true as the
information stored in databases increasingly combines both structured and
unstructured information and searches often need to be made across multiple
fields and tables rather than searches within a specific field of a specific
table.
Migrating applications from ISAM to SQL is not
without costs, but the benefits are numerous:
·
Changed Perceptions. Applications that are SQL
based are perceived as industry-standard, compliant and reliable. Customer
acceptance and audit compliance is improved.
·
Application Performance. Use of stored procedures
can take some of the performance burden off of your application servers. In
large and complex applications this can improve overall responsiveness and
reliability.
·
Complex Searches. Complex searches perform better
in SQL databases. In general, SQL databases are faster to benefit from performance
enhancements in underlying architecture and processing improvements because
they are supported by major players in the software industry.
·
Data Security. Numerous data security, disaster
recovery and high availability tools are available for SQL databases to more
easily help these databases achieve data security objectives of an
organization.
Once migrated, Magic xpa Application Platform makes
working with SQL much easier that in other programming approaches:
Declarative Logic. The declarative logic
capabilities of Magic's technology simplify the implementation and maintenance
of complex user interfaces and dynamic data handling. Declarative logic
patterns allow developers to define what they want to achieve rather than how
the technology should implement it.
Developers bind properties to complex rules,
containing dependencies on multiple data elements and properties. The
application engine maintains a hierarchy of dependencies and automatically
recomputes these properties when the rules apply, in a similar way to a
spreadsheet.
Platform Approach Leverages Metadata. Magic xpa
Application Platform enables developers to avoid technological complexities and
achieve the greatest possible agility and productivity. With metadata
platforms, the application logic is defined using properties, rules, and
configuration that are stored in a central repository, which contains all
application definitions, including business logic, forms, and data handling for
the SQL database(s). As the metadata is platform-independent, the native
metadata engine, which is available on multiple server and client platforms,
can run the same application, regardless of the underlying technology or
architecture.
Because metadata development is highly structured
and code-free, it reduces the development and deployment. By using a central
repository, project governance is strictly enforced, regardless of its
complexity, allowing applications developed by large teams to be maintained
easily. Database meta-data can be defined and maintained throughout the Data
repository. Every modification to the Data repository can be synchronized with
the underlying database, assuming that the Change Tables in Studio setting is
checked in the property sheet of the selected database.
DBMS Transparency. The native gateways of the
various SQL databases automatically translate every visual definition of the
logical data view into an SQL script tailored for the specification of the
underlying database.
This enables the developer to develop business
applications using a high level data definition and, at any time, automatically
switch from one database to the other and have the native gateway that Magic
xpa provides adapt the application to the new database.
Direct SQL Script. In addition to the high level
visual definition of specific data views of each task, the developer may choose
to retrieve data by directly defining an explicit SQL script. Magic xpa assists
the developer by providing a generator to construct the SQL script.
As you consider the benefits of your application
migration, upgrading your application to take advantage of SQL looms large
among the benefits available when modernizing applications.