The Yard Relational Database System
Manufacturer: Yard GmbH
Price: $490 US (5 user license)
Reviewer: Fred Butzen
I am a relative newcomer to Linux, having used it for about three years. In that time, I have been impressed by the creativeness of the Linux community, and its dedication to Linux.
Having caught the fever myself, I find myself telling my acquaintances in business about Linux and what it can do for them. Some are willing to listen and will use Linux for some narrowly defined tasks, such as a firewall. Most, however, are reluctant to use Linux as a part of their core operation. This is due in part to a reluctance to entrust their businesses to a free operating system—“free” somehow implying cheap or inferior. But a large part of the reluctance, I've found, is due to a seeming lack of applications that run under Linux.
In particular, the fact that none of the “big three” relational database packages are available in Linux editions is a serious problem for many business people. As businesses come to depend upon relational databases for managing their day-to-day operation, having a robust relational database management system (RDBMS) available is crucial to selling an operating system to business people.
Fortunately, a solution to this problem exists if one is willing to consider software written somewhere other than northern California. Many companies in Canada and Europe now offer their products with Linux support, and some of those products offer much of the functionality of better known products at a fraction of the price. One such product is the Yard RDBMS.
Yard is an RDBMS package that is published by Yard GmbH of Cologne, Germany. The Yard package includes the following:
Utilities for monitoring and managing the engine
ODBC drivers and libraries for Windows 3.1, Windows 95 and Windows NT
ESQL-C library: with this package, you can write C programs that have SQL statements embedded within them.
X Window System-based tool for interrogating the database: this tool uses a point-and-click method for interacting with a database. With it, a user who has no knowledge of SQL can build queries and interrogate the database.
Tools for building a CGI interface to a database
Yard is a fully featured RDBMS. Its SQL engine includes the following features:
Full implementation of the SQL-2 standard
Stored procedures, implemented using the stored-procedure language described in the draft SQL-3 standard of August 1994
Triggers, implemented as described in the draft SQL-3 standard
Advanced data types, including VARCHAR, TEXT and BLOB (binary large object)
A rich set of functions, including mathematical functions, date functions, string-manipulation functions and user-customized functions
Methods for enforcing domain integrity and referential integrity
Support for locale-specific data, including the use of national character sets for sorting, display of date and time and display of money
Physical and logical logging
Yard uses a standard client/server interface: the SQL engine services requests from client processes that are running either locally or on networked systems. Local requests are received via pipes; network requests are received via sockets. Client processes can use a number of protocols to exchange data with the engine: ODBC, JDBC, ESQL-C, etc.
When you install Yard, you must define one or more database systems (DBS). Each DBS has its own shared-memory segment that is used by every user who is working with that DBS, and one or more database spaces, each of which is a chunk of disk that holds data. Yard's method of managing system resources closely resembles that of major commercial relational database packages; if you are familiar with Informix OnLine, you will feel at home working with Yard.
Each of Yard's database spaces is a statically allocated portion of disk. Usually, a database space is a part of a raw disk partition—one that does not have a file system on it. A database space can also be a file, although this is discouraged.
The system administrator must use a fairly complex formula to compute just how much disk space to allocate to a given database space. This formula includes the number and size of the physical and logical logs, the number of users, the number of tables and the estimated extent of each table.
The administrator can dictate the database space used by individual tables within a database. By estimating the frequency with which individual tables will have to be accessed, the administrator can balance disk I/O across all of the devices that hold a given database and thus ensure transactions are processed as quickly as possible.
As you can see, Yard is a serious package. To see it at its best requires serious hardware—preferably a machine with lots of memory, cycles to burn and multiple SCSI disks. It also requires an administrator who knows databases, UNIX and hardware and who can devote a significant portion of her time to monitoring and managing the database.
Pick up any e-commerce web or mobile app today, and you’ll be holding a mashup of interconnected applications and services from a variety of different providers. For instance, when you connect to Amazon’s e-commerce app, cookies, tags and pixels that are monitored by solutions like Exact Target, BazaarVoice, Bing, Shopzilla, Liveramp and Google Tag Manager track every action you take. You’re presented with special offers and coupons based on your viewing and buying patterns. If you find something you want for your birthday, a third party manages your wish list, which you can share through multiple social- media outlets or email to a friend. When you select something to buy, you find yourself presented with similar items as kind suggestions. And when you finally check out, you’re offered the ability to pay with promo codes, gifts cards, PayPal or a variety of credit cards.Get the Guide